about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2025-03-15 13:23:42 +0100
committerRory& <root@rory.gay>2025-03-15 13:27:49 +0100
commit3d1cfde726e8b8d4f3a820cdf5fb136c2f6bea33 (patch)
treed03e21fbf68110cfe60d04a7f7a88b6a52defddd
downloadMatrixAntiDmSpam-3d1cfde726e8b8d4f3a820cdf5fb136c2f6bea33.tar.xz
Initial commit
-rw-r--r--.editorconfig1806
-rw-r--r--.gitignore5
-rw-r--r--.gitmodules3
-rw-r--r--.idea/.idea.MatrixAntiDmSpam/.idea/.gitignore13
-rw-r--r--.idea/.idea.MatrixAntiDmSpam/.idea/encodings.xml4
-rw-r--r--.idea/.idea.MatrixAntiDmSpam/.idea/indexLayout.xml8
-rw-r--r--.idea/.idea.MatrixAntiDmSpam/.idea/vcs.xml4
-rw-r--r--.idea/.idea.MatrixInviteLogger/.idea/.gitignore13
-rw-r--r--.idea/.idea.MatrixInviteLogger/.idea/encodings.xml4
-rw-r--r--.idea/.idea.MatrixInviteLogger/.idea/indexLayout.xml8
-rw-r--r--.idea/.idea.MatrixInviteLogger/.idea/vcs.xml6
m---------LibMatrix0
-rw-r--r--MatrixAntiDmSpam.sln308
-rw-r--r--MatrixAntiDmSpam.sln.DotSettings.user5
-rw-r--r--MatrixAntiDmSpam/AntiDmSpamConfiguration.cs14
-rw-r--r--MatrixAntiDmSpam/InviteHandler.cs110
-rw-r--r--MatrixAntiDmSpam/MatrixAntiDmSpam.csproj17
-rw-r--r--MatrixAntiDmSpam/PolicyListFetcher.cs27
-rw-r--r--MatrixAntiDmSpam/Program.cs16
-rw-r--r--MatrixAntiDmSpam/Properties/launchSettings.json12
-rw-r--r--MatrixAntiDmSpam/appsettings.Development.json16
-rw-r--r--MatrixAntiDmSpam/appsettings.json8
22 files changed, 2407 insertions, 0 deletions
diff --git a/.editorconfig b/.editorconfig
new file mode 100644

index 0000000..1a3cf7e --- /dev/null +++ b/.editorconfig
@@ -0,0 +1,1806 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +trim_trailing_whitespace = true +insert_final_newline = true +tab_width = 4 + +# Microsoft .NET properties +csharp_indent_braces = false +csharp_indent_switch_labels = true +csharp_new_line_before_catch = true +csharp_new_line_before_else = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = false +csharp_new_line_before_open_brace = none +csharp_new_line_between_query_expression_clauses = true +csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion +csharp_preserve_single_line_blocks = true +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false +csharp_style_expression_bodied_accessors = true:suggestion +csharp_style_expression_bodied_constructors = true:none +csharp_style_expression_bodied_methods = true:none +csharp_style_expression_bodied_properties = true:suggestion +csharp_style_namespace_declarations = file_scoped:error +csharp_style_prefer_utf8_string_literals = true:suggestion +csharp_style_var_elsewhere = true:suggestion +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion +csharp_using_directive_placement = outside_namespace:silent +dotnet_diagnostic.bc40000.severity = warning +dotnet_diagnostic.bc400005.severity = warning +dotnet_diagnostic.bc40008.severity = warning +dotnet_diagnostic.bc40056.severity = warning +dotnet_diagnostic.bc42016.severity = warning +dotnet_diagnostic.bc42024.severity = warning +dotnet_diagnostic.bc42025.severity = warning +dotnet_diagnostic.bc42104.severity = warning +dotnet_diagnostic.bc42105.severity = warning +dotnet_diagnostic.bc42106.severity = warning +dotnet_diagnostic.bc42107.severity = warning +dotnet_diagnostic.bc42304.severity = warning +dotnet_diagnostic.bc42309.severity = warning +dotnet_diagnostic.bc42322.severity = warning +dotnet_diagnostic.bc42349.severity = warning +dotnet_diagnostic.bc42353.severity = warning +dotnet_diagnostic.bc42354.severity = warning +dotnet_diagnostic.bc42355.severity = warning +dotnet_diagnostic.bc42356.severity = warning +dotnet_diagnostic.bc42358.severity = warning +dotnet_diagnostic.bc42504.severity = warning +dotnet_diagnostic.bc42505.severity = warning +dotnet_diagnostic.ca2252.severity = error +dotnet_diagnostic.cs0067.severity = warning +dotnet_diagnostic.cs0078.severity = warning +dotnet_diagnostic.cs0108.severity = warning +dotnet_diagnostic.cs0109.severity = warning +dotnet_diagnostic.cs0114.severity = warning +dotnet_diagnostic.cs0162.severity = warning +dotnet_diagnostic.cs0164.severity = warning +dotnet_diagnostic.cs0168.severity = warning +dotnet_diagnostic.cs0169.severity = warning +dotnet_diagnostic.cs0183.severity = warning +dotnet_diagnostic.cs0184.severity = warning +dotnet_diagnostic.cs0197.severity = warning +dotnet_diagnostic.cs0219.severity = warning +dotnet_diagnostic.cs0252.severity = warning +dotnet_diagnostic.cs0253.severity = warning +dotnet_diagnostic.cs0414.severity = warning +dotnet_diagnostic.cs0420.severity = warning +dotnet_diagnostic.cs0458.severity = warning +dotnet_diagnostic.cs0464.severity = warning +dotnet_diagnostic.cs0465.severity = warning +dotnet_diagnostic.cs0469.severity = warning +dotnet_diagnostic.cs0472.severity = warning +dotnet_diagnostic.cs0612.severity = warning +dotnet_diagnostic.cs0618.severity = warning +dotnet_diagnostic.cs0628.severity = warning +dotnet_diagnostic.cs0642.severity = warning +dotnet_diagnostic.cs0649.severity = warning +dotnet_diagnostic.cs0652.severity = warning +dotnet_diagnostic.cs0657.severity = warning +dotnet_diagnostic.cs0658.severity = warning +dotnet_diagnostic.cs0659.severity = warning +dotnet_diagnostic.cs0660.severity = warning +dotnet_diagnostic.cs0661.severity = warning +dotnet_diagnostic.cs0665.severity = warning +dotnet_diagnostic.cs0672.severity = warning +dotnet_diagnostic.cs0675.severity = warning +dotnet_diagnostic.cs0693.severity = warning +dotnet_diagnostic.cs1030.severity = warning +dotnet_diagnostic.cs1058.severity = warning +dotnet_diagnostic.cs1066.severity = warning +dotnet_diagnostic.cs1522.severity = warning +dotnet_diagnostic.cs1570.severity = warning +dotnet_diagnostic.cs1571.severity = warning +dotnet_diagnostic.cs1572.severity = warning +dotnet_diagnostic.cs1573.severity = warning +dotnet_diagnostic.cs1574.severity = warning +dotnet_diagnostic.cs1580.severity = warning +dotnet_diagnostic.cs1581.severity = warning +dotnet_diagnostic.cs1584.severity = warning +dotnet_diagnostic.cs1587.severity = warning +dotnet_diagnostic.cs1589.severity = warning +dotnet_diagnostic.cs1590.severity = warning +dotnet_diagnostic.cs1591.severity = warning +dotnet_diagnostic.cs1592.severity = warning +dotnet_diagnostic.cs1710.severity = warning +dotnet_diagnostic.cs1711.severity = warning +dotnet_diagnostic.cs1712.severity = warning +dotnet_diagnostic.cs1717.severity = warning +dotnet_diagnostic.cs1723.severity = warning +dotnet_diagnostic.cs1911.severity = warning +dotnet_diagnostic.cs1957.severity = warning +dotnet_diagnostic.cs1981.severity = warning +dotnet_diagnostic.cs1998.severity = warning +dotnet_diagnostic.cs4014.severity = warning +dotnet_diagnostic.cs7022.severity = warning +dotnet_diagnostic.cs7023.severity = warning +dotnet_diagnostic.cs7095.severity = warning +dotnet_diagnostic.cs8073.severity = warning +dotnet_diagnostic.cs8094.severity = warning +dotnet_diagnostic.cs8123.severity = warning +dotnet_diagnostic.cs8321.severity = warning +dotnet_diagnostic.cs8383.severity = warning +dotnet_diagnostic.cs8416.severity = warning +dotnet_diagnostic.cs8417.severity = warning +dotnet_diagnostic.cs8424.severity = warning +dotnet_diagnostic.cs8425.severity = warning +dotnet_diagnostic.cs8500.severity = warning +dotnet_diagnostic.cs8509.severity = warning +dotnet_diagnostic.cs8524.severity = warning +dotnet_diagnostic.cs8597.severity = warning +dotnet_diagnostic.cs8600.severity = warning +dotnet_diagnostic.cs8601.severity = warning +dotnet_diagnostic.cs8602.severity = warning +dotnet_diagnostic.cs8603.severity = warning +dotnet_diagnostic.cs8604.severity = warning +dotnet_diagnostic.cs8605.severity = warning +dotnet_diagnostic.cs8607.severity = warning +dotnet_diagnostic.cs8608.severity = warning +dotnet_diagnostic.cs8609.severity = warning +dotnet_diagnostic.cs8610.severity = warning +dotnet_diagnostic.cs8611.severity = warning +dotnet_diagnostic.cs8612.severity = warning +dotnet_diagnostic.cs8613.severity = warning +dotnet_diagnostic.cs8614.severity = warning +dotnet_diagnostic.cs8615.severity = warning +dotnet_diagnostic.cs8616.severity = warning +dotnet_diagnostic.cs8617.severity = warning +dotnet_diagnostic.cs8618.severity = warning +dotnet_diagnostic.cs8619.severity = warning +dotnet_diagnostic.cs8620.severity = warning +dotnet_diagnostic.cs8621.severity = warning +dotnet_diagnostic.cs8622.severity = warning +dotnet_diagnostic.cs8624.severity = warning +dotnet_diagnostic.cs8625.severity = warning +dotnet_diagnostic.cs8629.severity = warning +dotnet_diagnostic.cs8631.severity = warning +dotnet_diagnostic.cs8632.severity = warning +dotnet_diagnostic.cs8633.severity = warning +dotnet_diagnostic.cs8634.severity = warning +dotnet_diagnostic.cs8643.severity = warning +dotnet_diagnostic.cs8644.severity = warning +dotnet_diagnostic.cs8645.severity = warning +dotnet_diagnostic.cs8655.severity = warning +dotnet_diagnostic.cs8656.severity = warning +dotnet_diagnostic.cs8667.severity = warning +dotnet_diagnostic.cs8669.severity = warning +dotnet_diagnostic.cs8670.severity = warning +dotnet_diagnostic.cs8714.severity = warning +dotnet_diagnostic.cs8762.severity = warning +dotnet_diagnostic.cs8763.severity = warning +dotnet_diagnostic.cs8764.severity = warning +dotnet_diagnostic.cs8765.severity = warning +dotnet_diagnostic.cs8766.severity = warning +dotnet_diagnostic.cs8767.severity = warning +dotnet_diagnostic.cs8768.severity = warning +dotnet_diagnostic.cs8769.severity = warning +dotnet_diagnostic.cs8770.severity = warning +dotnet_diagnostic.cs8774.severity = warning +dotnet_diagnostic.cs8775.severity = warning +dotnet_diagnostic.cs8776.severity = warning +dotnet_diagnostic.cs8777.severity = warning +dotnet_diagnostic.cs8794.severity = warning +dotnet_diagnostic.cs8819.severity = warning +dotnet_diagnostic.cs8824.severity = warning +dotnet_diagnostic.cs8825.severity = warning +dotnet_diagnostic.cs8846.severity = warning +dotnet_diagnostic.cs8847.severity = warning +dotnet_diagnostic.cs8851.severity = warning +dotnet_diagnostic.cs8860.severity = warning +dotnet_diagnostic.cs8892.severity = warning +dotnet_diagnostic.cs8907.severity = warning +dotnet_diagnostic.cs8947.severity = warning +dotnet_diagnostic.cs8960.severity = warning +dotnet_diagnostic.cs8961.severity = warning +dotnet_diagnostic.cs8962.severity = warning +dotnet_diagnostic.cs8963.severity = warning +dotnet_diagnostic.cs8965.severity = warning +dotnet_diagnostic.cs8966.severity = warning +dotnet_diagnostic.cs8971.severity = warning +dotnet_diagnostic.cs8981.severity = warning +dotnet_diagnostic.cs9042.severity = warning +dotnet_diagnostic.cs9073.severity = warning +dotnet_diagnostic.cs9074.severity = warning +dotnet_diagnostic.cs9080.severity = warning +dotnet_diagnostic.cs9081.severity = warning +dotnet_diagnostic.cs9082.severity = warning +dotnet_diagnostic.cs9083.severity = warning +dotnet_diagnostic.cs9084.severity = warning +dotnet_diagnostic.cs9085.severity = warning +dotnet_diagnostic.cs9086.severity = warning +dotnet_diagnostic.cs9087.severity = warning +dotnet_diagnostic.cs9088.severity = warning +dotnet_diagnostic.cs9089.severity = warning +dotnet_diagnostic.cs9090.severity = warning +dotnet_diagnostic.cs9091.severity = warning +dotnet_diagnostic.cs9092.severity = warning +dotnet_diagnostic.cs9093.severity = warning +dotnet_diagnostic.cs9094.severity = warning +dotnet_diagnostic.cs9095.severity = warning +dotnet_diagnostic.cs9097.severity = warning +dotnet_diagnostic.wme006.severity = warning +dotnet_naming_rule.constants_rule.import_to_resharper = as_predefined +dotnet_naming_rule.constants_rule.severity = warning +dotnet_naming_rule.constants_rule.style = upper_camel_case_style +dotnet_naming_rule.constants_rule.symbols = constants_symbols +dotnet_naming_rule.event_rule.import_to_resharper = as_predefined +dotnet_naming_rule.event_rule.severity = warning +dotnet_naming_rule.event_rule.style = upper_camel_case_style +dotnet_naming_rule.event_rule.symbols = event_symbols +dotnet_naming_rule.interfaces_rule.import_to_resharper = as_predefined +dotnet_naming_rule.interfaces_rule.severity = warning +dotnet_naming_rule.interfaces_rule.style = i_upper_camel_case_style +dotnet_naming_rule.interfaces_rule.symbols = interfaces_symbols +dotnet_naming_rule.locals_rule.import_to_resharper = as_predefined +dotnet_naming_rule.locals_rule.severity = warning +dotnet_naming_rule.locals_rule.style = lower_camel_case_style_1 +dotnet_naming_rule.locals_rule.symbols = locals_symbols +dotnet_naming_rule.local_constants_rule.import_to_resharper = as_predefined +dotnet_naming_rule.local_constants_rule.severity = warning +dotnet_naming_rule.local_constants_rule.style = lower_camel_case_style_1 +dotnet_naming_rule.local_constants_rule.symbols = local_constants_symbols +dotnet_naming_rule.local_functions_rule.import_to_resharper = as_predefined +dotnet_naming_rule.local_functions_rule.severity = warning +dotnet_naming_rule.local_functions_rule.style = upper_camel_case_style +dotnet_naming_rule.local_functions_rule.symbols = local_functions_symbols +dotnet_naming_rule.method_rule.import_to_resharper = as_predefined +dotnet_naming_rule.method_rule.severity = warning +dotnet_naming_rule.method_rule.style = upper_camel_case_style +dotnet_naming_rule.method_rule.symbols = method_symbols +dotnet_naming_rule.parameters_rule.import_to_resharper = as_predefined +dotnet_naming_rule.parameters_rule.severity = warning +dotnet_naming_rule.parameters_rule.style = lower_camel_case_style_1 +dotnet_naming_rule.parameters_rule.symbols = parameters_symbols +dotnet_naming_rule.private_constants_rule.import_to_resharper = as_predefined +dotnet_naming_rule.private_constants_rule.severity = warning +dotnet_naming_rule.private_constants_rule.style = upper_camel_case_style +dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols +dotnet_naming_rule.private_instance_fields_rule.import_to_resharper = as_predefined +dotnet_naming_rule.private_instance_fields_rule.severity = warning +dotnet_naming_rule.private_instance_fields_rule.style = lower_camel_case_style +dotnet_naming_rule.private_instance_fields_rule.symbols = private_instance_fields_symbols +dotnet_naming_rule.private_static_fields_rule.import_to_resharper = as_predefined +dotnet_naming_rule.private_static_fields_rule.severity = warning +dotnet_naming_rule.private_static_fields_rule.style = lower_camel_case_style +dotnet_naming_rule.private_static_fields_rule.symbols = private_static_fields_symbols +dotnet_naming_rule.private_static_readonly_rule.import_to_resharper = as_predefined +dotnet_naming_rule.private_static_readonly_rule.severity = warning +dotnet_naming_rule.private_static_readonly_rule.style = upper_camel_case_style +dotnet_naming_rule.private_static_readonly_rule.symbols = private_static_readonly_symbols +dotnet_naming_rule.property_rule.import_to_resharper = as_predefined +dotnet_naming_rule.property_rule.severity = warning +dotnet_naming_rule.property_rule.style = upper_camel_case_style +dotnet_naming_rule.property_rule.symbols = property_symbols +dotnet_naming_rule.public_fields_rule.import_to_resharper = as_predefined +dotnet_naming_rule.public_fields_rule.severity = warning +dotnet_naming_rule.public_fields_rule.style = upper_camel_case_style +dotnet_naming_rule.public_fields_rule.symbols = public_fields_symbols +dotnet_naming_rule.static_readonly_rule.import_to_resharper = as_predefined +dotnet_naming_rule.static_readonly_rule.severity = warning +dotnet_naming_rule.static_readonly_rule.style = upper_camel_case_style +dotnet_naming_rule.static_readonly_rule.symbols = static_readonly_symbols +dotnet_naming_rule.types_and_namespaces_rule.import_to_resharper = as_predefined +dotnet_naming_rule.types_and_namespaces_rule.severity = warning +dotnet_naming_rule.types_and_namespaces_rule.style = upper_camel_case_style +dotnet_naming_rule.types_and_namespaces_rule.symbols = types_and_namespaces_symbols +dotnet_naming_rule.type_parameters_rule.import_to_resharper = as_predefined +dotnet_naming_rule.type_parameters_rule.severity = warning +dotnet_naming_rule.type_parameters_rule.style = t_upper_camel_case_style +dotnet_naming_rule.type_parameters_rule.symbols = type_parameters_symbols +dotnet_naming_style.i_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.i_upper_camel_case_style.required_prefix = I +dotnet_naming_style.lower_camel_case_style.capitalization = camel_case +dotnet_naming_style.lower_camel_case_style.required_prefix = _ +dotnet_naming_style.lower_camel_case_style_1.capitalization = camel_case +dotnet_naming_style.t_upper_camel_case_style.capitalization = pascal_case +dotnet_naming_style.t_upper_camel_case_style.required_prefix = T +dotnet_naming_style.upper_camel_case_style.capitalization = pascal_case +dotnet_naming_symbols.constants_symbols.applicable_accessibilities = public, internal, protected, protected_internal, private_protected +dotnet_naming_symbols.constants_symbols.applicable_kinds = field +dotnet_naming_symbols.constants_symbols.required_modifiers = const +dotnet_naming_symbols.event_symbols.applicable_accessibilities = * +dotnet_naming_symbols.event_symbols.applicable_kinds = event +dotnet_naming_symbols.interfaces_symbols.applicable_accessibilities = * +dotnet_naming_symbols.interfaces_symbols.applicable_kinds = interface +dotnet_naming_symbols.locals_symbols.applicable_accessibilities = * +dotnet_naming_symbols.locals_symbols.applicable_kinds = local +dotnet_naming_symbols.local_constants_symbols.applicable_accessibilities = * +dotnet_naming_symbols.local_constants_symbols.applicable_kinds = local +dotnet_naming_symbols.local_constants_symbols.required_modifiers = const +dotnet_naming_symbols.local_functions_symbols.applicable_accessibilities = * +dotnet_naming_symbols.local_functions_symbols.applicable_kinds = local_function +dotnet_naming_symbols.method_symbols.applicable_accessibilities = * +dotnet_naming_symbols.method_symbols.applicable_kinds = method +dotnet_naming_symbols.parameters_symbols.applicable_accessibilities = * +dotnet_naming_symbols.parameters_symbols.applicable_kinds = parameter +dotnet_naming_symbols.private_constants_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_constants_symbols.applicable_kinds = field +dotnet_naming_symbols.private_constants_symbols.required_modifiers = const +dotnet_naming_symbols.private_instance_fields_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_instance_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.private_static_fields_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_static_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.private_static_fields_symbols.required_modifiers = static +dotnet_naming_symbols.private_static_readonly_symbols.applicable_accessibilities = private +dotnet_naming_symbols.private_static_readonly_symbols.applicable_kinds = field +dotnet_naming_symbols.private_static_readonly_symbols.required_modifiers = static, readonly +dotnet_naming_symbols.property_symbols.applicable_accessibilities = * +dotnet_naming_symbols.property_symbols.applicable_kinds = property +dotnet_naming_symbols.public_fields_symbols.applicable_accessibilities = public, internal, protected, protected_internal, private_protected +dotnet_naming_symbols.public_fields_symbols.applicable_kinds = field +dotnet_naming_symbols.static_readonly_symbols.applicable_accessibilities = public, internal, protected, protected_internal, private_protected +dotnet_naming_symbols.static_readonly_symbols.applicable_kinds = field +dotnet_naming_symbols.static_readonly_symbols.required_modifiers = static, readonly +dotnet_naming_symbols.types_and_namespaces_symbols.applicable_accessibilities = * +dotnet_naming_symbols.types_and_namespaces_symbols.applicable_kinds = namespace, class, struct, enum, delegate +dotnet_naming_symbols.type_parameters_symbols.applicable_accessibilities = * +dotnet_naming_symbols.type_parameters_symbols.applicable_kinds = type_parameter +dotnet_separate_import_directive_groups = false +dotnet_sort_system_directives_first = true +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:none +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:none +dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true:suggestion +dotnet_style_qualification_for_event = false:suggestion +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_property = false:suggestion +dotnet_style_require_accessibility_modifiers = for_non_interface_members:error +file_header_template = # ReSharper properties + + +resharper_alignment_tab_fill_style = use_spaces +resharper_align_first_arg_by_paren = false +resharper_align_linq_query = false +resharper_align_multiline_array_and_object_initializer = false +resharper_align_multiline_array_initializer = true +resharper_align_multiline_binary_patterns = false +resharper_align_multiline_ctor_init = true +resharper_align_multiline_expression_braces = false +resharper_align_multiline_implements_list = true +resharper_align_multiline_list_pattern = false +resharper_align_multiline_property_pattern = false +resharper_align_multiline_statement_conditions = true +resharper_align_multiline_switch_expression = false +resharper_align_multiline_type_argument = true +resharper_align_multiline_type_parameter = true +resharper_align_multline_type_parameter_constrains = false +resharper_align_multline_type_parameter_list = false +resharper_align_ternary = align_not_nested +resharper_align_tuple_components = false +resharper_allow_alias = true +resharper_allow_comment_after_lbrace = false +resharper_always_use_end_of_line_brace_style = false +resharper_apply_auto_detected_rules = false +resharper_apply_on_completion = false +resharper_arguments_anonymous_function = positional +resharper_arguments_literal = positional +resharper_arguments_named = positional +resharper_arguments_other = positional +resharper_arguments_skip_single = false +resharper_arguments_string_literal = positional +resharper_attribute_style = do_not_touch +resharper_autodetect_indent_settings = true +resharper_blank_lines_after_access_specifier = 0 +resharper_blank_lines_after_block_statements = 1 +resharper_blank_lines_after_case = 0 +resharper_blank_lines_after_control_transfer_statements = 0 +resharper_blank_lines_after_file_scoped_namespace_directive = 1 +resharper_blank_lines_after_imports = 1 +resharper_blank_lines_after_multiline_statements = 0 +resharper_blank_lines_after_options = 1 +resharper_blank_lines_after_start_comment = 1 +resharper_blank_lines_after_using_list = 1 +resharper_blank_lines_around_accessor = 0 +resharper_blank_lines_around_auto_property = 1 +resharper_blank_lines_around_block_case_section = 0 +resharper_blank_lines_around_class_definition = 1 +resharper_blank_lines_around_field = 1 +resharper_blank_lines_around_function_declaration = 0 +resharper_blank_lines_around_function_definition = 1 +resharper_blank_lines_around_global_attribute = 0 +resharper_blank_lines_around_invocable = 1 +resharper_blank_lines_around_local_method = 1 +resharper_blank_lines_around_multiline_case_section = 0 +resharper_blank_lines_around_namespace = 1 +resharper_blank_lines_around_other_declaration = 0 +resharper_blank_lines_around_property = 1 +resharper_blank_lines_around_razor_functions = 1 +resharper_blank_lines_around_razor_helpers = 1 +resharper_blank_lines_around_razor_sections = 1 +resharper_blank_lines_around_region = 1 +resharper_blank_lines_around_single_line_accessor = 0 +resharper_blank_lines_around_single_line_auto_property = 0 +resharper_blank_lines_around_single_line_field = 0 +resharper_blank_lines_around_single_line_function_definition = 0 +resharper_blank_lines_around_single_line_invocable = 0 +resharper_blank_lines_around_single_line_local_method = 0 +resharper_blank_lines_around_single_line_property = 0 +resharper_blank_lines_around_single_line_type = 1 +resharper_blank_lines_around_type = 1 +resharper_blank_lines_before_access_specifier = 1 +resharper_blank_lines_before_block_statements = 0 +resharper_blank_lines_before_case = 0 +resharper_blank_lines_before_control_transfer_statements = 0 +resharper_blank_lines_before_multiline_statements = 0 +resharper_blank_lines_before_single_line_comment = 0 +resharper_blank_lines_inside_namespace = 0 +resharper_blank_lines_inside_region = 1 +resharper_blank_lines_inside_type = 0 +resharper_blank_line_after_pi = true +resharper_braces_for_dowhile = required +resharper_braces_for_fixed = required +resharper_braces_for_for = not_required +resharper_braces_for_foreach = not_required +resharper_braces_for_ifelse = not_required +resharper_braces_for_lock = required +resharper_braces_for_using = required +resharper_braces_for_while = not_required +resharper_braces_redundant = true +resharper_break_template_declaration = line_break +resharper_builtin_type_apply_to_native_integer = false +resharper_can_use_global_alias = true +resharper_configure_await_analysis_mode = disabled +resharper_continuous_indent_multiplier = 1 +resharper_continuous_line_indent = single +public virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualresharper_csharp_align_multiline_argument = false +resharper_csharp_align_multiline_binary_expressions_chain = true +resharper_csharp_align_multiline_calls_chain = false +resharper_csharp_align_multiline_expression = false +resharper_csharp_align_multiline_extends_list = false +resharper_csharp_align_multiline_for_stmt = false +resharper_csharp_align_multiline_parameter = false +resharper_csharp_align_multiple_declaration = false +resharper_csharp_allow_far_alignment = true +resharper_csharp_empty_block_style = together_same_line +resharper_csharp_insert_final_newline = false +resharper_csharp_keep_blank_lines_in_code = 1 +resharper_csharp_keep_blank_lines_in_declarations = 1 +resharper_csharp_max_line_length = 180 +resharper_csharp_naming_rule.constants = AaBb +resharper_csharp_naming_rule.enum_member = AaBb +resharper_csharp_naming_rule.local_constants = aaBb +resharper_csharp_naming_rule.method_property_event = AaBb +resharper_csharp_naming_rule.other = AaBb +resharper_csharp_naming_rule.private_constants = AaBb +resharper_csharp_naming_rule.private_static_fields = _ + aaBb +resharper_csharp_naming_rule.private_static_readonly = AaBb +resharper_csharp_naming_rule.static_readonly = AaBb +resharper_csharp_new_line_before_while = false +resharper_csharp_prefer_qualified_reference = false +resharper_csharp_space_after_unary_operator = false +resharper_csharp_stick_comment = false +resharper_csharp_wrap_lines = true +resharper_cxxcli_property_declaration_braces = next_line +resharper_default_exception_variable_name = e +resharper_default_value_when_type_evident = default_literal +resharper_default_value_when_type_not_evident = default_literal +resharper_delete_quotes_from_solid_values = false +resharper_disable_blank_line_changes = false +resharper_disable_formatter = false +resharper_disable_indenter = false +resharper_disable_int_align = false +resharper_disable_line_break_changes = false +resharper_disable_line_break_removal = false +resharper_disable_space_changes = false +resharper_disable_space_changes_before_trailing_comment = false +resharper_dont_remove_extra_blank_lines = false +resharper_enable_wrapping = false +resharper_enforce_line_ending_style = false +resharper_event_handler_pattern_long = $object$On$event$ +resharper_event_handler_pattern_short = On$event$ +resharper_export_declaration_braces = next_line +resharper_expression_braces = inside +resharper_expression_pars = inside +resharper_extra_spaces = remove_all +resharper_force_attribute_style = separate +resharper_force_chop_compound_do_expression = false +resharper_force_chop_compound_if_expression = false +resharper_force_chop_compound_while_expression = false +resharper_formatter_off_tag = @formatter:off +resharper_formatter_on_tag = @formatter:on +resharper_formatter_tags_accept_regexp = false +resharper_formatter_tags_enabled = true +resharper_format_leading_spaces_decl = false +resharper_free_block_braces = next_line +resharper_function_declaration_return_type_style = do_not_change +resharper_function_definition_return_type_style = do_not_change +resharper_generator_mode = false +resharper_html_allow_far_alignment = true +resharper_html_attribute_indent = align_by_first_attribute +resharper_html_insert_final_newline = false +resharper_html_linebreak_before_elements = body, div, p, form, h1, h2, h3 +resharper_html_max_blank_lines_between_tags = 2 +resharper_html_max_line_length = 180 +resharper_html_pi_attribute_style = on_single_line +resharper_html_space_before_self_closing = false +resharper_html_wrap_lines = true +resharper_ignore_space_preservation = false +resharper_include_prefix_comment_in_indent = false +resharper_indent_access_specifiers_from_class = false +resharper_indent_aligned_ternary = true +resharper_indent_anonymous_method_block = false +resharper_indent_braces_inside_statement_conditions = true +resharper_indent_case_from_select = true +resharper_indent_child_elements = OneIndent +resharper_indent_class_members_from_access_specifiers = false +resharper_indent_comment = true +resharper_indent_export_declaration_members = true +resharper_indent_inside_namespace = true +resharper_indent_invocation_pars = inside +resharper_indent_method_decl_pars = inside +resharper_indent_nested_fixed_stmt = true +resharper_indent_nested_foreach_stmt = true +resharper_indent_nested_for_stmt = true +resharper_indent_nested_lock_stmt = true +resharper_indent_nested_usings_stmt = true +resharper_indent_nested_while_stmt = true +resharper_indent_pars = inside +resharper_indent_preprocessor_directives = none +resharper_indent_preprocessor_if = no_indent +resharper_indent_preprocessor_other = no_indent +resharper_indent_preprocessor_region = no_indent +resharper_indent_statement_pars = inside +resharper_indent_text = OneIndent +resharper_indent_typearg_angles = inside +resharper_indent_typeparam_angles = inside +resharper_indent_type_constraints = true +resharper_indent_wrapped_function_names = false +resharper_instance_members_qualify_declared_in = this_class, base_class +resharper_int_align = false +resharper_int_align_comments = false +resharper_int_align_declaration_names = false +resharper_int_align_enum_initializers = false +resharper_int_align_eq = false +resharper_int_align_fix_in_adjacent = true +resharper_keep_existing_attribute_arrangement = false +resharper_keep_existing_declaration_block_arrangement = false +resharper_keep_existing_declaration_parens_arrangement = true +resharper_keep_existing_embedded_arrangement = true +resharper_keep_existing_embedded_block_arrangement = false +resharper_keep_existing_enum_arrangement = false +resharper_keep_existing_expr_member_arrangement = true +resharper_keep_existing_invocation_parens_arrangement = true +resharper_keep_existing_list_patterns_arrangement = true +resharper_keep_existing_property_patterns_arrangement = true +resharper_keep_existing_switch_expression_arrangement = true +resharper_keep_nontrivial_alias = true +resharper_keep_user_linebreaks = true +resharper_keep_user_wrapping = true +resharper_linebreaks_around_razor_statements = true +resharper_linebreaks_inside_tags_for_elements_longer_than = 2147483647 +resharper_linebreaks_inside_tags_for_elements_with_child_elements = true +resharper_linebreaks_inside_tags_for_multiline_elements = true +resharper_linebreak_before_all_elements = false +resharper_linebreak_before_multiline_elements = true +resharper_linebreak_before_singleline_elements = false +resharper_line_break_after_colon_in_member_initializer_lists = do_not_change +resharper_line_break_after_comma_in_member_initializer_lists = false +resharper_line_break_after_init_statement = do_not_change +resharper_line_break_before_comma_in_member_initializer_lists = false +resharper_line_break_before_requires_clause = do_not_change +resharper_linkage_specification_braces = end_of_line +resharper_linkage_specification_indentation = none +resharper_local_function_body = expression_body +resharper_macro_block_begin = +resharper_macro_block_end = +resharper_max_array_initializer_elements_on_line = 10000 +resharper_max_attribute_length_for_same_line = 38 +resharper_max_enum_members_on_line = 3 +resharper_max_formal_parameters_on_line = 10000 +resharper_max_initializer_elements_on_line = 4 +resharper_max_invocation_arguments_on_line = 10000 +resharper_member_initializer_list_style = do_not_change +resharper_namespace_declaration_braces = next_line +resharper_namespace_indentation = all +resharper_nested_ternary_style = autodetect +resharper_new_line_before_catch = true +resharper_new_line_before_else = true +resharper_new_line_before_enumerators = true +resharper_normalize_tag_names = false +resharper_no_indent_inside_elements = +resharper_no_indent_inside_if_element_longer_than = 2000000 +resharper_null_checking_pattern_style = not_null_pattern +resharper_object_creation_when_type_evident = target_typed +resharper_object_creation_when_type_not_evident = explicitly_typed +resharper_old_engine = false +resharper_outdent_binary_ops = false +resharper_outdent_binary_pattern_ops = false +resharper_outdent_commas = false +resharper_outdent_dots = false +resharper_outdent_namespace_member = false +resharper_outdent_statement_labels = true +resharper_outdent_ternary_ops = false +resharper_parentheses_non_obvious_operations = none, shift, bitwise_and, bitwise_exclusive_or, bitwise_inclusive_or, bitwise +resharper_parentheses_redundancy_style = remove_if_not_clarifies_precedence +resharper_parentheses_same_type_operations = true +resharper_pi_attributes_indent = align_by_first_attribute +resharper_place_accessorholder_attribute_on_same_line = false +resharper_place_accessor_attribute_on_same_line = if_owner_is_single_line +resharper_place_comments_at_first_column = false +resharper_place_constructor_initializer_on_same_line = true +resharper_place_event_attribute_on_same_line = false +resharper_place_expr_accessor_on_single_line = if_owner_is_single_line +resharper_place_expr_method_on_single_line = if_owner_is_single_line +resharper_place_expr_property_on_single_line = if_owner_is_single_line +resharper_place_field_attribute_on_same_line = true +resharper_place_linq_into_on_new_line = true +resharper_place_method_attribute_on_same_line = false +resharper_place_namespace_definitions_on_same_line = false +resharper_place_property_attribute_on_same_line = false +resharper_place_record_field_attribute_on_same_line = if_owner_is_single_line +resharper_place_simple_case_statement_on_same_line = false +resharper_place_simple_embedded_statement_on_same_line = if_owner_is_single_line +resharper_place_simple_initializer_on_single_line = true +resharper_place_simple_list_pattern_on_single_line = true +resharper_place_simple_property_pattern_on_single_line = true +resharper_place_simple_switch_expression_on_single_line = false +resharper_place_type_attribute_on_same_line = false +resharper_place_type_constraints_on_same_line = true +resharper_prefer_explicit_discard_declaration = false +resharper_prefer_separate_deconstructed_variables_declaration = false +resharper_preserve_spaces_inside_tags = pre, textarea +resharper_qualified_using_at_nested_scope = false +resharper_quote_style = doublequoted +resharper_razor_prefer_qualified_reference = true +resharper_remove_blank_lines_near_braces = false +resharper_remove_blank_lines_near_braces_in_code = true +resharper_remove_blank_lines_near_braces_in_declarations = true +resharper_remove_this_qualifier = true +resharper_requires_expression_braces = next_line +resharper_resx_allow_far_alignment = false +resharper_resx_attribute_indent = single_indent +resharper_resx_insert_final_newline = false +resharper_resx_linebreak_before_elements = +resharper_resx_max_blank_lines_between_tags = 0 +resharper_resx_max_line_length = 2147483647 +resharper_resx_pi_attribute_style = do_not_touch +resharper_resx_space_before_self_closing = false +resharper_resx_wrap_lines = false +resharper_resx_wrap_tags_and_pi = false +resharper_resx_wrap_text = false +resharper_show_autodetect_configure_formatting_tip = true +resharper_simple_block_style = do_not_change +resharper_simple_case_statement_style = do_not_change +resharper_simple_embedded_statement_style = do_not_change +resharper_sort_attributes = false +resharper_sort_class_selectors = false +resharper_sort_usings = true +resharper_sort_usings_lowercase_first = false +resharper_spaces_around_eq_in_attribute = false +resharper_spaces_around_eq_in_pi_attribute = false +resharper_spaces_inside_tags = false +resharper_space_after_attributes = true +resharper_space_after_attribute_target_colon = true +resharper_space_after_cast = false +resharper_space_after_colon = true +resharper_space_after_colon_in_case = true +resharper_space_after_colon_in_inheritance_clause = true +resharper_space_after_comma = true +resharper_space_after_ellipsis_in_parameter_pack = true +resharper_space_after_for_colon = true +resharper_space_after_keywords_in_control_flow_statements = true +resharper_space_after_last_attribute = false +resharper_space_after_last_pi_attribute = false +resharper_space_after_operator_keyword = true +resharper_space_after_operator_not = false +resharper_space_after_ptr_in_data_member = true +resharper_space_after_ptr_in_data_members = false +resharper_space_after_ptr_in_method = true +resharper_space_after_ptr_in_nested_declarator = false +resharper_space_after_ref_in_data_member = true +resharper_space_after_ref_in_data_members = false +resharper_space_after_ref_in_method = true +resharper_space_after_semicolon_in_for_statement = true +resharper_space_after_ternary_colon = true +resharper_space_after_ternary_quest = true +resharper_space_after_triple_slash = true +resharper_space_after_type_parameter_constraint_colon = true +resharper_space_around_additive_op = true +resharper_space_around_alias_eq = true +resharper_space_around_assignment_op = true +resharper_space_around_assignment_operator = true +resharper_space_around_deref_in_trailing_return_type = true +resharper_space_around_lambda_arrow = true +resharper_space_around_member_access_operator = false +resharper_space_around_relational_op = true +resharper_space_around_shift_op = true +resharper_space_around_stmt_colon = true +resharper_space_around_ternary_operator = true +resharper_space_before_array_rank_parentheses = false +resharper_space_before_attribute_target_colon = false +resharper_space_before_checked_parentheses = false +resharper_space_before_colon = false +resharper_space_before_colon_in_case = false +resharper_space_before_colon_in_inheritance_clause = true +resharper_space_before_comma = false +resharper_space_before_default_parentheses = false +resharper_space_before_ellipsis_in_parameter_pack = false +resharper_space_before_empty_invocation_parentheses = false +resharper_space_before_empty_method_parentheses = false +resharper_space_before_for_colon = true +resharper_space_before_initializer_braces = false +resharper_space_before_invocation_parentheses = false +resharper_space_before_label_colon = false +resharper_space_before_lambda_parentheses = false +resharper_space_before_method_parentheses = false +resharper_space_before_nameof_parentheses = false +resharper_space_before_new_parentheses = false +resharper_space_before_nullable_mark = false +resharper_space_before_open_square_brackets = false +resharper_space_before_pointer_asterik_declaration = false +resharper_space_before_postfix_operator = false +resharper_space_before_ptr_in_abstract_decl = false +resharper_space_before_ptr_in_data_member = false +resharper_space_before_ptr_in_data_members = true +resharper_space_before_ptr_in_method = false +resharper_space_before_ref_in_abstract_decl = false +resharper_space_before_ref_in_data_member = false +resharper_space_before_ref_in_data_members = true +resharper_space_before_ref_in_method = false +resharper_space_before_semicolon = false +resharper_space_before_semicolon_in_for_statement = false +resharper_space_before_singleline_accessorholder = true +resharper_space_before_sizeof_parentheses = false +resharper_space_before_template_args = false +resharper_space_before_template_params = true +resharper_space_before_ternary_colon = true +resharper_space_before_ternary_quest = true +resharper_space_before_trailing_comment = true +resharper_space_before_typeof_parentheses = false +resharper_space_before_type_argument_angle = false +resharper_space_before_type_parameter_angle = false +resharper_space_before_type_parameter_constraint_colon = true +resharper_space_before_type_parameter_parentheses = true +resharper_space_between_accessors_in_singleline_property = true +resharper_space_between_attribute_sections = true +resharper_space_between_closing_angle_brackets_in_template_args = false +resharper_space_between_keyword_and_expression = true +resharper_space_between_keyword_and_type = true +resharper_space_between_method_call_empty_parameter_list_parentheses = false +resharper_space_between_method_call_name_and_opening_parenthesis = false +resharper_space_between_method_call_parameter_list_parentheses = false +resharper_space_between_method_declaration_empty_parameter_list_parentheses = false +resharper_space_between_method_declaration_name_and_open_parenthesis = false +resharper_space_between_method_declaration_parameter_list_parentheses = false +resharper_space_between_parentheses_of_control_flow_statements = false +resharper_space_between_square_brackets = false +resharper_space_between_typecast_parentheses = false +resharper_space_in_singleline_accessorholder = true +resharper_space_in_singleline_anonymous_method = true +resharper_space_in_singleline_method = true +resharper_space_near_postfix_and_prefix_op = false +resharper_space_within_array_initialization_braces = false +resharper_space_within_array_rank_empty_parentheses = false +resharper_space_within_array_rank_parentheses = false +resharper_space_within_attribute_angles = false +resharper_space_within_checked_parentheses = false +resharper_space_within_declaration_parentheses = false +resharper_space_within_default_parentheses = false +resharper_space_within_empty_braces = true +resharper_space_within_empty_initializer_braces = false +resharper_space_within_empty_invocation_parentheses = false +resharper_space_within_empty_method_parentheses = false +resharper_space_within_empty_template_params = false +resharper_space_within_expression_parentheses = false +resharper_space_within_initializer_braces = false +resharper_space_within_invocation_parentheses = false +resharper_space_within_method_parentheses = false +resharper_space_within_nameof_parentheses = false +resharper_space_within_new_parentheses = false +resharper_space_within_parentheses = false +resharper_space_within_single_line_array_initializer_braces = true +resharper_space_within_sizeof_parentheses = false +resharper_space_within_slice_pattern = true +resharper_space_within_template_args = false +resharper_space_within_template_params = false +resharper_space_within_tuple_parentheses = false +resharper_space_within_typeof_parentheses = false +resharper_space_within_type_argument_angles = false +resharper_space_within_type_parameter_angles = false +resharper_space_within_type_parameter_parentheses = false +resharper_special_else_if_treatment = true +resharper_static_members_qualify_members = none +resharper_static_members_qualify_with = declared_type +resharper_support_vs_event_naming_pattern = true +resharper_t4_allow_far_alignment = false +resharper_t4_insert_final_newline = false +resharper_t4_max_line_length = 180 +resharper_t4_wrap_lines = true +resharper_toplevel_function_declaration_return_type_style = do_not_change +resharper_toplevel_function_definition_return_type_style = do_not_change +resharper_trailing_comma_in_multiline_lists = false +resharper_trailing_comma_in_singleline_lists = false +resharper_use_continuous_indent_inside_initializer_braces = false +resharper_use_continuous_indent_inside_parens = true +resharper_use_continuous_line_indent_in_expression_braces = false +resharper_use_continuous_line_indent_in_method_pars = false +resharper_use_indents_from_main_language_in_file = true +resharper_use_indent_from_previous_element = true +resharper_use_indent_from_vs = false +resharper_use_roslyn_logic_for_evident_types = false +public virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualresharper_wrap_after_binary_opsign = true +resharper_wrap_after_declaration_lpar = false +resharper_wrap_after_dot = false +resharper_wrap_after_dot_in_method_calls = false +resharper_wrap_after_expression_lbrace = true +resharper_wrap_after_invocation_lpar = false +resharper_wrap_arguments_style = wrap_if_long +resharper_wrap_around_elements = true +resharper_wrap_array_initializer_style = wrap_if_long +resharper_wrap_base_clause_style = wrap_if_long +resharper_wrap_before_arrow_with_expressions = false +resharper_wrap_before_binary_opsign = false +resharper_wrap_before_binary_pattern_op = true +resharper_wrap_before_colon = false +resharper_wrap_before_comma = false +resharper_wrap_before_comma_in_base_clause = false +resharper_wrap_before_declaration_lpar = false +resharper_wrap_before_declaration_rpar = false +resharper_wrap_before_eq = false +resharper_wrap_before_expression_rbrace = true +resharper_wrap_before_extends_colon = false +resharper_wrap_before_first_type_parameter_constraint = false +resharper_wrap_before_invocation_lpar = false +resharper_wrap_before_invocation_rpar = false +resharper_wrap_before_linq_expression = false +resharper_wrap_before_ternary_opsigns = true +resharper_wrap_before_type_parameter_langle = false +resharper_wrap_braced_init_list_style = wrap_if_long +resharper_wrap_chained_binary_expressions = wrap_if_long +resharper_wrap_chained_binary_patterns = wrap_if_long +resharper_wrap_chained_method_calls = wrap_if_long +resharper_wrap_ctor_initializer_style = wrap_if_long +resharper_wrap_enumeration_style = chop_if_long +resharper_wrap_enum_declaration = chop_always +resharper_wrap_extends_list_style = wrap_if_long +resharper_wrap_for_stmt_header_style = chop_if_long +resharper_wrap_list_pattern = wrap_if_long +resharper_wrap_multiple_declaration_style = chop_if_long +resharper_wrap_multiple_type_parameter_constraints_style = chop_if_long +resharper_wrap_object_and_collection_initializer_style = chop_if_long +resharper_wrap_parameters_style = wrap_if_long +resharper_wrap_property_pattern = chop_if_long +resharper_wrap_switch_expression = chop_always +resharper_wrap_ternary_expr_style = chop_if_long +resharper_wrap_verbatim_interpolated_strings = no_wrap +resharper_xmldoc_allow_far_alignment = false +resharper_xmldoc_attribute_indent = single_indent +resharper_xmldoc_insert_final_newline = false +resharper_xmldoc_linebreak_before_elements = summary, remarks, example, returns, param, typeparam, value, para +resharper_xmldoc_max_blank_lines_between_tags = 0 +resharper_xmldoc_max_line_length = 180 +resharper_xmldoc_pi_attribute_style = do_not_touch +resharper_xmldoc_space_before_self_closing = true +resharper_xmldoc_wrap_lines = true +resharper_xmldoc_wrap_tags_and_pi = true +resharper_xmldoc_wrap_text = true +resharper_xml_allow_far_alignment = false +resharper_xml_attribute_indent = align_by_first_attribute +resharper_xml_insert_final_newline = false +resharper_xml_linebreak_before_elements = +resharper_xml_max_blank_lines_between_tags = 2 +resharper_xml_max_line_length = 180 +resharper_xml_pi_attribute_style = do_not_touch +resharper_xml_space_before_self_closing = true +resharper_xml_wrap_lines = true +resharper_xml_wrap_tags_and_pi = true +resharper_xml_wrap_text = false + +# ReSharper inspection severities +resharper_access_rights_in_text_highlighting = warning +resharper_access_to_disposed_closure_highlighting = warning +resharper_access_to_for_each_variable_in_closure_highlighting = warning +resharper_access_to_modified_closure_highlighting = warning +resharper_access_to_static_member_via_derived_type_highlighting = warning +resharper_address_of_marshal_by_ref_object_highlighting = warning +resharper_angular_html_banana_highlighting = warning +resharper_annotate_can_be_null_parameter_highlighting = none +resharper_annotate_can_be_null_type_member_highlighting = none +resharper_annotate_not_null_parameter_highlighting = none +resharper_annotate_not_null_type_member_highlighting = none +resharper_annotation_conflict_in_hierarchy_highlighting = warning +resharper_annotation_redundancy_at_value_type_highlighting = warning +resharper_annotation_redundancy_in_hierarchy_highlighting = warning +resharper_anonymous_object_destructuring_problem_highlighting = warning +resharper_arguments_style_anonymous_function_highlighting = none +resharper_arguments_style_literal_highlighting = none +resharper_arguments_style_named_expression_highlighting = none +resharper_arguments_style_other_highlighting = none +resharper_arguments_style_string_literal_highlighting = none +resharper_arrange_attributes_highlighting = none +resharper_arrange_default_value_when_type_evident_highlighting = suggestion +resharper_arrange_default_value_when_type_not_evident_highlighting = hint +resharper_arrange_local_function_body_highlighting = none +resharper_arrange_null_checking_pattern_highlighting = hint +resharper_arrange_object_creation_when_type_evident_highlighting = suggestion +resharper_arrange_object_creation_when_type_not_evident_highlighting = hint +resharper_arrange_redundant_parentheses_highlighting = hint +resharper_arrange_static_member_qualifier_highlighting = hint +resharper_arrange_this_qualifier_highlighting = hint +resharper_arrange_trailing_comma_in_multiline_lists_highlighting = hint +resharper_arrange_trailing_comma_in_singleline_lists_highlighting = hint +resharper_arrange_var_keywords_in_deconstructing_declaration_highlighting = suggestion +resharper_asp_content_placeholder_not_resolved_highlighting = error +resharper_asp_custom_page_parser_filter_type_highlighting = warning +resharper_asp_dead_code_highlighting = warning +resharper_asp_entity_highlighting = warning +resharper_asp_image_highlighting = warning +resharper_asp_invalid_control_type_highlighting = error +resharper_asp_not_resolved_highlighting = error +resharper_asp_ods_method_reference_resolve_error_highlighting = error +resharper_asp_resolve_warning_highlighting = warning +resharper_asp_skin_not_resolved_highlighting = error +resharper_asp_tag_attribute_with_optional_value_highlighting = warning +resharper_asp_theme_not_resolved_highlighting = error +resharper_asp_unused_register_directive_highlighting_highlighting = warning +resharper_asp_warning_highlighting = warning +resharper_assignment_in_conditional_expression_highlighting = warning +resharper_assignment_is_fully_discarded_highlighting = warning +resharper_assign_null_to_not_null_attribute_highlighting = warning +resharper_asxx_path_error_highlighting = warning +resharper_async_iterator_invocation_without_await_foreach_highlighting = warning +resharper_async_void_lambda_highlighting = warning +resharper_async_void_method_highlighting = error +resharper_auto_property_can_be_made_get_only_global_highlighting = suggestion +resharper_auto_property_can_be_made_get_only_local_highlighting = suggestion +resharper_bad_attribute_brackets_spaces_highlighting = none +resharper_bad_braces_spaces_highlighting = none +resharper_bad_child_statement_indent_highlighting = warning +resharper_bad_colon_spaces_highlighting = none +resharper_bad_comma_spaces_highlighting = none +resharper_bad_control_braces_indent_highlighting = suggestion +resharper_bad_control_braces_line_breaks_highlighting = none +resharper_bad_declaration_braces_indent_highlighting = none +resharper_bad_declaration_braces_line_breaks_highlighting = none +resharper_bad_empty_braces_line_breaks_highlighting = none +resharper_bad_expression_braces_indent_highlighting = none +resharper_bad_expression_braces_line_breaks_highlighting = none +resharper_bad_generic_brackets_spaces_highlighting = none +resharper_bad_indent_highlighting = none +resharper_bad_linq_line_breaks_highlighting = none +resharper_bad_list_line_breaks_highlighting = none +resharper_bad_member_access_spaces_highlighting = none +resharper_bad_namespace_braces_indent_highlighting = none +resharper_bad_parens_line_breaks_highlighting = none +resharper_bad_parens_spaces_highlighting = none +resharper_bad_preprocessor_indent_highlighting = none +resharper_bad_semicolon_spaces_highlighting = none +resharper_bad_spaces_after_keyword_highlighting = none +resharper_bad_square_brackets_spaces_highlighting = none +resharper_bad_switch_braces_indent_highlighting = none +resharper_bad_symbol_spaces_highlighting = none +resharper_base_member_has_params_highlighting = warning +resharper_base_method_call_with_default_parameter_highlighting = warning +resharper_base_object_equals_is_object_equals_highlighting = warning +resharper_base_object_get_hash_code_call_in_get_hash_code_highlighting = warning +resharper_bitwise_operator_on_enum_without_flags_highlighting = warning +resharper_blazor_editor_required_highlighting = warning +resharper_built_in_type_reference_style_for_member_access_highlighting = hint +resharper_built_in_type_reference_style_highlighting = hint +resharper_by_ref_argument_is_volatile_field_highlighting = warning +resharper_cannot_apply_equality_operator_to_type_highlighting = warning +resharper_can_simplify_dictionary_lookup_with_try_add_highlighting = warning +resharper_can_simplify_dictionary_lookup_with_try_get_value_highlighting = warning +resharper_center_tag_is_obsolete_highlighting = warning +resharper_check_for_reference_equality_instead_1_highlighting = suggestion +resharper_check_for_reference_equality_instead_2_highlighting = suggestion +resharper_check_for_reference_equality_instead_3_highlighting = suggestion +resharper_check_for_reference_equality_instead_4_highlighting = suggestion +resharper_check_namespace_highlighting = warning +resharper_class_cannot_be_instantiated_highlighting = warning +resharper_class_can_be_sealed_global_highlighting = none +resharper_class_can_be_sealed_local_highlighting = none +resharper_class_never_instantiated_global_highlighting = suggestion +resharper_class_never_instantiated_local_highlighting = suggestion +resharper_class_with_virtual_members_never_inherited_global_highlighting = suggestion +resharper_class_with_virtual_members_never_inherited_local_highlighting = suggestion +resharper_clear_attribute_is_obsolete_all_highlighting = warning +resharper_clear_attribute_is_obsolete_highlighting = warning +resharper_cognitive_complexity_highlighting = warning +resharper_collection_never_queried_global_highlighting = warning +resharper_collection_never_queried_local_highlighting = warning +resharper_collection_never_updated_global_highlighting = warning +resharper_collection_never_updated_local_highlighting = warning +resharper_comment_typo_highlighting = suggestion +resharper_compare_non_constrained_generic_with_null_highlighting = none +resharper_compare_of_floats_by_equality_operator_highlighting = warning +resharper_complex_object_destructuring_problem_highlighting = warning +resharper_complex_object_in_context_destructuring_problem_highlighting = warning +resharper_conditional_access_qualifier_is_non_nullable_according_to_api_contract_highlighting = warning +resharper_conditional_ternary_equal_branch_highlighting = warning +resharper_condition_is_always_true_or_false_according_to_nullable_api_contract_highlighting = warning +resharper_condition_is_always_true_or_false_highlighting = warning +resharper_confusing_char_as_integer_in_constructor_highlighting = warning +resharper_constant_conditional_access_qualifier_highlighting = warning +resharper_constant_null_coalescing_condition_highlighting = warning +resharper_constructor_initializer_loop_highlighting = warning +resharper_container_annotation_redundancy_highlighting = warning +resharper_contextual_logger_problem_highlighting = warning +resharper_context_value_is_provided_highlighting = none +resharper_contract_annotation_not_parsed_highlighting = warning +resharper_convert_closure_to_method_group_highlighting = suggestion +resharper_convert_conditional_ternary_expression_to_switch_expression_highlighting = hint +resharper_convert_if_do_to_while_highlighting = suggestion +resharper_convert_if_statement_to_conditional_ternary_expression_highlighting = suggestion +resharper_convert_if_statement_to_null_coalescing_assignment_highlighting = suggestion +resharper_convert_if_statement_to_null_coalescing_expression_highlighting = suggestion +resharper_convert_if_statement_to_return_statement_highlighting = hint +resharper_convert_if_statement_to_switch_statement_highlighting = hint +resharper_convert_if_to_or_expression_highlighting = suggestion +resharper_convert_nullable_to_short_form_highlighting = suggestion +resharper_convert_switch_statement_to_switch_expression_highlighting = hint +resharper_convert_to_auto_property_highlighting = suggestion +resharper_convert_to_auto_property_when_possible_highlighting = hint +resharper_convert_to_auto_property_with_private_setter_highlighting = hint +resharper_convert_to_compound_assignment_highlighting = hint +resharper_convert_to_constant_global_highlighting = hint +resharper_convert_to_constant_local_highlighting = hint +resharper_convert_to_lambda_expression_highlighting = suggestion +resharper_convert_to_local_function_highlighting = suggestion +resharper_convert_to_null_coalescing_compound_assignment_highlighting = suggestion +resharper_convert_to_primary_constructor_highlighting = suggestion +resharper_convert_to_static_class_highlighting = suggestion +resharper_convert_to_using_declaration_highlighting = suggestion +resharper_convert_to_vb_auto_property_highlighting = suggestion +resharper_convert_to_vb_auto_property_when_possible_highlighting = hint +resharper_convert_to_vb_auto_property_with_private_setter_highlighting = hint +resharper_convert_type_check_pattern_to_null_check_highlighting = warning +resharper_convert_type_check_to_null_check_highlighting = none +resharper_co_variant_array_conversion_highlighting = warning +public virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualresharper_c_declaration_with_implicit_int_type_highlighting = warning +resharper_c_sharp_build_cs_invalid_module_name_highlighting = warning +resharper_c_sharp_missing_plugin_dependency_highlighting = warning +resharper_default_value_attribute_for_optional_parameter_highlighting = warning +resharper_double_negation_in_pattern_highlighting = suggestion +resharper_double_negation_operator_highlighting = suggestion +resharper_duplicate_resource_highlighting = warning +resharper_empty_constructor_highlighting = warning +resharper_empty_destructor_highlighting = warning +resharper_empty_embedded_statement_highlighting = warning +resharper_empty_for_statement_highlighting = warning +resharper_empty_general_catch_clause_highlighting = warning +resharper_empty_namespace_highlighting = warning +resharper_empty_region_highlighting = suggestion +resharper_empty_statement_highlighting = warning +resharper_empty_title_tag_highlighting = hint +resharper_enforce_do_while_statement_braces_highlighting = none +resharper_enforce_fixed_statement_braces_highlighting = none +resharper_enforce_foreach_statement_braces_highlighting = none +resharper_enforce_for_statement_braces_highlighting = none +resharper_enforce_if_statement_braces_highlighting = none +resharper_enforce_lock_statement_braces_highlighting = none +resharper_enforce_using_statement_braces_highlighting = none +resharper_enforce_while_statement_braces_highlighting = none +resharper_entity_name_captured_only_global_highlighting = warning +resharper_entity_name_captured_only_local_highlighting = warning +resharper_enumerable_sum_in_explicit_unchecked_context_highlighting = warning +resharper_enum_underlying_type_is_int_highlighting = warning +resharper_equal_expression_comparison_highlighting = warning +resharper_escaped_keyword_highlighting = warning +resharper_event_never_invoked_global_highlighting = suggestion +resharper_event_never_subscribed_to_global_highlighting = suggestion +resharper_event_never_subscribed_to_local_highlighting = suggestion +resharper_event_unsubscription_via_anonymous_delegate_highlighting = warning +resharper_exception_passed_as_template_argument_problem_highlighting = warning +resharper_explicit_caller_info_argument_highlighting = warning +resharper_expression_is_always_null_highlighting = warning +resharper_extract_common_property_pattern_highlighting = hint +resharper_field_can_be_made_read_only_global_highlighting = suggestion +resharper_field_can_be_made_read_only_local_highlighting = suggestion +resharper_field_hides_interface_property_with_default_implementation_highlighting = warning +resharper_foreach_can_be_converted_to_query_using_another_get_enumerator_highlighting = hint +resharper_foreach_can_be_partly_converted_to_query_using_another_get_enumerator_highlighting = hint +resharper_format_string_placeholders_mismatch_highlighting = warning +resharper_format_string_problem_highlighting = warning +resharper_for_can_be_converted_to_foreach_highlighting = suggestion +resharper_for_statement_condition_is_true_highlighting = warning +resharper_function_complexity_overflow_highlighting = none +resharper_function_never_returns_highlighting = warning +resharper_function_recursive_on_all_paths_highlighting = warning +resharper_gc_suppress_finalize_for_type_without_destructor_highlighting = warning +resharper_generic_enumerator_not_disposed_highlighting = warning +resharper_heuristic_unreachable_code_highlighting = warning +resharper_html_attributes_quotes_highlighting = hint +resharper_html_attribute_not_resolved_highlighting = warning +resharper_html_attribute_value_not_resolved_highlighting = warning +resharper_html_dead_code_highlighting = warning +resharper_html_event_not_resolved_highlighting = warning +resharper_html_id_duplication_highlighting = warning +resharper_html_id_not_resolved_highlighting = warning +resharper_html_obsolete_highlighting = warning +resharper_html_path_error_highlighting = warning +resharper_html_tag_not_closed_highlighting = error +resharper_html_tag_not_resolved_highlighting = warning +resharper_html_tag_should_be_self_closed_highlighting = warning +resharper_html_tag_should_not_be_self_closed_highlighting = warning +resharper_html_warning_highlighting = warning +resharper_identifier_typo_highlighting = suggestion +resharper_ignored_directive_highlighting = warning +resharper_inactive_preprocessor_branch_highlighting = warning +resharper_inconsistently_synchronized_field_highlighting = warning +resharper_inconsistent_context_log_property_naming_highlighting = warning +resharper_inconsistent_log_property_naming_highlighting = warning +resharper_inconsistent_naming_highlighting = warning +resharper_inconsistent_order_of_locks_highlighting = warning +resharper_incorrect_blank_lines_near_braces_highlighting = none +resharper_indexing_by_invalid_range_highlighting = warning +resharper_inheritdoc_consider_usage_highlighting = none +resharper_inheritdoc_invalid_usage_highlighting = warning +resharper_inline_out_variable_declaration_highlighting = suggestion +resharper_inline_temporary_variable_highlighting = hint +resharper_internal_or_private_member_not_documented_highlighting = none +resharper_interpolated_string_expression_is_not_i_formattable_highlighting = warning +resharper_introduce_optional_parameters_global_highlighting = suggestion +resharper_introduce_optional_parameters_local_highlighting = suggestion +resharper_int_division_by_zero_highlighting = warning +resharper_int_variable_overflow_highlighting = warning +resharper_int_variable_overflow_in_checked_context_highlighting = warning +resharper_int_variable_overflow_in_unchecked_context_highlighting = warning +resharper_invalid_value_type_highlighting = warning +resharper_invalid_xml_doc_comment_highlighting = warning +resharper_invert_condition_1_highlighting = hint +resharper_invert_if_highlighting = hint +resharper_invocation_is_skipped_highlighting = hint +resharper_invoke_as_extension_method_highlighting = suggestion +resharper_is_expression_always_false_highlighting = warning +resharper_is_expression_always_true_highlighting = warning +resharper_iterator_method_result_is_ignored_highlighting = warning +resharper_iterator_never_returns_highlighting = warning +resharper_join_declaration_and_initializer_highlighting = suggestion +resharper_join_null_check_with_usage_highlighting = suggestion +resharper_lambda_expression_can_be_made_static_highlighting = none +resharper_lambda_expression_must_be_static_highlighting = suggestion +resharper_lambda_should_not_capture_context_highlighting = warning +resharper_localizable_element_highlighting = warning +resharper_local_function_can_be_made_static_highlighting = none +resharper_local_function_hides_method_highlighting = warning +resharper_local_variable_hides_member_highlighting = warning +resharper_log_message_is_sentence_problem_highlighting = warning +resharper_long_literal_ending_lower_l_highlighting = warning +resharper_loop_can_be_converted_to_query_highlighting = hint +resharper_loop_can_be_partly_converted_to_query_highlighting = none +resharper_loop_variable_is_never_changed_inside_loop_highlighting = warning +resharper_markup_attribute_typo_highlighting = suggestion +resharper_markup_text_typo_highlighting = suggestion +resharper_math_abs_method_is_redundant_highlighting = warning +resharper_math_clamp_min_greater_than_max_highlighting = warning +resharper_meaningless_default_parameter_value_highlighting = warning +resharper_member_can_be_file_local_highlighting = none +resharper_member_can_be_internal_highlighting = none +resharper_member_can_be_made_static_global_highlighting = hint +resharper_member_can_be_made_static_local_highlighting = hint +resharper_member_can_be_private_global_highlighting = suggestion +resharper_member_can_be_private_local_highlighting = suggestion +resharper_member_can_be_protected_global_highlighting = suggestion +resharper_member_can_be_protected_local_highlighting = suggestion +resharper_member_hides_interface_member_with_default_implementation_highlighting = warning +resharper_member_hides_static_from_outer_class_highlighting = warning +resharper_member_initializer_value_ignored_highlighting = warning +resharper_merge_and_pattern_highlighting = suggestion +resharper_merge_cast_with_type_check_highlighting = suggestion +resharper_merge_conditional_expression_highlighting = suggestion +resharper_merge_into_logical_pattern_highlighting = hint +resharper_merge_into_negated_pattern_highlighting = hint +resharper_merge_into_pattern_highlighting = suggestion +resharper_merge_nested_property_patterns_highlighting = suggestion +resharper_merge_sequential_checks_highlighting = hint +resharper_method_has_async_overload_highlighting = suggestion +resharper_method_has_async_overload_with_cancellation_highlighting = suggestion +resharper_method_overload_with_optional_parameter_highlighting = warning +resharper_method_supports_cancellation_highlighting = suggestion +resharper_missing_alt_attribute_in_img_tag_highlighting = hint +resharper_missing_blank_lines_highlighting = none +resharper_missing_body_tag_highlighting = warning +resharper_missing_head_and_body_tags_highlighting = warning +resharper_missing_head_tag_highlighting = warning +resharper_missing_indent_highlighting = none +resharper_missing_linebreak_highlighting = none +resharper_missing_space_highlighting = none +resharper_more_specific_foreach_variable_type_available_highlighting = suggestion +resharper_move_to_existing_positional_deconstruction_pattern_highlighting = hint +resharper_move_variable_declaration_inside_loop_condition_highlighting = suggestion +resharper_multiple_nullable_attributes_usage_highlighting = warning +resharper_multiple_order_by_highlighting = warning +resharper_multiple_resolve_candidates_in_text_highlighting = warning +resharper_multiple_spaces_highlighting = none +resharper_multiple_statements_on_one_line_highlighting = none +resharper_multiple_type_members_on_one_line_highlighting = none +resharper_must_use_return_value_highlighting = warning +resharper_mvc_action_not_resolved_highlighting = error +resharper_mvc_area_not_resolved_highlighting = error +resharper_mvc_controller_not_resolved_highlighting = error +resharper_mvc_invalid_model_type_highlighting = error +resharper_mvc_masterpage_not_resolved_highlighting = error +resharper_mvc_partial_view_not_resolved_highlighting = error +resharper_mvc_template_not_resolved_highlighting = error +resharper_mvc_view_component_not_resolved_highlighting = error +resharper_mvc_view_component_view_not_resolved_highlighting = error +resharper_mvc_view_not_resolved_highlighting = error +resharper_negation_of_relational_pattern_highlighting = suggestion +resharper_negative_equality_expression_highlighting = suggestion +resharper_negative_index_highlighting = warning +resharper_nested_string_interpolation_highlighting = suggestion +resharper_non_atomic_compound_operator_highlighting = warning +resharper_non_constant_equality_expression_has_constant_result_highlighting = warning +resharper_non_parsable_element_highlighting = warning +resharper_non_readonly_member_in_get_hash_code_highlighting = warning +resharper_non_volatile_field_in_double_check_locking_highlighting = warning +resharper_not_accessed_field_global_highlighting = suggestion +resharper_not_accessed_field_local_highlighting = warning +resharper_not_accessed_out_parameter_variable_highlighting = warning +resharper_not_accessed_positional_property_global_highlighting = warning +resharper_not_accessed_positional_property_local_highlighting = warning +resharper_not_accessed_variable_highlighting = warning +resharper_not_assigned_out_parameter_highlighting = warning +resharper_not_declared_in_parent_culture_highlighting = warning +resharper_not_null_or_required_member_is_not_initialized_highlighting = warning +resharper_not_observable_annotation_redundancy_highlighting = warning +resharper_not_overridden_in_specific_culture_highlighting = warning +resharper_not_resolved_in_text_highlighting = warning +resharper_no_support_for_vb_highlighting = warning +resharper_nullable_warning_suppression_is_used_highlighting = none +resharper_null_coalescing_condition_is_always_not_null_according_to_api_contract_highlighting = warning +resharper_n_unit_async_method_must_be_task_highlighting = warning +resharper_n_unit_attribute_produces_too_many_tests_highlighting = none +resharper_n_unit_auto_fixture_incorrect_argument_type_highlighting = warning +resharper_n_unit_auto_fixture_missed_test_attribute_highlighting = warning +resharper_n_unit_auto_fixture_missed_test_or_test_fixture_attribute_highlighting = warning +resharper_n_unit_auto_fixture_redundant_argument_in_inline_auto_data_attribute_highlighting = warning +resharper_n_unit_duplicate_values_highlighting = warning +resharper_n_unit_ignored_parameter_attribute_highlighting = warning +resharper_n_unit_implicit_unspecified_null_values_highlighting = warning +resharper_n_unit_incorrect_argument_type_highlighting = warning +resharper_n_unit_incorrect_expected_result_type_highlighting = warning +resharper_n_unit_incorrect_range_bounds_highlighting = warning +resharper_n_unit_method_with_parameters_and_test_attribute_highlighting = warning +resharper_n_unit_missing_arguments_in_test_case_attribute_highlighting = warning +resharper_n_unit_non_public_method_with_test_attribute_highlighting = warning +resharper_n_unit_no_values_provided_highlighting = warning +resharper_n_unit_parameter_type_is_not_compatible_with_attribute_highlighting = warning +resharper_n_unit_range_attribute_bounds_are_out_of_range_highlighting = warning +resharper_n_unit_range_step_sign_mismatch_highlighting = warning +resharper_n_unit_range_step_value_must_not_be_zero_highlighting = warning +resharper_n_unit_range_to_value_is_not_reachable_highlighting = warning +resharper_n_unit_redundant_argument_instead_of_expected_result_highlighting = warning +resharper_n_unit_redundant_argument_in_test_case_attribute_highlighting = warning +resharper_n_unit_redundant_expected_result_in_test_case_attribute_highlighting = warning +resharper_n_unit_test_case_attribute_requires_expected_result_highlighting = warning +resharper_n_unit_test_case_result_property_duplicates_expected_result_highlighting = warning +resharper_n_unit_test_case_result_property_is_obsolete_highlighting = warning +resharper_n_unit_test_case_source_cannot_be_resolved_highlighting = warning +resharper_n_unit_test_case_source_must_be_field_property_method_highlighting = warning +resharper_n_unit_test_case_source_must_be_static_highlighting = warning +resharper_n_unit_test_case_source_should_implement_i_enumerable_highlighting = warning +resharper_object_creation_as_statement_highlighting = warning +resharper_obsolete_element_error_highlighting = error +resharper_obsolete_element_highlighting = warning +resharper_one_way_operation_contract_with_return_type_highlighting = warning +resharper_operation_contract_without_service_contract_highlighting = warning +resharper_operator_is_can_be_used_highlighting = warning +resharper_operator_without_matched_checked_operator_highlighting = warning +resharper_optional_parameter_hierarchy_mismatch_highlighting = warning +resharper_optional_parameter_ref_out_highlighting = warning +resharper_other_tags_inside_script1_highlighting = error +resharper_other_tags_inside_script2_highlighting = error +resharper_other_tags_inside_unclosed_script_highlighting = error +resharper_outdent_is_off_prev_level_highlighting = none +resharper_out_parameter_value_is_always_discarded_global_highlighting = suggestion +resharper_out_parameter_value_is_always_discarded_local_highlighting = warning +resharper_overridden_with_empty_value_highlighting = warning +resharper_overridden_with_same_value_highlighting = suggestion +resharper_parameter_hides_member_highlighting = warning +resharper_parameter_only_used_for_precondition_check_global_highlighting = suggestion +resharper_parameter_only_used_for_precondition_check_local_highlighting = warning +resharper_parameter_type_can_be_enumerable_global_highlighting = hint +resharper_parameter_type_can_be_enumerable_local_highlighting = hint +resharper_partial_method_parameter_name_mismatch_highlighting = warning +resharper_partial_method_with_single_part_highlighting = warning +resharper_partial_type_with_single_part_highlighting = warning +resharper_pass_string_interpolation_highlighting = hint +resharper_pattern_always_matches_highlighting = warning +resharper_pattern_is_always_true_or_false_highlighting = warning +resharper_pattern_is_redundant_highlighting = warning +resharper_pattern_never_matches_highlighting = warning +resharper_place_assignment_expression_into_block_highlighting = none +resharper_polymorphic_field_like_event_invocation_highlighting = warning +resharper_positional_property_used_problem_highlighting = warning +resharper_possible_infinite_inheritance_highlighting = warning +resharper_possible_intended_rethrow_highlighting = warning +resharper_possible_interface_member_ambiguity_highlighting = warning +resharper_possible_invalid_cast_exception_highlighting = warning +resharper_possible_invalid_cast_exception_in_foreach_loop_highlighting = warning +resharper_possible_invalid_operation_exception_highlighting = warning +resharper_possible_loss_of_fraction_highlighting = warning +resharper_possible_mistaken_argument_highlighting = warning +resharper_possible_mistaken_call_to_get_type_1_highlighting = warning +resharper_possible_mistaken_call_to_get_type_2_highlighting = warning +resharper_possible_multiple_enumeration_highlighting = warning +resharper_possible_multiple_write_access_in_double_check_locking_highlighting = warning +resharper_possible_null_reference_exception_highlighting = warning +resharper_possible_struct_member_modification_of_non_variable_struct_highlighting = warning +resharper_possible_unintended_linear_search_in_set_highlighting = warning +resharper_possible_unintended_queryable_as_enumerable_highlighting = suggestion +resharper_possible_unintended_reference_comparison_highlighting = warning +resharper_possible_write_to_me_highlighting = warning +resharper_possibly_impure_method_call_on_readonly_variable_highlighting = warning +resharper_possibly_missing_indexer_initializer_comma_highlighting = warning +resharper_possibly_mistaken_use_of_interpolated_string_insert_highlighting = warning +resharper_private_field_can_be_converted_to_local_variable_highlighting = warning +resharper_property_can_be_made_init_only_global_highlighting = suggestion +resharper_property_can_be_made_init_only_local_highlighting = suggestion +resharper_property_field_keyword_is_never_assigned_highlighting = warning +resharper_property_field_keyword_is_never_used_highlighting = warning +resharper_property_not_resolved_highlighting = error +resharper_public_constructor_in_abstract_class_highlighting = suggestion +resharper_pure_attribute_on_void_method_highlighting = warning +resharper_razor_layout_not_resolved_highlighting = error +resharper_razor_section_not_resolved_highlighting = error +resharper_read_access_in_double_check_locking_highlighting = warning +resharper_redundant_abstract_modifier_highlighting = warning +resharper_redundant_accessor_body_highlighting = suggestion +resharper_redundant_always_match_subpattern_highlighting = suggestion +resharper_redundant_anonymous_type_property_name_highlighting = warning +resharper_redundant_argument_default_value_highlighting = warning +resharper_redundant_array_creation_expression_highlighting = hint +resharper_redundant_array_lower_bound_specification_highlighting = warning +resharper_redundant_assignment_highlighting = warning +resharper_redundant_attribute_parentheses_highlighting = hint +resharper_redundant_attribute_suffix_highlighting = warning +resharper_redundant_attribute_usage_property_highlighting = suggestion +resharper_redundant_base_constructor_call_highlighting = warning +resharper_redundant_base_qualifier_highlighting = warning +resharper_redundant_blank_lines_highlighting = none +resharper_redundant_bool_compare_highlighting = warning +resharper_redundant_caller_argument_expression_default_value_highlighting = warning +resharper_redundant_case_label_highlighting = warning +resharper_redundant_cast_highlighting = warning +resharper_redundant_catch_clause_highlighting = warning +resharper_redundant_check_before_assignment_highlighting = warning +resharper_redundant_collection_initializer_element_braces_highlighting = hint +resharper_redundant_configure_await_highlighting = suggestion +resharper_redundant_declaration_semicolon_highlighting = hint +resharper_redundant_default_member_initializer_highlighting = warning +resharper_redundant_delegate_creation_highlighting = warning +resharper_redundant_dictionary_contains_key_before_adding_highlighting = warning +resharper_redundant_disable_warning_comment_highlighting = warning +resharper_redundant_discard_designation_highlighting = suggestion +resharper_redundant_empty_case_else_highlighting = warning +resharper_redundant_empty_finally_block_highlighting = warning +resharper_redundant_empty_object_creation_argument_list_highlighting = hint +resharper_redundant_empty_object_or_collection_initializer_highlighting = warning +resharper_redundant_empty_switch_section_highlighting = warning +resharper_redundant_enumerable_cast_call_highlighting = warning +resharper_redundant_enum_case_label_for_default_section_highlighting = none +resharper_redundant_explicit_array_creation_highlighting = warning +resharper_redundant_explicit_array_size_highlighting = warning +resharper_redundant_explicit_nullable_creation_highlighting = warning +resharper_redundant_explicit_params_array_creation_highlighting = suggestion +resharper_redundant_explicit_positional_property_declaration_highlighting = warning +resharper_redundant_explicit_tuple_component_name_highlighting = warning +resharper_redundant_extends_list_entry_highlighting = warning +resharper_redundant_fixed_pointer_declaration_highlighting = suggestion +resharper_redundant_if_else_block_highlighting = hint +resharper_redundant_if_statement_then_keyword_highlighting = none +resharper_redundant_immediate_delegate_invocation_highlighting = suggestion +resharper_redundant_include_highlighting = warning +resharper_redundant_is_before_relational_pattern_highlighting = suggestion +resharper_redundant_iterator_keyword_highlighting = warning +resharper_redundant_jump_statement_highlighting = warning +resharper_redundant_lambda_parameter_type_highlighting = warning +resharper_redundant_lambda_signature_parentheses_highlighting = hint +resharper_redundant_linebreak_highlighting = none +resharper_redundant_logical_conditional_expression_operand_highlighting = warning +resharper_redundant_me_qualifier_highlighting = warning +resharper_redundant_my_base_qualifier_highlighting = warning +resharper_redundant_my_class_qualifier_highlighting = warning +resharper_redundant_name_qualifier_highlighting = warning +resharper_redundant_not_null_constraint_highlighting = warning +resharper_redundant_nullable_annotation_on_reference_type_constraint_highlighting = warning +resharper_redundant_nullable_annotation_on_type_constraint_has_non_nullable_base_type_highlighting = warning +resharper_redundant_nullable_annotation_on_type_constraint_has_non_nullable_type_kind_highlighting = warning +resharper_redundant_nullable_flow_attribute_highlighting = warning +resharper_redundant_nullable_type_mark_highlighting = warning +resharper_redundant_nullness_attribute_with_nullable_reference_types_highlighting = warning +resharper_redundant_overflow_checking_context_highlighting = warning +resharper_redundant_overload_global_highlighting = suggestion +resharper_redundant_overload_local_highlighting = suggestion +resharper_redundant_overridden_member_highlighting = warning +resharper_redundant_params_highlighting = warning +resharper_redundant_parentheses_highlighting = none +resharper_redundant_pattern_parentheses_highlighting = hint +resharper_redundant_property_parentheses_highlighting = hint +resharper_redundant_property_pattern_clause_highlighting = suggestion +resharper_redundant_qualifier_highlighting = warning +resharper_redundant_query_order_by_ascending_keyword_highlighting = hint +resharper_redundant_range_bound_highlighting = suggestion +resharper_redundant_readonly_modifier_highlighting = suggestion +resharper_redundant_record_body_highlighting = warning +resharper_redundant_record_class_keyword_highlighting = warning +resharper_redundant_scoped_parameter_modifier_highlighting = warning +resharper_redundant_setter_value_parameter_declaration_highlighting = hint +resharper_redundant_set_contains_before_adding_highlighting = warning +resharper_redundant_space_highlighting = none +resharper_redundant_string_format_call_highlighting = warning +resharper_redundant_string_interpolation_highlighting = suggestion +resharper_redundant_string_to_char_array_call_highlighting = warning +resharper_redundant_string_type_highlighting = suggestion +resharper_redundant_suppress_nullable_warning_expression_highlighting = warning +resharper_redundant_ternary_expression_highlighting = warning +resharper_redundant_to_string_call_for_value_type_highlighting = hint +resharper_redundant_to_string_call_highlighting = warning +resharper_redundant_type_arguments_of_method_highlighting = warning +resharper_redundant_type_check_in_pattern_highlighting = warning +resharper_redundant_unsafe_context_highlighting = warning +resharper_redundant_using_directive_global_highlighting = warning +resharper_redundant_using_directive_highlighting = warning +resharper_redundant_verbatim_prefix_highlighting = suggestion +resharper_redundant_verbatim_string_prefix_highlighting = suggestion +resharper_redundant_virtual_modifier_highlighting = warning +resharper_redundant_with_expression_highlighting = suggestion +resharper_reference_equals_with_value_type_highlighting = warning +resharper_reg_exp_inspections_highlighting = warning +resharper_remove_constructor_invocation_highlighting = none +resharper_remove_redundant_braces_highlighting = none +resharper_remove_redundant_or_statement_false_highlighting = suggestion +resharper_remove_redundant_or_statement_true_highlighting = suggestion +resharper_remove_to_list_1_highlighting = suggestion +resharper_remove_to_list_2_highlighting = suggestion +resharper_replace_auto_property_with_computed_property_highlighting = hint +resharper_replace_conditional_expression_with_null_coalescing_highlighting = suggestion +resharper_replace_object_pattern_with_var_pattern_highlighting = suggestion +resharper_replace_sequence_equal_with_constant_pattern_highlighting = suggestion +resharper_replace_slice_with_range_indexer_highlighting = hint +resharper_replace_substring_with_range_indexer_highlighting = hint +resharper_replace_with_field_keyword_highlighting = suggestion +resharper_replace_with_first_or_default_1_highlighting = suggestion +resharper_replace_with_first_or_default_2_highlighting = suggestion +resharper_replace_with_first_or_default_3_highlighting = suggestion +resharper_replace_with_first_or_default_4_highlighting = suggestion +resharper_replace_with_last_or_default_1_highlighting = suggestion +resharper_replace_with_last_or_default_2_highlighting = suggestion +resharper_replace_with_last_or_default_3_highlighting = suggestion +resharper_replace_with_last_or_default_4_highlighting = suggestion +resharper_replace_with_of_type_1_highlighting = suggestion +resharper_replace_with_of_type_2_highlighting = suggestion +resharper_replace_with_of_type_3_highlighting = suggestion +resharper_replace_with_of_type_any_1_highlighting = suggestion +resharper_replace_with_of_type_any_2_highlighting = suggestion +resharper_replace_with_of_type_count_1_highlighting = suggestion +resharper_replace_with_of_type_count_2_highlighting = suggestion +resharper_replace_with_of_type_first_1_highlighting = suggestion +resharper_replace_with_of_type_first_2_highlighting = suggestion +resharper_replace_with_of_type_first_or_default_1_highlighting = suggestion +resharper_replace_with_of_type_first_or_default_2_highlighting = suggestion +resharper_replace_with_of_type_last_1_highlighting = suggestion +resharper_replace_with_of_type_last_2_highlighting = suggestion +resharper_replace_with_of_type_last_or_default_1_highlighting = suggestion +resharper_replace_with_of_type_last_or_default_2_highlighting = suggestion +resharper_replace_with_of_type_long_count_highlighting = suggestion +resharper_replace_with_of_type_single_1_highlighting = suggestion +resharper_replace_with_of_type_single_2_highlighting = suggestion +resharper_replace_with_of_type_single_or_default_1_highlighting = suggestion +resharper_replace_with_of_type_single_or_default_2_highlighting = suggestion +resharper_replace_with_of_type_where_highlighting = suggestion +resharper_replace_with_simple_assignment_false_highlighting = suggestion +resharper_replace_with_simple_assignment_true_highlighting = suggestion +resharper_replace_with_single_assignment_false_highlighting = suggestion +resharper_replace_with_single_assignment_true_highlighting = suggestion +resharper_replace_with_single_call_to_any_highlighting = suggestion +resharper_replace_with_single_call_to_count_highlighting = suggestion +resharper_replace_with_single_call_to_first_highlighting = suggestion +resharper_replace_with_single_call_to_first_or_default_highlighting = suggestion +resharper_replace_with_single_call_to_last_highlighting = suggestion +resharper_replace_with_single_call_to_last_or_default_highlighting = suggestion +resharper_replace_with_single_call_to_single_highlighting = suggestion +resharper_replace_with_single_call_to_single_or_default_highlighting = suggestion +resharper_replace_with_single_or_default_1_highlighting = suggestion +resharper_replace_with_single_or_default_2_highlighting = suggestion +resharper_replace_with_single_or_default_3_highlighting = suggestion +resharper_replace_with_single_or_default_4_highlighting = suggestion +resharper_replace_with_string_is_null_or_empty_highlighting = suggestion +resharper_required_base_types_conflict_highlighting = warning +resharper_required_base_types_direct_conflict_highlighting = warning +resharper_required_base_types_is_not_inherited_highlighting = warning +resharper_resource_item_not_resolved_highlighting = error +resharper_resource_not_resolved_highlighting = error +resharper_resx_not_resolved_highlighting = warning +resharper_return_type_can_be_enumerable_global_highlighting = hint +resharper_return_type_can_be_enumerable_local_highlighting = hint +resharper_return_type_can_be_not_nullable_highlighting = warning +resharper_return_value_of_pure_method_is_not_used_highlighting = warning +resharper_route_templates_action_route_prefix_can_be_extracted_to_controller_route_highlighting = hint +resharper_route_templates_ambiguous_matching_constraint_constructor_highlighting = warning +resharper_route_templates_constraint_argument_cannot_be_converted_highlighting = warning +resharper_route_templates_controller_route_parameter_is_not_passed_to_methods_highlighting = hint +resharper_route_templates_duplicated_parameter_highlighting = warning +resharper_route_templates_matching_constraint_constructor_not_resolved_highlighting = warning +resharper_route_templates_method_missing_route_parameters_highlighting = hint +resharper_route_templates_optional_parameter_can_be_preceded_only_by_single_period_highlighting = warning +resharper_route_templates_optional_parameter_must_be_at_the_end_of_segment_highlighting = warning +resharper_route_templates_parameter_constraint_can_be_specified_highlighting = hint +resharper_route_templates_parameter_type_and_constraints_mismatch_highlighting = warning +resharper_route_templates_parameter_type_can_be_made_stricter_highlighting = suggestion +resharper_route_templates_route_parameter_constraint_not_resolved_highlighting = warning +resharper_route_templates_route_parameter_is_not_passed_to_method_highlighting = hint +resharper_route_templates_route_token_not_resolved_highlighting = warning +resharper_route_templates_symbol_not_resolved_highlighting = warning +resharper_route_templates_syntax_error_highlighting = warning +resharper_safe_cast_is_used_as_type_check_highlighting = suggestion +resharper_script_tag_has_both_src_and_content_attributes_highlighting = error +resharper_sealed_member_in_sealed_class_highlighting = warning +resharper_separate_control_transfer_statement_highlighting = none +resharper_service_contract_without_operations_highlighting = warning +resharper_shift_expression_real_shift_count_is_zero_highlighting = warning +resharper_shift_expression_result_equals_zero_highlighting = warning +resharper_shift_expression_right_operand_not_equal_real_count_highlighting = warning +resharper_shift_expression_zero_left_operand_highlighting = warning +resharper_similar_anonymous_type_nearby_highlighting = hint +resharper_simplify_conditional_operator_highlighting = suggestion +resharper_simplify_conditional_ternary_expression_highlighting = suggestion +resharper_simplify_i_if_highlighting = suggestion +resharper_simplify_linq_expression_use_all_highlighting = none +resharper_simplify_linq_expression_use_any_highlighting = suggestion +resharper_simplify_linq_expression_use_min_by_and_max_by_highlighting = suggestion +resharper_simplify_string_interpolation_highlighting = suggestion +resharper_specify_a_culture_in_string_conversion_explicitly_highlighting = warning +resharper_specify_string_comparison_highlighting = hint +resharper_spin_lock_in_readonly_field_highlighting = warning +resharper_stack_alloc_inside_loop_highlighting = warning +resharper_static_member_initializer_referes_to_member_below_highlighting = warning +resharper_static_member_in_generic_type_highlighting = warning +resharper_static_problem_in_text_highlighting = warning +resharper_string_compare_is_culture_specific_1_highlighting = warning +resharper_string_compare_is_culture_specific_2_highlighting = warning +resharper_string_compare_is_culture_specific_3_highlighting = warning +resharper_string_compare_is_culture_specific_4_highlighting = warning +resharper_string_compare_is_culture_specific_5_highlighting = warning +resharper_string_compare_is_culture_specific_6_highlighting = warning +resharper_string_compare_to_is_culture_specific_highlighting = warning +resharper_string_ends_with_is_culture_specific_highlighting = none +resharper_string_index_of_is_culture_specific_1_highlighting = warning +resharper_string_index_of_is_culture_specific_2_highlighting = warning +resharper_string_index_of_is_culture_specific_3_highlighting = warning +resharper_string_last_index_of_is_culture_specific_1_highlighting = warning +resharper_string_last_index_of_is_culture_specific_2_highlighting = warning +resharper_string_last_index_of_is_culture_specific_3_highlighting = warning +resharper_string_literal_as_interpolation_argument_highlighting = suggestion +resharper_string_literal_typo_highlighting = suggestion +resharper_string_starts_with_is_culture_specific_highlighting = none +resharper_structured_message_template_problem_highlighting = warning +resharper_struct_can_be_made_read_only_highlighting = suggestion +resharper_struct_member_can_be_made_read_only_highlighting = none +resharper_suggest_base_type_for_parameter_highlighting = hint +resharper_suggest_base_type_for_parameter_in_constructor_highlighting = hint +resharper_suggest_discard_declaration_var_style_highlighting = hint +resharper_suggest_var_or_type_built_in_types_highlighting = hint +resharper_suggest_var_or_type_deconstruction_declarations_highlighting = hint +resharper_suggest_var_or_type_elsewhere_highlighting = hint +resharper_suggest_var_or_type_simple_types_highlighting = hint +resharper_suppress_nullable_warning_expression_as_inverted_is_expression_highlighting = warning +resharper_suspicious_lock_over_synchronization_primitive_highlighting = warning +resharper_suspicious_math_sign_method_highlighting = warning +resharper_suspicious_parameter_name_in_argument_null_exception_highlighting = warning +resharper_suspicious_type_conversion_global_highlighting = warning +resharper_swap_via_deconstruction_highlighting = suggestion +resharper_switch_expression_handles_some_known_enum_values_with_exception_in_default_highlighting = hint +resharper_switch_statement_for_enum_misses_default_section_highlighting = hint +resharper_switch_statement_handles_some_known_enum_values_with_default_highlighting = hint +resharper_switch_statement_missing_some_enum_cases_no_default_highlighting = hint +resharper_symbol_from_not_copied_locally_reference_used_warning_highlighting = warning +resharper_tabs_and_spaces_mismatch_highlighting = none +resharper_tabs_are_disallowed_highlighting = none +resharper_tabs_outside_indent_highlighting = none +resharper_tail_recursive_call_highlighting = hint +resharper_template_duplicate_property_problem_highlighting = warning +resharper_template_format_string_problem_highlighting = warning +resharper_template_is_not_compile_time_constant_problem_highlighting = warning +resharper_thread_static_at_instance_field_highlighting = warning +resharper_thread_static_field_has_initializer_highlighting = warning +resharper_too_wide_local_variable_scope_highlighting = suggestion +resharper_try_cast_always_succeeds_highlighting = suggestion +resharper_try_statements_can_be_merged_highlighting = hint +resharper_type_parameter_can_be_variant_highlighting = suggestion +resharper_unassigned_field_global_highlighting = suggestion +resharper_unassigned_field_local_highlighting = warning +resharper_unassigned_get_only_auto_property_highlighting = warning +resharper_unassigned_readonly_field_highlighting = warning +resharper_unclosed_script_highlighting = error +resharper_unexpected_attribute_highlighting = warning +resharper_unexpected_directive_highlighting = warning +resharper_unnecessary_whitespace_highlighting = none +resharper_unreachable_switch_arm_due_to_integer_analysis_highlighting = warning +resharper_unreachable_switch_case_due_to_integer_analysis_highlighting = warning +resharper_unreal_header_tool_error_highlighting = error +resharper_unreal_header_tool_warning_highlighting = warning +resharper_unsupported_required_base_type_highlighting = warning +resharper_unused_anonymous_method_signature_highlighting = warning +resharper_unused_auto_property_accessor_global_highlighting = warning +resharper_unused_auto_property_accessor_local_highlighting = warning +resharper_unused_import_clause_highlighting = warning +resharper_unused_local_function_highlighting = warning +resharper_unused_local_function_parameter_highlighting = warning +resharper_unused_local_function_return_value_highlighting = warning +resharper_unused_member_global_highlighting = suggestion +resharper_unused_member_hierarchy_global_highlighting = suggestion +resharper_unused_member_hierarchy_local_highlighting = warning +resharper_unused_member_in_super_global_highlighting = suggestion +resharper_unused_member_in_super_local_highlighting = warning +resharper_unused_member_local_highlighting = warning +resharper_unused_method_return_value_global_highlighting = suggestion +resharper_unused_method_return_value_local_highlighting = warning +resharper_unused_parameter_global_highlighting = suggestion +resharper_unused_parameter_in_partial_method_highlighting = warning +resharper_unused_parameter_local_highlighting = warning +resharper_unused_tuple_component_in_return_value_highlighting = warning +resharper_unused_type_global_highlighting = suggestion +resharper_unused_type_local_highlighting = warning +resharper_unused_type_parameter_highlighting = warning +resharper_unused_variable_highlighting = warning +resharper_useless_binary_operation_highlighting = warning +resharper_useless_comparison_to_integral_constant_highlighting = warning +resharper_use_array_creation_expression_1_highlighting = suggestion +resharper_use_array_creation_expression_2_highlighting = suggestion +resharper_use_array_empty_method_highlighting = suggestion +resharper_use_await_using_highlighting = suggestion +resharper_use_cancellation_token_for_i_async_enumerable_highlighting = suggestion +resharper_use_collection_count_property_highlighting = suggestion +resharper_use_configure_await_false_for_async_disposable_highlighting = none +resharper_use_configure_await_false_highlighting = suggestion +resharper_use_deconstruction_highlighting = hint +resharper_use_empty_types_field_highlighting = suggestion +resharper_use_event_args_empty_field_highlighting = suggestion +resharper_use_format_specifier_in_format_string_highlighting = suggestion +resharper_use_implicitly_typed_variable_evident_highlighting = hint +resharper_use_implicitly_typed_variable_highlighting = none +resharper_use_implicit_by_val_modifier_highlighting = hint +resharper_use_indexed_property_highlighting = suggestion +resharper_use_index_from_end_expression_highlighting = suggestion +resharper_use_is_operator_1_highlighting = suggestion +resharper_use_is_operator_2_highlighting = suggestion +resharper_use_method_any_0_highlighting = suggestion +resharper_use_method_any_1_highlighting = suggestion +resharper_use_method_any_2_highlighting = suggestion +resharper_use_method_any_3_highlighting = suggestion +resharper_use_method_any_4_highlighting = suggestion +resharper_use_method_is_instance_of_type_highlighting = suggestion +resharper_use_nameof_expression_for_part_of_the_string_highlighting = none +resharper_use_nameof_expression_highlighting = suggestion +resharper_use_nameof_for_dependency_property_highlighting = suggestion +resharper_use_name_of_instead_of_type_of_highlighting = suggestion +resharper_use_negated_pattern_in_is_expression_highlighting = hint +resharper_use_negated_pattern_matching_highlighting = hint +resharper_use_nullable_annotation_instead_of_attribute_highlighting = suggestion +resharper_use_nullable_attributes_supported_by_compiler_highlighting = suggestion +resharper_use_nullable_reference_types_annotation_syntax_highlighting = warning +resharper_use_null_propagation_highlighting = hint +resharper_use_object_or_collection_initializer_highlighting = suggestion +resharper_use_pattern_matching_highlighting = suggestion +resharper_use_positional_deconstruction_pattern_highlighting = none +resharper_use_string_interpolation_highlighting = suggestion +resharper_use_string_interpolation_when_possible_highlighting = hint +resharper_use_switch_case_pattern_variable_highlighting = suggestion +resharper_use_throw_if_null_method_highlighting = none +resharper_use_unsigned_right_shift_operator_highlighting = suggestion +resharper_use_verbatim_string_highlighting = hint +resharper_use_with_expression_to_copy_anonymous_object_highlighting = suggestion +resharper_use_with_expression_to_copy_record_highlighting = suggestion +resharper_use_with_expression_to_copy_struct_highlighting = suggestion +resharper_use_with_expression_to_copy_tuple_highlighting = suggestion +resharper_value_parameter_not_used_highlighting = warning +resharper_value_range_attribute_violation_highlighting = warning +resharper_variable_can_be_not_nullable_highlighting = warning +resharper_variable_hides_outer_variable_highlighting = warning +public virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualpublic virtualresharper_virtual_member_call_in_constructor_highlighting = warning +resharper_virtual_member_never_overridden_global_highlighting = suggestion +resharper_virtual_member_never_overridden_local_highlighting = suggestion +resharper_void_method_with_must_use_return_value_attribute_highlighting = warning +resharper_web_config_module_not_resolved_highlighting = warning +resharper_web_config_module_qualification_resolve_highlighting = warning +resharper_web_config_redundant_add_namespace_tag_highlighting = warning +resharper_web_config_redundant_location_tag_highlighting = warning +resharper_web_config_tag_prefix_redundand_highlighting = warning +resharper_web_config_type_not_resolved_highlighting = warning +resharper_web_config_unused_add_tag_highlighting = warning +resharper_web_config_unused_element_due_to_config_source_attribute_highlighting = warning +resharper_web_config_unused_remove_or_clear_tag_highlighting = warning +resharper_web_config_web_config_path_warning_highlighting = warning +resharper_web_config_wrong_module_highlighting = warning +resharper_web_ignored_path_highlighting = none +resharper_web_mapped_path_highlighting = hint +resharper_with_expression_instead_of_initializer_highlighting = suggestion +resharper_with_expression_modifies_all_members_highlighting = warning +resharper_wrong_indent_size_highlighting = none +resharper_xaml_assign_null_to_not_null_attribute_highlighting = warning +resharper_xaml_avalonia_wrong_binding_mode_for_stream_binding_operator_highlighting = warning +resharper_xaml_binding_without_context_not_resolved_highlighting = hint +resharper_xaml_binding_with_context_not_resolved_highlighting = warning +resharper_xaml_compiled_binding_missing_data_type_error_highlighting_highlighting = error +resharper_xaml_constructor_warning_highlighting = warning +resharper_xaml_decimal_parsing_is_culture_dependent_highlighting = warning +resharper_xaml_dependency_property_resolve_error_highlighting = warning +resharper_xaml_duplicate_style_setter_highlighting = warning +resharper_xaml_dynamic_resource_error_highlighting = error +resharper_xaml_element_name_reference_not_resolved_highlighting = error +resharper_xaml_empty_grid_length_definition_highlighting = error +resharper_xaml_field_modifier_requires_name_attribute_highlighting = warning +resharper_xaml_grid_definitions_can_be_converted_to_attribute_highlighting = hint +resharper_xaml_ignored_path_highlighting_highlighting = none +resharper_xaml_index_out_of_grid_definition_highlighting = warning +resharper_xaml_invalid_member_type_highlighting = error +resharper_xaml_invalid_resource_target_type_highlighting = error +resharper_xaml_invalid_resource_type_highlighting = error +resharper_xaml_invalid_type_highlighting = error +resharper_xaml_language_level_highlighting = error +resharper_xaml_mapped_path_highlighting_highlighting = hint +resharper_xaml_method_arguments_will_be_ignored_highlighting = warning +resharper_xaml_missing_grid_index_highlighting = warning +resharper_xaml_overloads_collision_highlighting = warning +resharper_xaml_parent_is_out_of_current_component_tree_highlighting = warning +resharper_xaml_path_error_highlighting = warning +resharper_xaml_possible_null_reference_exception_highlighting = suggestion +resharper_xaml_redundant_attached_property_highlighting = warning +resharper_xaml_redundant_binding_mode_attribute_highlighting = warning +resharper_xaml_redundant_collection_property_highlighting = warning +resharper_xaml_redundant_freeze_attribute_highlighting = warning +resharper_xaml_redundant_grid_definitions_highlighting = warning +resharper_xaml_redundant_grid_span_highlighting = warning +resharper_xaml_redundant_modifiers_attribute_highlighting = warning +resharper_xaml_redundant_namespace_alias_highlighting = warning +resharper_xaml_redundant_name_attribute_highlighting = warning +resharper_xaml_redundant_property_type_qualifier_highlighting = warning +resharper_xaml_redundant_resource_highlighting = warning +resharper_xaml_redundant_styled_value_highlighting = warning +resharper_xaml_redundant_update_source_trigger_attribute_highlighting = warning +resharper_xaml_redundant_xamarin_forms_class_declaration_highlighting = warning +resharper_xaml_resource_file_path_case_mismatch_highlighting = warning +resharper_xaml_routed_event_resolve_error_highlighting = warning +resharper_xaml_static_resource_not_resolved_highlighting = warning +resharper_xaml_style_class_not_found_highlighting = warning +resharper_xaml_style_invalid_target_type_highlighting = error +resharper_xaml_unexpected_element_highlighting = error +resharper_xaml_unexpected_text_token_highlighting = error +resharper_xaml_xaml_duplicate_device_family_type_view_highlighting_highlighting = error +resharper_xaml_xaml_mismatched_device_family_view_clr_name_highlighting_highlighting = warning +resharper_xaml_xaml_relative_source_default_mode_warning_highlighting_highlighting = warning +resharper_xaml_xaml_unknown_device_family_type_highlighting_highlighting = warning +resharper_xaml_xaml_xamarin_forms_data_type_and_binding_context_type_mismatched_highlighting_highlighting = warning +resharper_xaml_x_key_attribute_disallowed_highlighting = error +resharper_xunit_xunit_test_with_console_output_highlighting = warning +resharper_zero_index_from_end_highlighting = warning + +# ReSharper properties +resharper_csharp_int_align_comments = true + +[*.html] +indent_size = 4 +tab_width = 4 +indent_style = space +ij_html_do_not_indent_children_of_tags = \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644
index 0000000..add57be --- /dev/null +++ b/.gitignore
@@ -0,0 +1,5 @@ +bin/ +obj/ +/packages/ +riderModule.iml +/_ReSharper.Caches/ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644
index 0000000..21c26b7 --- /dev/null +++ b/.gitmodules
@@ -0,0 +1,3 @@ +[submodule "LibMatrix"] + path = LibMatrix + url = https://cgit.rory.gay/matrix/LibMatrix.git diff --git a/.idea/.idea.MatrixAntiDmSpam/.idea/.gitignore b/.idea/.idea.MatrixAntiDmSpam/.idea/.gitignore new file mode 100644
index 0000000..cff0cde --- /dev/null +++ b/.idea/.idea.MatrixAntiDmSpam/.idea/.gitignore
@@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/projectSettingsUpdater.xml +/modules.xml +/.idea.MatrixAntiDmSpam.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.MatrixAntiDmSpam/.idea/encodings.xml b/.idea/.idea.MatrixAntiDmSpam/.idea/encodings.xml new file mode 100644
index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.MatrixAntiDmSpam/.idea/encodings.xml
@@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" /> +</project> \ No newline at end of file diff --git a/.idea/.idea.MatrixAntiDmSpam/.idea/indexLayout.xml b/.idea/.idea.MatrixAntiDmSpam/.idea/indexLayout.xml new file mode 100644
index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.MatrixAntiDmSpam/.idea/indexLayout.xml
@@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="UserContentModel"> + <attachedFolders /> + <explicitIncludes /> + <explicitExcludes /> + </component> +</project> \ No newline at end of file diff --git a/.idea/.idea.MatrixAntiDmSpam/.idea/vcs.xml b/.idea/.idea.MatrixAntiDmSpam/.idea/vcs.xml new file mode 100644
index 0000000..d843f34 --- /dev/null +++ b/.idea/.idea.MatrixAntiDmSpam/.idea/vcs.xml
@@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings" defaultProject="true" /> +</project> \ No newline at end of file diff --git a/.idea/.idea.MatrixInviteLogger/.idea/.gitignore b/.idea/.idea.MatrixInviteLogger/.idea/.gitignore new file mode 100644
index 0000000..60697e7 --- /dev/null +++ b/.idea/.idea.MatrixInviteLogger/.idea/.gitignore
@@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/contentModel.xml +/projectSettingsUpdater.xml +/.idea.MatrixInviteLogger.iml +/modules.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.MatrixInviteLogger/.idea/encodings.xml b/.idea/.idea.MatrixInviteLogger/.idea/encodings.xml new file mode 100644
index 0000000..df87cf9 --- /dev/null +++ b/.idea/.idea.MatrixInviteLogger/.idea/encodings.xml
@@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" /> +</project> \ No newline at end of file diff --git a/.idea/.idea.MatrixInviteLogger/.idea/indexLayout.xml b/.idea/.idea.MatrixInviteLogger/.idea/indexLayout.xml new file mode 100644
index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.MatrixInviteLogger/.idea/indexLayout.xml
@@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="UserContentModel"> + <attachedFolders /> + <explicitIncludes /> + <explicitExcludes /> + </component> +</project> \ No newline at end of file diff --git a/.idea/.idea.MatrixInviteLogger/.idea/vcs.xml b/.idea/.idea.MatrixInviteLogger/.idea/vcs.xml new file mode 100644
index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.MatrixInviteLogger/.idea/vcs.xml
@@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/LibMatrix b/LibMatrix new file mode 160000 +Subproject 08b552fc3ad6e81d8ebddc238043681da90673b diff --git a/MatrixAntiDmSpam.sln b/MatrixAntiDmSpam.sln new file mode 100644
index 0000000..296786a --- /dev/null +++ b/MatrixAntiDmSpam.sln
@@ -0,0 +1,308 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixAntiDmSpam", "MatrixAntiDmSpam\MatrixAntiDmSpam.csproj", "{876AA01B-0F3F-4954-8C57-27A8540504EE}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LibMatrix", "LibMatrix", "{6C4179B9-BFAA-0403-502F-9DAF28C26A6E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ArcaneLibs", "ArcaneLibs", "{17E2FB3F-0F61-3CDC-2874-2686F1726316}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs", "LibMatrix\ArcaneLibs\ArcaneLibs\ArcaneLibs.csproj", "{F3D13E8E-EDFF-4407-9442-9963C61D9EFF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.Blazor.Components", "LibMatrix\ArcaneLibs\ArcaneLibs.Blazor.Components\ArcaneLibs.Blazor.Components.csproj", "{164E2865-D5CF-48CF-9036-CD70B945BE82}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.Legacy", "LibMatrix\ArcaneLibs\ArcaneLibs.Legacy\ArcaneLibs.Legacy.csproj", "{9085E25B-2C3D-487E-9B52-304CAE2F88B8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.Logging", "LibMatrix\ArcaneLibs\ArcaneLibs.Logging\ArcaneLibs.Logging.csproj", "{5D0041E0-FEB3-460F-90FA-AE50173D8EE6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.StringNormalisation", "LibMatrix\ArcaneLibs\ArcaneLibs.StringNormalisation\ArcaneLibs.StringNormalisation.csproj", "{F98BECAE-E25F-436E-8D69-F00E83164E13}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.Tests", "LibMatrix\ArcaneLibs\ArcaneLibs.Tests\ArcaneLibs.Tests.csproj", "{7CF6BBC9-2176-452A-A55F-A315F611923A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.Timings", "LibMatrix\ArcaneLibs\ArcaneLibs.Timings\ArcaneLibs.Timings.csproj", "{C1F04A37-F946-4AA9-872D-A38A289F41BE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ArcaneLibs.UsageTest", "LibMatrix\ArcaneLibs\ArcaneLibs.UsageTest\ArcaneLibs.UsageTest.csproj", "{545A47FC-6BAA-4C92-BAD1-C1ED413077BC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.EventTypes", "LibMatrix\LibMatrix.EventTypes\LibMatrix.EventTypes.csproj", "{59745535-3681-423D-AE8F-5C08D4671ADC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix", "LibMatrix\LibMatrix\LibMatrix.csproj", "{6FE1B566-08DF-4BC0-AC2F-F9176AA17087}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.Tests", "LibMatrix\Tests\LibMatrix.Tests\LibMatrix.Tests.csproj", "{F04E9976-C303-4DEA-AA8D-EEDE6DF44069}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.DebugDataValidationApi", "LibMatrix\Utilities\LibMatrix.DebugDataValidationApi\LibMatrix.DebugDataValidationApi.csproj", "{A61BAD5E-77AC-49A0-8028-5E84EF990987}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.DevTestBot", "LibMatrix\Utilities\LibMatrix.DevTestBot\LibMatrix.DevTestBot.csproj", "{E6F92ED7-6EE2-4D71-8962-15613CD379BC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.E2eeTestKit", "LibMatrix\Utilities\LibMatrix.E2eeTestKit\LibMatrix.E2eeTestKit.csproj", "{3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.HomeserverEmulator", "LibMatrix\Utilities\LibMatrix.HomeserverEmulator\LibMatrix.HomeserverEmulator.csproj", "{272B0A44-B985-47FF-8C93-32A77F5919C9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.JsonSerializerContextGenerator", "LibMatrix\Utilities\LibMatrix.JsonSerializerContextGenerator\LibMatrix.JsonSerializerContextGenerator.csproj", "{D852D486-F1DA-48A6-BBAF-43FF3396527D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.TestDataGenerator", "LibMatrix\Utilities\LibMatrix.TestDataGenerator\LibMatrix.TestDataGenerator.csproj", "{6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LibMatrix.Utilities.Bot", "LibMatrix\Utilities\LibMatrix.Utilities.Bot\LibMatrix.Utilities.Bot.csproj", "{E526424D-ADC7-41DB-AD63-E359AC2954D9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Debug|x64.ActiveCfg = Debug|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Debug|x64.Build.0 = Debug|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Debug|x86.ActiveCfg = Debug|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Debug|x86.Build.0 = Debug|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Release|Any CPU.Build.0 = Release|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Release|x64.ActiveCfg = Release|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Release|x64.Build.0 = Release|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Release|x86.ActiveCfg = Release|Any CPU + {876AA01B-0F3F-4954-8C57-27A8540504EE}.Release|x86.Build.0 = Release|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Debug|x64.ActiveCfg = Debug|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Debug|x64.Build.0 = Debug|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Debug|x86.ActiveCfg = Debug|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Debug|x86.Build.0 = Debug|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Release|Any CPU.Build.0 = Release|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Release|x64.ActiveCfg = Release|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Release|x64.Build.0 = Release|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Release|x86.ActiveCfg = Release|Any CPU + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF}.Release|x86.Build.0 = Release|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Debug|Any CPU.Build.0 = Debug|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Debug|x64.ActiveCfg = Debug|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Debug|x64.Build.0 = Debug|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Debug|x86.ActiveCfg = Debug|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Debug|x86.Build.0 = Debug|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Release|Any CPU.ActiveCfg = Release|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Release|Any CPU.Build.0 = Release|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Release|x64.ActiveCfg = Release|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Release|x64.Build.0 = Release|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Release|x86.ActiveCfg = Release|Any CPU + {164E2865-D5CF-48CF-9036-CD70B945BE82}.Release|x86.Build.0 = Release|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Debug|x64.ActiveCfg = Debug|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Debug|x64.Build.0 = Debug|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Debug|x86.ActiveCfg = Debug|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Debug|x86.Build.0 = Debug|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Release|Any CPU.Build.0 = Release|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Release|x64.ActiveCfg = Release|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Release|x64.Build.0 = Release|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Release|x86.ActiveCfg = Release|Any CPU + {9085E25B-2C3D-487E-9B52-304CAE2F88B8}.Release|x86.Build.0 = Release|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Debug|x64.ActiveCfg = Debug|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Debug|x64.Build.0 = Debug|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Debug|x86.ActiveCfg = Debug|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Debug|x86.Build.0 = Debug|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Release|Any CPU.Build.0 = Release|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Release|x64.ActiveCfg = Release|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Release|x64.Build.0 = Release|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Release|x86.ActiveCfg = Release|Any CPU + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6}.Release|x86.Build.0 = Release|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Debug|x64.ActiveCfg = Debug|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Debug|x64.Build.0 = Debug|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Debug|x86.ActiveCfg = Debug|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Debug|x86.Build.0 = Debug|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Release|Any CPU.Build.0 = Release|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Release|x64.ActiveCfg = Release|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Release|x64.Build.0 = Release|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Release|x86.ActiveCfg = Release|Any CPU + {F98BECAE-E25F-436E-8D69-F00E83164E13}.Release|x86.Build.0 = Release|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Debug|x64.ActiveCfg = Debug|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Debug|x64.Build.0 = Debug|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Debug|x86.ActiveCfg = Debug|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Debug|x86.Build.0 = Debug|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Release|Any CPU.Build.0 = Release|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Release|x64.ActiveCfg = Release|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Release|x64.Build.0 = Release|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Release|x86.ActiveCfg = Release|Any CPU + {7CF6BBC9-2176-452A-A55F-A315F611923A}.Release|x86.Build.0 = Release|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Debug|x64.ActiveCfg = Debug|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Debug|x64.Build.0 = Debug|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Debug|x86.ActiveCfg = Debug|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Debug|x86.Build.0 = Debug|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Release|Any CPU.Build.0 = Release|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Release|x64.ActiveCfg = Release|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Release|x64.Build.0 = Release|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Release|x86.ActiveCfg = Release|Any CPU + {C1F04A37-F946-4AA9-872D-A38A289F41BE}.Release|x86.Build.0 = Release|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Debug|x64.ActiveCfg = Debug|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Debug|x64.Build.0 = Debug|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Debug|x86.ActiveCfg = Debug|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Debug|x86.Build.0 = Debug|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Release|Any CPU.Build.0 = Release|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Release|x64.ActiveCfg = Release|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Release|x64.Build.0 = Release|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Release|x86.ActiveCfg = Release|Any CPU + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC}.Release|x86.Build.0 = Release|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Debug|x64.ActiveCfg = Debug|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Debug|x64.Build.0 = Debug|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Debug|x86.ActiveCfg = Debug|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Debug|x86.Build.0 = Debug|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Release|Any CPU.Build.0 = Release|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Release|x64.ActiveCfg = Release|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Release|x64.Build.0 = Release|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Release|x86.ActiveCfg = Release|Any CPU + {59745535-3681-423D-AE8F-5C08D4671ADC}.Release|x86.Build.0 = Release|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Debug|x64.ActiveCfg = Debug|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Debug|x64.Build.0 = Debug|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Debug|x86.ActiveCfg = Debug|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Debug|x86.Build.0 = Debug|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Release|Any CPU.Build.0 = Release|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Release|x64.ActiveCfg = Release|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Release|x64.Build.0 = Release|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Release|x86.ActiveCfg = Release|Any CPU + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087}.Release|x86.Build.0 = Release|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Debug|x64.ActiveCfg = Debug|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Debug|x64.Build.0 = Debug|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Debug|x86.ActiveCfg = Debug|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Debug|x86.Build.0 = Debug|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Release|Any CPU.Build.0 = Release|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Release|x64.ActiveCfg = Release|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Release|x64.Build.0 = Release|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Release|x86.ActiveCfg = Release|Any CPU + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069}.Release|x86.Build.0 = Release|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Debug|x64.ActiveCfg = Debug|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Debug|x64.Build.0 = Debug|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Debug|x86.ActiveCfg = Debug|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Debug|x86.Build.0 = Debug|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Release|Any CPU.Build.0 = Release|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Release|x64.ActiveCfg = Release|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Release|x64.Build.0 = Release|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Release|x86.ActiveCfg = Release|Any CPU + {A61BAD5E-77AC-49A0-8028-5E84EF990987}.Release|x86.Build.0 = Release|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Debug|x64.ActiveCfg = Debug|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Debug|x64.Build.0 = Debug|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Debug|x86.ActiveCfg = Debug|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Debug|x86.Build.0 = Debug|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Release|Any CPU.Build.0 = Release|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Release|x64.ActiveCfg = Release|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Release|x64.Build.0 = Release|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Release|x86.ActiveCfg = Release|Any CPU + {E6F92ED7-6EE2-4D71-8962-15613CD379BC}.Release|x86.Build.0 = Release|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Debug|x64.ActiveCfg = Debug|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Debug|x64.Build.0 = Debug|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Debug|x86.ActiveCfg = Debug|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Debug|x86.Build.0 = Debug|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Release|Any CPU.Build.0 = Release|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Release|x64.ActiveCfg = Release|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Release|x64.Build.0 = Release|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Release|x86.ActiveCfg = Release|Any CPU + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50}.Release|x86.Build.0 = Release|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Debug|x64.ActiveCfg = Debug|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Debug|x64.Build.0 = Debug|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Debug|x86.ActiveCfg = Debug|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Debug|x86.Build.0 = Debug|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Release|Any CPU.Build.0 = Release|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Release|x64.ActiveCfg = Release|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Release|x64.Build.0 = Release|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Release|x86.ActiveCfg = Release|Any CPU + {272B0A44-B985-47FF-8C93-32A77F5919C9}.Release|x86.Build.0 = Release|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Debug|x64.ActiveCfg = Debug|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Debug|x64.Build.0 = Debug|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Debug|x86.ActiveCfg = Debug|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Debug|x86.Build.0 = Debug|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Release|Any CPU.Build.0 = Release|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Release|x64.ActiveCfg = Release|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Release|x64.Build.0 = Release|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Release|x86.ActiveCfg = Release|Any CPU + {D852D486-F1DA-48A6-BBAF-43FF3396527D}.Release|x86.Build.0 = Release|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Debug|x64.ActiveCfg = Debug|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Debug|x64.Build.0 = Debug|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Debug|x86.ActiveCfg = Debug|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Debug|x86.Build.0 = Debug|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Release|Any CPU.Build.0 = Release|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Release|x64.ActiveCfg = Release|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Release|x64.Build.0 = Release|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Release|x86.ActiveCfg = Release|Any CPU + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A}.Release|x86.Build.0 = Release|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Debug|x64.ActiveCfg = Debug|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Debug|x64.Build.0 = Debug|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Debug|x86.ActiveCfg = Debug|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Debug|x86.Build.0 = Debug|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|Any CPU.Build.0 = Release|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x64.ActiveCfg = Release|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x64.Build.0 = Release|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x86.ActiveCfg = Release|Any CPU + {E526424D-ADC7-41DB-AD63-E359AC2954D9}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {17E2FB3F-0F61-3CDC-2874-2686F1726316} = {6C4179B9-BFAA-0403-502F-9DAF28C26A6E} + {F3D13E8E-EDFF-4407-9442-9963C61D9EFF} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {164E2865-D5CF-48CF-9036-CD70B945BE82} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {9085E25B-2C3D-487E-9B52-304CAE2F88B8} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {5D0041E0-FEB3-460F-90FA-AE50173D8EE6} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {F98BECAE-E25F-436E-8D69-F00E83164E13} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {7CF6BBC9-2176-452A-A55F-A315F611923A} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {C1F04A37-F946-4AA9-872D-A38A289F41BE} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {545A47FC-6BAA-4C92-BAD1-C1ED413077BC} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {59745535-3681-423D-AE8F-5C08D4671ADC} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {6FE1B566-08DF-4BC0-AC2F-F9176AA17087} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {F04E9976-C303-4DEA-AA8D-EEDE6DF44069} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {A61BAD5E-77AC-49A0-8028-5E84EF990987} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {E6F92ED7-6EE2-4D71-8962-15613CD379BC} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {3D5DDCB4-3840-4ACE-AB17-A217F3A27F50} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {272B0A44-B985-47FF-8C93-32A77F5919C9} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {D852D486-F1DA-48A6-BBAF-43FF3396527D} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {6C5E7FB8-D6E8-4CBD-95FC-89EAB773472A} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + {E526424D-ADC7-41DB-AD63-E359AC2954D9} = {17E2FB3F-0F61-3CDC-2874-2686F1726316} + EndGlobalSection +EndGlobal diff --git a/MatrixAntiDmSpam.sln.DotSettings.user b/MatrixAntiDmSpam.sln.DotSettings.user new file mode 100644
index 0000000..c8aa6db --- /dev/null +++ b/MatrixAntiDmSpam.sln.DotSettings.user
@@ -0,0 +1,5 @@ +<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> + <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AExceptionDispatchInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fea51ca5e833244688d7ca912cfc70784d19c00_003F97_003Ffb30ee1f_003FExceptionDispatchInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> + <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AObjectExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8fd5e96d6574456095123be1ecfbdfa914200_003Fe2_003F3561a383_003FObjectExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> + <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AServiceCollectionHostedServiceExtensions_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Ff13297a632424a6abffea4dd75a36a75d128_003Ff9_003Fb35aae11_003FServiceCollectionHostedServiceExtensions_002Ecs/@EntryIndexedValue">ForceIncluded</s:String> + <s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AStackFrameIterator_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002Econfig_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fea51ca5e833244688d7ca912cfc70784d19c00_003F86_003F8b4aa64e_003FStackFrameIterator_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary> \ No newline at end of file diff --git a/MatrixAntiDmSpam/AntiDmSpamConfiguration.cs b/MatrixAntiDmSpam/AntiDmSpamConfiguration.cs new file mode 100644
index 0000000..0e10a91 --- /dev/null +++ b/MatrixAntiDmSpam/AntiDmSpamConfiguration.cs
@@ -0,0 +1,14 @@ +namespace MatrixAntiDmSpam; + +public class AntiDmSpamConfiguration { + public AntiDmSpamConfiguration(IConfiguration config) => config.GetRequiredSection("AntiDmSpam").Bind(this); + public string? LogRoom { get; set; } + public bool LogInviteDataAsFile { get; set; } + + public List<PolicyRoomReference> PolicyLists { get; set; } + + public class PolicyRoomReference { + public string RoomId { get; set; } + public List<string> Vias { get; set; } + } +} \ No newline at end of file diff --git a/MatrixAntiDmSpam/InviteHandler.cs b/MatrixAntiDmSpam/InviteHandler.cs new file mode 100644
index 0000000..cfa04dc --- /dev/null +++ b/MatrixAntiDmSpam/InviteHandler.cs
@@ -0,0 +1,110 @@ +using System.Text.Json; +using ArcaneLibs; +using ArcaneLibs.Extensions; +using LibMatrix.EventTypes.Spec.State.RoomInfo; +using LibMatrix.Helpers; +using LibMatrix.Utilities.Bot.Services; + +namespace MatrixAntiDmSpam; + +public class InviteHandler(ILogger<InviteHandler> logger, AntiDmSpamConfiguration config) : InviteHandlerHostedService.IInviteHandler { + public async Task HandleInviteAsync(InviteHandlerHostedService.InviteEventArgs invite) { + logger.LogInformation("Received invite to room {}", invite.RoomId); + await LogInvite(invite); + } + + private async Task LogInvite(InviteHandlerHostedService.InviteEventArgs invite) { + if (string.IsNullOrWhiteSpace(config.LogRoom)) return; + var logRoom = invite.Homeserver.GetRoom(config.LogRoom); + var inviterName = await GetInviterNameAsync(invite); + string roomName = await GetRoomNameAsync(invite); + + logger.LogInformation("Inviter: {}, Room: {}", inviterName, roomName); + + var message = new MessageBuilder() + .WithBody("Received invite to ").WithMention(invite.RoomId, roomName).WithBody(" from ").WithMention(invite.MemberEvent.Sender!, inviterName) + .Build(); + + // TODO: can we filter this somehow to stay within event size limits? + // var serialisedInviteData = JsonNode.Parse(invite.InviteData.ToJson(ignoreNull: true)); + // message.AdditionalData!["gay.rory.invite_logger.invite_data"] = serialisedInviteData!; + + var inviteData = invite.InviteData.ToJsonUtf8Bytes(ignoreNull: true); + var inviteDataFileUri = await invite.Homeserver.UploadFile(invite.RoomId + ".json", inviteData, "application/json"); + logger.LogInformation("Uploaded invite data ({}) to {}", Util.BytesToString(inviteData.Length), inviteDataFileUri); + + // Dictionary<string, JsonElement> + message.AdditionalData!["gay.rory.invite_logger.invite_data_uri"] = JsonDocument.Parse($"\"{inviteDataFileUri}\"").RootElement; + + await logRoom.SendMessageEventAsync(message); + + if (config.LogInviteDataAsFile) { + await logRoom.SendMessageEventAsync(new() { + MessageType = "m.file", + Body = invite.RoomId + ".json", + FileName = invite.RoomId + ".json", + Url = inviteDataFileUri, + FileInfo = new() { Size = inviteData.Length, MimeType = "application/json" } + }); + } + } + + private async Task<string> GetInviterNameAsync(InviteHandlerHostedService.InviteEventArgs invite) { + var name = invite.InviteData.InviteState?.Events? + .FirstOrDefault(evt => evt is { Type: RoomMemberEventContent.EventId } && evt.StateKey == invite.MemberEvent.Sender)? + .ContentAs<RoomMemberEventContent>()?.DisplayName; + + if (!string.IsNullOrWhiteSpace(name)) + return name; + + try { + await invite.Homeserver.GetProfileAsync(invite.MemberEvent.Sender!); + } + catch { + //ignored + } + + return invite.MemberEvent.Sender!; + } + + private async Task<string> GetRoomNameAsync(InviteHandlerHostedService.InviteEventArgs invite) { + // try get room name from invite state + var name = invite.InviteData.InviteState?.Events? + .FirstOrDefault(evt => evt is { Type: RoomNameEventContent.EventId, StateKey: "" })? + .ContentAs<RoomNameEventContent>()?.Name; + + if (!string.IsNullOrWhiteSpace(name)) + return name; + + // try get room alias + var alias = invite.InviteData.InviteState?.Events? + .FirstOrDefault(evt => evt is { Type: RoomCanonicalAliasEventContent.EventId, StateKey: "" })? + .ContentAs<RoomCanonicalAliasEventContent>()?.Alias; + + if (!string.IsNullOrWhiteSpace(alias)) + return alias; + + // try get room name via public previews + try { + name = await invite.Homeserver.GetRoom(invite.RoomId).GetNameOrFallbackAsync(); + if (name != invite.RoomId && !string.IsNullOrWhiteSpace(name)) + return name; + } + catch { + //ignored + } + + // fallback to room alias via public previews + try { + alias = (await invite.Homeserver.GetRoom(invite.RoomId).GetCanonicalAliasAsync())?.Alias; + if (!string.IsNullOrWhiteSpace(alias)) + return alias; + } + catch { + //ignored + } + + // fall back to room ID + return invite.RoomId; + } +} \ No newline at end of file diff --git a/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj b/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj new file mode 100644
index 0000000..5a322ce --- /dev/null +++ b/MatrixAntiDmSpam/MatrixAntiDmSpam.csproj
@@ -0,0 +1,17 @@ +<Project Sdk="Microsoft.NET.Sdk.Worker"> + + <PropertyGroup> + <TargetFramework>net9.0</TargetFramework> + <Nullable>enable</Nullable> + <ImplicitUsings>enable</ImplicitUsings> + <UserSecretsId>dotnet-MatrixInviteLogger-87d8c346-8c07-42f9-8bfb-f2a714bbd663</UserSecretsId> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.2"/> + </ItemGroup> + + <ItemGroup> + <ProjectReference Include="..\LibMatrix\Utilities\LibMatrix.Utilities.Bot\LibMatrix.Utilities.Bot.csproj" /> + </ItemGroup> +</Project> diff --git a/MatrixAntiDmSpam/PolicyListFetcher.cs b/MatrixAntiDmSpam/PolicyListFetcher.cs new file mode 100644
index 0000000..0119527 --- /dev/null +++ b/MatrixAntiDmSpam/PolicyListFetcher.cs
@@ -0,0 +1,27 @@ +using LibMatrix.Homeservers; + +namespace MatrixAntiDmSpam; + +public class PolicyListFetcher(ILogger<PolicyListFetcher> logger, AntiDmSpamConfiguration config, AuthenticatedHomeserverGeneric homeserver) : IHostedService { + + + public async Task StartAsync(CancellationToken cancellationToken) { + logger.LogInformation("Starting policy list fetcher"); + await EnsurePolicyListsJoined(); + } + + public async Task StopAsync(CancellationToken cancellationToken) { + logger.LogInformation("Stopping policy list fetcher"); + } + + private async Task EnsurePolicyListsJoined() { + var joinedRooms = await homeserver.GetJoinedRooms(); + var expectedPolicyRooms = config.PolicyLists; + var missingRooms = expectedPolicyRooms.Where(room => !joinedRooms.Any(r => r.RoomId == room.RoomId)).ToList(); + + foreach (var room in missingRooms) { + logger.LogInformation("Joining policy list room {}", room.RoomId); + await homeserver.GetRoom(room.RoomId).JoinAsync(room.Vias); + } + } +} \ No newline at end of file diff --git a/MatrixAntiDmSpam/Program.cs b/MatrixAntiDmSpam/Program.cs new file mode 100644
index 0000000..cbf1dc9 --- /dev/null +++ b/MatrixAntiDmSpam/Program.cs
@@ -0,0 +1,16 @@ +using System.ComponentModel; +using LibMatrix.Services; +using LibMatrix.Utilities.Bot; +using MatrixAntiDmSpam; + +var builder = Host.CreateApplicationBuilder(args); + +builder.Services.AddSingleton<AntiDmSpamConfiguration>(); +builder.Services.AddRoryLibMatrixServices() + .AddMatrixBot() + .WithInviteHandler<InviteHandler>(); + +builder.Services.AddHostedService<PolicyListFetcher>(); + +var host = builder.Build(); +host.Run(); \ No newline at end of file diff --git a/MatrixAntiDmSpam/Properties/launchSettings.json b/MatrixAntiDmSpam/Properties/launchSettings.json new file mode 100644
index 0000000..383a8e2 --- /dev/null +++ b/MatrixAntiDmSpam/Properties/launchSettings.json
@@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "MatrixInviteLogger": { + "commandName": "Project", + "dotnetRunMessages": true, + "environmentVariables": { + "DOTNET_ENVIRONMENT": "Development" + } + } + } +} diff --git a/MatrixAntiDmSpam/appsettings.Development.json b/MatrixAntiDmSpam/appsettings.Development.json new file mode 100644
index 0000000..45717aa --- /dev/null +++ b/MatrixAntiDmSpam/appsettings.Development.json
@@ -0,0 +1,16 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "LibMatrixBot": { + "Homeserver": "rory.gay", + "AccessTokenPath": "/home/Rory/matrix_access_token" + }, + "AntiDmSpam": { + "LogRoom": "!GrLSwdAkdrvfMrRYKR:rory.gay", + "LogInviteDataAsFile": true + } +} diff --git a/MatrixAntiDmSpam/appsettings.json b/MatrixAntiDmSpam/appsettings.json new file mode 100644
index 0000000..b2dcdb6 --- /dev/null +++ b/MatrixAntiDmSpam/appsettings.json
@@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.Hosting.Lifetime": "Information" + } + } +}