diff --git a/.editorconfig b/.editorconfig
index 9a88a72..71a0517 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -1,1334 +1,1338 @@
[*]
-charset = utf-8
-end_of_line = lf
-indent_size = 4
-indent_style = space
-insert_final_newline = false
-max_line_length = 120
-tab_width = 4
-trim_trailing_whitespace = false
-ij_continuation_indent_size = 8
+charset = utf-8
+end_of_line = lf
+indent_size = 2
+indent_style = space
+insert_final_newline = false
+max_line_length = 120
+tab_width = 2
+trim_trailing_whitespace = false
+ij_continuation_indent_size = 4
ij_formatter_off_tag = @formatter:off
-ij_formatter_on_tag = @formatter:on
-ij_formatter_tags_enabled = true
-ij_smart_tabs = false
-ij_visual_guides =
-ij_wrap_on_typing = false
+ij_formatter_on_tag = @formatter:on
+ij_formatter_tags_enabled = true
+ij_smart_tabs = false
+ij_visual_guides =
+ij_wrap_on_typing = false
# Microsoft .NET properties
-csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
-csharp_space_after_keywords_in_control_flow_statements = false
-csharp_style_namespace_declarations = file_scoped:warning
-csharp_style_prefer_utf8_string_literals = true:warning
-csharp_style_var_elsewhere = false:suggestion
-csharp_style_var_for_built_in_types = false:suggestion
-csharp_style_var_when_type_is_apparent = true:suggestion
-csharp_using_directive_placement = outside_namespace:silent
-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 = all_upper_style
-dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols
-dotnet_naming_rule.unity_serialized_field_rule.import_to_resharper = True
-dotnet_naming_rule.unity_serialized_field_rule.resharper_description = Unity serialized field
-dotnet_naming_rule.unity_serialized_field_rule.resharper_guid = 5f0fdb63-c892-4d2c-9324-15c80b22a7ef
-dotnet_naming_rule.unity_serialized_field_rule.severity = warning
-dotnet_naming_rule.unity_serialized_field_rule.style = lower_camel_case_style
-dotnet_naming_rule.unity_serialized_field_rule.symbols = unity_serialized_field_symbols
-dotnet_naming_style.all_upper_style.capitalization = all_upper
-dotnet_naming_style.all_upper_style.word_separator = _
-dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
-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.unity_serialized_field_symbols.applicable_accessibilities = *
-dotnet_naming_symbols.unity_serialized_field_symbols.applicable_kinds =
-dotnet_naming_symbols.unity_serialized_field_symbols.resharper_applicable_kinds = unity_serialised_field
-dotnet_naming_symbols.unity_serialized_field_symbols.resharper_required_modifiers = instance
-dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:warning
-dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning
-dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:warning
-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 = never:suggestion
+csharp_preferred_modifier_order = public, private, protected, internal, file, new, static, abstract, virtual, sealed, readonly, override, extern, unsafe, volatile, async, required:suggestion
+csharp_space_after_keywords_in_control_flow_statements = false
+csharp_style_namespace_declarations = file_scoped:warning
+csharp_style_prefer_utf8_string_literals = true:warning
+csharp_style_var_elsewhere = false:suggestion
+csharp_style_var_for_built_in_types = false:suggestion
+csharp_style_var_when_type_is_apparent = true:suggestion
+csharp_using_directive_placement = outside_namespace:silent
+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 = all_upper_style
+dotnet_naming_rule.private_constants_rule.symbols = private_constants_symbols
+dotnet_naming_rule.unity_serialized_field_rule.import_to_resharper = True
+dotnet_naming_rule.unity_serialized_field_rule.resharper_description = Unity serialized field
+dotnet_naming_rule.unity_serialized_field_rule.resharper_guid = 5f0fdb63-c892-4d2c-9324-15c80b22a7ef
+dotnet_naming_rule.unity_serialized_field_rule.severity = warning
+dotnet_naming_rule.unity_serialized_field_rule.style = lower_camel_case_style
+dotnet_naming_rule.unity_serialized_field_rule.symbols = unity_serialized_field_symbols
+dotnet_naming_style.all_upper_style.capitalization = all_upper
+dotnet_naming_style.all_upper_style.word_separator = _
+dotnet_naming_style.lower_camel_case_style.capitalization = camel_case
+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.unity_serialized_field_symbols.applicable_accessibilities = *
+dotnet_naming_symbols.unity_serialized_field_symbols.applicable_kinds =
+dotnet_naming_symbols.unity_serialized_field_symbols.resharper_applicable_kinds = unity_serialised_field
+dotnet_naming_symbols.unity_serialized_field_symbols.resharper_required_modifiers = instance
+dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:warning
+dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:warning
+dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:warning
+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 = never:suggestion
# ReSharper properties
-resharper_align_linq_query = true
-resharper_align_multiline_argument = true
-resharper_align_multiline_array_and_object_initializer = false
-resharper_align_multiline_binary_expressions_chain = true
-resharper_align_multiline_binary_patterns = true
-resharper_align_multiline_calls_chain = true
-resharper_align_multiline_expression = true
-resharper_align_multiline_expression_braces = true
-resharper_align_multiline_extends_list = true
-resharper_align_multiline_for_stmt = true
-resharper_align_multiline_list_pattern = true
-resharper_align_multiline_parameter = true
-resharper_align_multiline_property_pattern = true
-resharper_align_multiline_switch_expression = true
-resharper_align_multiple_declaration = true
-resharper_align_multline_type_parameter_constrains = true
-resharper_align_multline_type_parameter_list = true
-resharper_align_ternary = align_all
-resharper_align_tuple_components = true
-resharper_autodetect_indent_settings = true
-resharper_braces_for_for = required_for_multiline
-resharper_braces_for_foreach = required_for_multiline
-resharper_braces_for_ifelse = required_for_multiline
-resharper_braces_for_while = required_for_multiline
-resharper_builtin_type_apply_to_native_integer = true
-resharper_constructor_or_destructor_body = expression_body
-resharper_csharp_align_first_arg_by_paren = true
-resharper_csharp_empty_block_style = together_same_line
-resharper_csharp_place_comments_at_first_column = true
-resharper_csharp_prefer_qualified_reference = false
-resharper_default_value_when_type_not_evident = default_expression
-resharper_enforce_line_ending_style = true
+resharper_align_first_arg_by_paren = false
+resharper_align_linq_query = true
+resharper_align_multiline_argument = true
+resharper_align_multiline_array_and_object_initializer = false
+resharper_align_multiline_binary_expressions_chain = true
+resharper_align_multiline_binary_patterns = true
+resharper_align_multiline_calls_chain = true
+resharper_align_multiline_expression = true
+resharper_align_multiline_expression_braces = true
+resharper_align_multiline_extends_list = true
+resharper_align_multiline_for_stmt = true
+resharper_align_multiline_list_pattern = true
+resharper_align_multiline_parameter = true
+resharper_align_multiline_property_pattern = true
+resharper_align_multiline_switch_expression = true
+resharper_align_multiple_declaration = true
+resharper_align_multline_type_parameter_constrains = true
+resharper_align_multline_type_parameter_list = true
+resharper_align_ternary = align_all
+resharper_align_tuple_components = true
+resharper_autodetect_indent_settings = true
+resharper_braces_for_for = required_for_multiline
+resharper_braces_for_foreach = required_for_multiline
+resharper_braces_for_ifelse = required_for_multiline
+resharper_braces_for_while = required_for_multiline
+resharper_builtin_type_apply_to_native_integer = false
+resharper_constructor_or_destructor_body = expression_body
+resharper_csharp_align_first_arg_by_paren = false
+resharper_csharp_empty_block_style = together_same_line
+resharper_csharp_place_comments_at_first_column = true
+resharper_csharp_prefer_qualified_reference = false
+resharper_default_value_when_type_not_evident = default_expression
+resharper_enforce_line_ending_style = true
resharper_formatter_off_tag = @formatter:off
-resharper_formatter_on_tag = @formatter:on
-resharper_formatter_tags_enabled = true
-resharper_for_built_in_types = use_var_when_evident
-resharper_function_declaration_return_type_style = on_single_line
-resharper_function_definition_return_type_style = on_single_line
-resharper_html_pi_attribute_style = first_attribute_on_single_line
-resharper_indent_anonymous_method_block = true
-resharper_indent_preprocessor_if = outdent
-resharper_indent_preprocessor_other = outdent
-resharper_indent_preprocessor_region = outdent
-resharper_int_align = true
-resharper_int_align_bitfield_sizes = true
-resharper_int_align_comments = true
-resharper_int_align_declaration_names = true
-resharper_int_align_enum_initializers = true
-resharper_int_align_eq = true
-resharper_keep_existing_embedded_arrangement = false
-resharper_keep_existing_initializer_arrangement = false
-resharper_keep_existing_list_patterns_arrangement = false
-resharper_keep_existing_property_patterns_arrangement = false
-resharper_keep_existing_switch_expression_arrangement = false
-resharper_line_break_after_colon_in_member_initializer_lists = on_single_line
-resharper_line_break_before_requires_clause = on_single_line
-resharper_linkage_specification_indentation = all
-resharper_local_function_body = expression_body
-resharper_member_initializer_list_style = on_single_line
-resharper_method_or_operator_body = expression_body
-resharper_outdent_binary_ops = true
-resharper_outdent_binary_pattern_ops = true
-resharper_outdent_commas = true
-resharper_outdent_dots = true
-resharper_outdent_statement_labels = true
-resharper_parentheses_redundancy_style = remove
-resharper_place_attribute_on_same_line = false
-resharper_place_simple_embedded_statement_on_same_line = false
-resharper_qualified_using_at_nested_scope = true
-resharper_show_autodetect_configure_formatting_tip = false
-resharper_simple_block_style = on_single_line
-resharper_simple_case_statement_style = line_break
-resharper_simple_embedded_statement_style = on_single_line
-resharper_space_after_ptr_in_data_member = false
-resharper_space_after_ptr_in_method = false
-resharper_space_after_ref_in_data_member = false
-resharper_space_after_ref_in_method = false
-resharper_space_before_ptr_in_data_member = true
-resharper_space_before_ptr_in_method = true
-resharper_space_before_ref_in_data_member = true
-resharper_space_before_ref_in_method = true
-resharper_space_before_template_params = false
-resharper_space_within_empty_braces = false
-resharper_toplevel_function_declaration_return_type_style = on_single_line
-resharper_toplevel_function_definition_return_type_style = on_single_line
-resharper_use_indent_from_vs = false
-resharper_wrap_after_dot_in_method_calls = true
-resharper_wrap_base_clause_style = chop_if_long
-resharper_wrap_braced_init_list_style = chop_if_long
-resharper_wrap_ctor_initializer_style = chop_if_long
-resharper_wrap_lines = true
-resharper_xmldoc_attribute_indent = align_by_first_attribute
-resharper_xmldoc_attribute_style = first_attribute_on_single_line
-resharper_xmldoc_pi_attribute_style = first_attribute_on_single_line
+resharper_formatter_on_tag = @formatter:on
+resharper_formatter_tags_enabled = true
+resharper_for_built_in_types = use_var_when_evident
+resharper_function_declaration_return_type_style = on_single_line
+resharper_function_definition_return_type_style = on_single_line
+resharper_html_pi_attribute_style = first_attribute_on_single_line
+resharper_indent_anonymous_method_block = false
+resharper_indent_preprocessor_if = outdent
+resharper_indent_preprocessor_other = outdent
+resharper_indent_preprocessor_region = outdent
+resharper_int_align = true
+resharper_int_align_bitfield_sizes = true
+resharper_int_align_comments = true
+resharper_int_align_declaration_names = true
+resharper_int_align_enum_initializers = true
+resharper_int_align_eq = true
+resharper_keep_existing_embedded_arrangement = false
+resharper_keep_existing_initializer_arrangement = false
+resharper_keep_existing_list_patterns_arrangement = false
+resharper_keep_existing_property_patterns_arrangement = false
+resharper_keep_existing_switch_expression_arrangement = false
+resharper_line_break_after_colon_in_member_initializer_lists = on_single_line
+resharper_line_break_before_requires_clause = on_single_line
+resharper_linkage_specification_indentation = all
+resharper_local_function_body = expression_body
+resharper_member_initializer_list_style = on_single_line
+resharper_method_or_operator_body = expression_body
+resharper_outdent_binary_ops = true
+resharper_outdent_binary_pattern_ops = true
+resharper_outdent_commas = true
+resharper_outdent_dots = true
+resharper_outdent_statement_labels = true
+resharper_parentheses_redundancy_style = remove
+resharper_place_attribute_on_same_line = false
+resharper_place_simple_embedded_statement_on_same_line = false
+resharper_qualified_using_at_nested_scope = true
+resharper_show_autodetect_configure_formatting_tip = false
+resharper_simple_block_style = on_single_line
+resharper_simple_case_statement_style = line_break
+resharper_simple_embedded_statement_style = on_single_line
+resharper_space_after_ptr_in_data_member = false
+resharper_space_after_ptr_in_method = false
+resharper_space_after_ref_in_data_member = false
+resharper_space_after_ref_in_method = false
+resharper_space_before_ptr_in_data_member = true
+resharper_space_before_ptr_in_method = true
+resharper_space_before_ref_in_data_member = true
+resharper_space_before_ref_in_method = true
+resharper_space_before_template_params = false
+resharper_space_within_empty_braces = false
+resharper_toplevel_function_declaration_return_type_style = on_single_line
+resharper_toplevel_function_definition_return_type_style = on_single_line
+resharper_use_indent_from_vs = false
+resharper_wrap_after_dot_in_method_calls = true
+resharper_wrap_base_clause_style = chop_if_long
+resharper_wrap_braced_init_list_style = chop_if_long
+resharper_wrap_ctor_initializer_style = chop_if_long
+resharper_wrap_lines = true
+resharper_xmldoc_attribute_indent = align_by_first_attribute
+resharper_xmldoc_attribute_style = first_attribute_on_single_line
+resharper_xmldoc_pi_attribute_style = first_attribute_on_single_line
# ReSharper inspection severities
-resharper_annotate_can_be_null_parameter_highlighting = warning
-resharper_annotate_can_be_null_type_member_highlighting = warning
-resharper_annotate_not_null_parameter_highlighting = warning
-resharper_annotate_not_null_type_member_highlighting = warning
-resharper_arguments_style_anonymous_function_highlighting = warning
-resharper_arguments_style_literal_highlighting = warning
-resharper_arguments_style_named_expression_highlighting = warning
-resharper_arguments_style_other_highlighting = warning
-resharper_arguments_style_string_literal_highlighting = warning
-resharper_arrange_accessor_owner_body_highlighting = warning
-resharper_arrange_constructor_or_destructor_body_highlighting = warning
-resharper_arrange_local_function_body_highlighting = warning
-resharper_arrange_method_or_operator_body_highlighting = warning
-resharper_arrange_redundant_parentheses_highlighting = hint
-resharper_arrange_static_member_qualifier_highlighting = warning
-resharper_arrange_this_qualifier_highlighting = hint
-resharper_arrange_trailing_comma_in_multiline_lists_highlighting = warning
-resharper_arrange_trailing_comma_in_singleline_lists_highlighting = warning
-resharper_arrange_type_member_modifiers_highlighting = hint
-resharper_arrange_type_modifiers_highlighting = hint
-resharper_arrange_var_keywords_in_deconstructing_declaration_highlighting = warning
-resharper_async_void_method_highlighting = warning
-resharper_auto_property_can_be_made_get_only_global_highlighting = warning
-resharper_auto_property_can_be_made_get_only_local_highlighting = warning
-resharper_bad_attribute_brackets_spaces_highlighting = warning
-resharper_bad_braces_spaces_highlighting = warning
-resharper_bad_colon_spaces_highlighting = warning
-resharper_bad_comma_spaces_highlighting = warning
-resharper_bad_control_braces_indent_highlighting = warning
-resharper_bad_control_braces_line_breaks_highlighting = warning
-resharper_bad_declaration_braces_indent_highlighting = warning
-resharper_bad_declaration_braces_line_breaks_highlighting = warning
-resharper_bad_empty_braces_line_breaks_highlighting = warning
-resharper_bad_expression_braces_indent_highlighting = warning
-resharper_bad_expression_braces_line_breaks_highlighting = warning
-resharper_bad_generic_brackets_spaces_highlighting = warning
-resharper_bad_indent_highlighting = warning
-resharper_bad_linq_line_breaks_highlighting = warning
-resharper_bad_member_access_spaces_highlighting = warning
-resharper_bad_namespace_braces_indent_highlighting = warning
-resharper_bad_parens_line_breaks_highlighting = warning
-resharper_bad_parens_spaces_highlighting = warning
-resharper_bad_preprocessor_indent_highlighting = warning
-resharper_bad_semicolon_spaces_highlighting = warning
-resharper_bad_spaces_after_keyword_highlighting = warning
-resharper_bad_square_brackets_spaces_highlighting = warning
-resharper_bad_switch_braces_indent_highlighting = warning
-resharper_bad_symbol_spaces_highlighting = warning
-resharper_built_in_type_reference_style_for_member_access_highlighting = hint
-resharper_built_in_type_reference_style_highlighting = hint
-resharper_check_for_reference_equality_instead_1_highlighting = warning
-resharper_check_for_reference_equality_instead_2_highlighting = warning
-resharper_check_for_reference_equality_instead_3_highlighting = warning
-resharper_check_for_reference_equality_instead_4_highlighting = warning
-resharper_class_can_be_sealed_global_highlighting = warning
-resharper_class_can_be_sealed_local_highlighting = warning
-resharper_class_never_instantiated_global_highlighting = warning
-resharper_class_never_instantiated_local_highlighting = warning
-resharper_class_with_virtual_members_never_inherited_global_highlighting = warning
-resharper_class_with_virtual_members_never_inherited_local_highlighting = warning
-resharper_comment_typo_highlighting = none
-resharper_compare_non_constrained_generic_with_null_highlighting = warning
-resharper_convert_closure_to_method_group_highlighting = warning
-resharper_convert_conditional_ternary_expression_to_switch_expression_highlighting = warning
-resharper_convert_if_do_to_while_highlighting = warning
-resharper_convert_if_statement_to_conditional_ternary_expression_highlighting = warning
-resharper_convert_if_statement_to_null_coalescing_assignment_highlighting = warning
-resharper_convert_if_statement_to_null_coalescing_expression_highlighting = warning
-resharper_convert_if_statement_to_return_statement_highlighting = warning
-resharper_convert_if_statement_to_switch_statement_highlighting = warning
-resharper_convert_if_to_or_expression_highlighting = warning
-resharper_convert_nullable_to_short_form_highlighting = warning
-resharper_convert_switch_statement_to_switch_expression_highlighting = warning
-resharper_convert_to_auto_property_highlighting = warning
-resharper_convert_to_auto_property_when_possible_highlighting = warning
-resharper_convert_to_auto_property_with_private_setter_highlighting = warning
-resharper_convert_to_compound_assignment_highlighting = warning
-resharper_convert_to_constant_global_highlighting = warning
-resharper_convert_to_constant_local_highlighting = warning
-resharper_convert_to_lambda_expression_highlighting = warning
-resharper_convert_to_local_function_highlighting = warning
-resharper_convert_to_null_coalescing_compound_assignment_highlighting = warning
-resharper_convert_to_primary_constructor_highlighting = warning
-resharper_convert_to_static_class_highlighting = warning
-resharper_convert_to_using_declaration_highlighting = warning
-resharper_cpp_enforce_cv_qualifiers_order_highlighting = hint
-resharper_cpp_enforce_cv_qualifiers_placement_highlighting = hint
-resharper_cpp_enforce_do_statement_braces_highlighting = hint
-resharper_cpp_enforce_for_statement_braces_highlighting = hint
-resharper_cpp_enforce_function_declaration_style_highlighting = hint
-resharper_cpp_enforce_if_statement_braces_highlighting = hint
-resharper_cpp_enforce_type_alias_code_style_highlighting = hint
-resharper_cpp_enforce_while_statement_braces_highlighting = hint
-resharper_cpp_remove_redundant_braces_highlighting = hint
-resharper_double_negation_in_pattern_highlighting = warning
-resharper_double_negation_operator_highlighting = warning
-resharper_event_never_invoked_global_highlighting = warning
-resharper_event_never_subscribed_to_global_highlighting = warning
-resharper_event_never_subscribed_to_local_highlighting = warning
-resharper_field_can_be_made_read_only_global_highlighting = warning
-resharper_field_can_be_made_read_only_local_highlighting = warning
-resharper_foreach_can_be_converted_to_query_using_another_get_enumerator_highlighting = warning
-resharper_foreach_can_be_partly_converted_to_query_using_another_get_enumerator_highlighting = none
-resharper_for_can_be_converted_to_foreach_highlighting = warning
-resharper_heap_view_boxing_allocation_highlighting = none
-resharper_heap_view_closure_allocation_highlighting = none
-resharper_heap_view_delegate_allocation_highlighting = none
-resharper_heap_view_object_allocation_evident_highlighting = none
-resharper_heap_view_object_allocation_highlighting = none
-resharper_identifier_typo_highlighting = none
-resharper_incorrect_blank_lines_near_braces_highlighting = warning
-resharper_inheritdoc_consider_usage_highlighting = warning
-resharper_inline_out_variable_declaration_highlighting = warning
-resharper_inline_temporary_variable_highlighting = warning
-resharper_introduce_optional_parameters_global_highlighting = warning
-resharper_introduce_optional_parameters_local_highlighting = warning
-resharper_invert_condition_1_highlighting = warning
-resharper_invert_if_highlighting = warning
-resharper_invocation_is_skipped_highlighting = warning
-resharper_invoke_as_extension_method_highlighting = warning
-resharper_join_declaration_and_initializer_highlighting = warning
-resharper_join_null_check_with_usage_highlighting = warning
-resharper_lambda_expression_must_be_static_highlighting = warning
-resharper_local_function_can_be_made_static_highlighting = warning
-resharper_loop_can_be_converted_to_query_highlighting = warning
-resharper_loop_can_be_partly_converted_to_query_highlighting = warning
-resharper_member_can_be_file_local_highlighting = warning
-resharper_member_can_be_internal_highlighting = warning
-resharper_member_can_be_made_static_global_highlighting = warning
-resharper_member_can_be_made_static_local_highlighting = warning
-resharper_member_can_be_private_global_highlighting = warning
-resharper_member_can_be_private_local_highlighting = warning
-resharper_member_can_be_protected_global_highlighting = warning
-resharper_member_can_be_protected_local_highlighting = warning
-resharper_merge_and_pattern_highlighting = warning
-resharper_merge_cast_with_type_check_highlighting = warning
-resharper_merge_conditional_expression_highlighting = warning
-resharper_merge_into_logical_pattern_highlighting = warning
-resharper_merge_into_negated_pattern_highlighting = warning
-resharper_merge_into_pattern_highlighting = warning
-resharper_merge_nested_property_patterns_highlighting = warning
-resharper_merge_sequential_checks_highlighting = warning
-resharper_method_has_async_overload_highlighting = warning
-resharper_method_has_async_overload_with_cancellation_highlighting = warning
-resharper_method_supports_cancellation_highlighting = warning
-resharper_missing_blank_lines_highlighting = warning
-resharper_missing_linebreak_highlighting = warning
-resharper_missing_space_highlighting = warning
-resharper_more_specific_foreach_variable_type_available_highlighting = warning
-resharper_move_to_existing_positional_deconstruction_pattern_highlighting = warning
-resharper_move_variable_declaration_inside_loop_condition_highlighting = warning
-resharper_multiple_spaces_highlighting = warning
-resharper_multiple_statements_on_one_line_highlighting = warning
-resharper_multiple_type_members_on_one_line_highlighting = warning
-resharper_negation_of_relational_pattern_highlighting = warning
-resharper_negative_equality_expression_highlighting = warning
-resharper_nested_string_interpolation_highlighting = warning
-resharper_not_accessed_field_global_highlighting = warning
-resharper_nullable_warning_suppression_is_used_highlighting = warning
-resharper_outdent_is_off_prev_level_highlighting = warning
-resharper_out_parameter_value_is_always_discarded_global_highlighting = warning
-resharper_parameter_only_used_for_precondition_check_global_highlighting = warning
-resharper_parameter_type_can_be_enumerable_global_highlighting = warning
-resharper_parameter_type_can_be_enumerable_local_highlighting = warning
-resharper_pass_string_interpolation_highlighting = warning
-resharper_possible_unintended_queryable_as_enumerable_highlighting = warning
-resharper_property_can_be_made_init_only_global_highlighting = warning
-resharper_property_can_be_made_init_only_local_highlighting = warning
-resharper_public_constructor_in_abstract_class_highlighting = warning
-resharper_raw_string_can_be_simplified_highlighting = warning
-resharper_redundant_accessor_body_highlighting = warning
-resharper_redundant_always_match_subpattern_highlighting = warning
-resharper_redundant_array_creation_expression_highlighting = warning
-resharper_redundant_attribute_parentheses_highlighting = warning
-resharper_redundant_attribute_usage_property_highlighting = warning
-resharper_redundant_base_qualifier_highlighting = warning
-resharper_redundant_blank_lines_highlighting = warning
-resharper_redundant_collection_initializer_element_braces_highlighting = warning
-resharper_redundant_configure_await_highlighting = warning
-resharper_redundant_declaration_semicolon_highlighting = warning
-resharper_redundant_discard_designation_highlighting = warning
-resharper_redundant_empty_object_creation_argument_list_highlighting = warning
-resharper_redundant_enum_case_label_for_default_section_highlighting = warning
-resharper_redundant_explicit_params_array_creation_highlighting = warning
-resharper_redundant_fixed_pointer_declaration_highlighting = warning
-resharper_redundant_if_else_block_highlighting = warning
-resharper_redundant_immediate_delegate_invocation_highlighting = warning
-resharper_redundant_is_before_relational_pattern_highlighting = warning
-resharper_redundant_lambda_signature_parentheses_highlighting = warning
-resharper_redundant_overload_global_highlighting = warning
-resharper_redundant_overload_local_highlighting = warning
-resharper_redundant_pattern_parentheses_highlighting = warning
-resharper_redundant_property_pattern_clause_highlighting = warning
-resharper_redundant_query_order_by_ascending_keyword_highlighting = warning
-resharper_redundant_range_bound_highlighting = warning
-resharper_redundant_readonly_modifier_highlighting = warning
-resharper_redundant_space_highlighting = warning
-resharper_redundant_string_interpolation_highlighting = warning
-resharper_redundant_to_string_call_for_value_type_highlighting = warning
-resharper_redundant_verbatim_prefix_highlighting = warning
-resharper_redundant_verbatim_string_prefix_highlighting = warning
-resharper_redundant_with_expression_highlighting = warning
-resharper_remove_constructor_invocation_highlighting = warning
-resharper_remove_redundant_braces_highlighting = warning
-resharper_remove_redundant_or_statement_false_highlighting = warning
-resharper_remove_redundant_or_statement_true_highlighting = warning
-resharper_remove_to_list_1_highlighting = warning
-resharper_remove_to_list_2_highlighting = warning
-resharper_replace_auto_property_with_computed_property_highlighting = warning
-resharper_replace_conditional_expression_with_null_coalescing_highlighting = warning
-resharper_replace_object_pattern_with_var_pattern_highlighting = warning
-resharper_replace_slice_with_range_indexer_highlighting = warning
-resharper_replace_substring_with_range_indexer_highlighting = warning
-resharper_replace_with_field_keyword_highlighting = warning
-resharper_replace_with_first_or_default_1_highlighting = warning
-resharper_replace_with_first_or_default_2_highlighting = warning
-resharper_replace_with_first_or_default_3_highlighting = warning
-resharper_replace_with_first_or_default_4_highlighting = warning
-resharper_replace_with_last_or_default_1_highlighting = warning
-resharper_replace_with_last_or_default_2_highlighting = warning
-resharper_replace_with_last_or_default_3_highlighting = warning
-resharper_replace_with_last_or_default_4_highlighting = warning
-resharper_replace_with_of_type_1_highlighting = warning
-resharper_replace_with_of_type_2_highlighting = warning
-resharper_replace_with_of_type_3_highlighting = warning
-resharper_replace_with_of_type_any_1_highlighting = warning
-resharper_replace_with_of_type_any_2_highlighting = warning
-resharper_replace_with_of_type_count_1_highlighting = warning
-resharper_replace_with_of_type_count_2_highlighting = warning
-resharper_replace_with_of_type_first_1_highlighting = warning
-resharper_replace_with_of_type_first_2_highlighting = warning
-resharper_replace_with_of_type_first_or_default_1_highlighting = warning
-resharper_replace_with_of_type_first_or_default_2_highlighting = warning
-resharper_replace_with_of_type_last_1_highlighting = warning
-resharper_replace_with_of_type_last_2_highlighting = warning
-resharper_replace_with_of_type_last_or_default_1_highlighting = warning
-resharper_replace_with_of_type_last_or_default_2_highlighting = warning
-resharper_replace_with_of_type_long_count_highlighting = warning
-resharper_replace_with_of_type_single_1_highlighting = warning
-resharper_replace_with_of_type_single_2_highlighting = warning
-resharper_replace_with_of_type_single_or_default_1_highlighting = warning
-resharper_replace_with_of_type_single_or_default_2_highlighting = warning
-resharper_replace_with_of_type_where_highlighting = warning
-resharper_replace_with_simple_assignment_false_highlighting = warning
-resharper_replace_with_simple_assignment_true_highlighting = warning
-resharper_replace_with_single_assignment_false_highlighting = warning
-resharper_replace_with_single_assignment_true_highlighting = warning
-resharper_replace_with_single_call_to_any_highlighting = warning
-resharper_replace_with_single_call_to_count_highlighting = warning
-resharper_replace_with_single_call_to_first_highlighting = warning
-resharper_replace_with_single_call_to_first_or_default_highlighting = warning
-resharper_replace_with_single_call_to_last_highlighting = warning
-resharper_replace_with_single_call_to_last_or_default_highlighting = warning
-resharper_replace_with_single_call_to_single_highlighting = warning
-resharper_replace_with_single_call_to_single_or_default_highlighting = warning
-resharper_replace_with_single_or_default_1_highlighting = warning
-resharper_replace_with_single_or_default_2_highlighting = warning
-resharper_replace_with_single_or_default_3_highlighting = warning
-resharper_replace_with_single_or_default_4_highlighting = warning
-resharper_replace_with_string_is_null_or_empty_highlighting = warning
-resharper_return_type_can_be_enumerable_global_highlighting = warning
-resharper_return_type_can_be_enumerable_local_highlighting = warning
-resharper_safe_cast_is_used_as_type_check_highlighting = warning
-resharper_separate_control_transfer_statement_highlighting = warning
-resharper_similar_anonymous_type_nearby_highlighting = warning
-resharper_simplify_conditional_ternary_expression_highlighting = warning
-resharper_simplify_linq_expression_use_all_highlighting = warning
-resharper_simplify_linq_expression_use_any_highlighting = warning
-resharper_simplify_linq_expression_use_min_by_and_max_by_highlighting = warning
-resharper_simplify_string_interpolation_highlighting = warning
-resharper_specify_string_comparison_highlighting = warning
-resharper_string_ends_with_is_culture_specific_highlighting = warning
-resharper_string_literal_as_interpolation_argument_highlighting = warning
-resharper_string_literal_typo_highlighting = warning
-resharper_string_starts_with_is_culture_specific_highlighting = warning
-resharper_struct_can_be_made_read_only_highlighting = warning
-resharper_struct_member_can_be_made_read_only_highlighting = warning
-resharper_suggest_base_type_for_parameter_highlighting = none
-resharper_suggest_base_type_for_parameter_in_constructor_highlighting = warning
-resharper_suggest_var_or_type_built_in_types_highlighting = hint
-resharper_suggest_var_or_type_deconstruction_declarations_highlighting = warning
-resharper_suggest_var_or_type_elsewhere_highlighting = hint
-resharper_suggest_var_or_type_simple_types_highlighting = hint
-resharper_swap_via_deconstruction_highlighting = warning
+resharper_annotate_can_be_null_parameter_highlighting = warning
+resharper_annotate_can_be_null_type_member_highlighting = warning
+resharper_annotate_not_null_parameter_highlighting = warning
+resharper_annotate_not_null_type_member_highlighting = warning
+resharper_arguments_style_anonymous_function_highlighting = warning
+resharper_arguments_style_literal_highlighting = warning
+resharper_arguments_style_named_expression_highlighting = warning
+resharper_arguments_style_other_highlighting = warning
+resharper_arguments_style_string_literal_highlighting = warning
+resharper_arrange_accessor_owner_body_highlighting = warning
+resharper_arrange_constructor_or_destructor_body_highlighting = warning
+resharper_arrange_local_function_body_highlighting = warning
+resharper_arrange_method_or_operator_body_highlighting = warning
+resharper_arrange_redundant_parentheses_highlighting = hint
+resharper_arrange_static_member_qualifier_highlighting = warning
+resharper_arrange_this_qualifier_highlighting = hint
+resharper_arrange_trailing_comma_in_multiline_lists_highlighting = warning
+resharper_arrange_trailing_comma_in_singleline_lists_highlighting = warning
+resharper_arrange_type_member_modifiers_highlighting = hint
+resharper_arrange_type_modifiers_highlighting = hint
+resharper_arrange_var_keywords_in_deconstructing_declaration_highlighting = warning
+resharper_async_void_method_highlighting = warning
+resharper_auto_property_can_be_made_get_only_global_highlighting = warning
+resharper_auto_property_can_be_made_get_only_local_highlighting = warning
+resharper_bad_attribute_brackets_spaces_highlighting = warning
+resharper_bad_braces_spaces_highlighting = warning
+resharper_bad_colon_spaces_highlighting = warning
+resharper_bad_comma_spaces_highlighting = warning
+resharper_bad_control_braces_indent_highlighting = warning
+resharper_bad_control_braces_line_breaks_highlighting = warning
+resharper_bad_declaration_braces_indent_highlighting = warning
+resharper_bad_declaration_braces_line_breaks_highlighting = warning
+resharper_bad_empty_braces_line_breaks_highlighting = warning
+resharper_bad_expression_braces_indent_highlighting = warning
+resharper_bad_expression_braces_line_breaks_highlighting = warning
+resharper_bad_generic_brackets_spaces_highlighting = warning
+resharper_bad_indent_highlighting = warning
+resharper_bad_linq_line_breaks_highlighting = warning
+resharper_bad_member_access_spaces_highlighting = warning
+resharper_bad_namespace_braces_indent_highlighting = warning
+resharper_bad_parens_line_breaks_highlighting = warning
+resharper_bad_parens_spaces_highlighting = warning
+resharper_bad_preprocessor_indent_highlighting = warning
+resharper_bad_semicolon_spaces_highlighting = warning
+resharper_bad_spaces_after_keyword_highlighting = warning
+resharper_bad_square_brackets_spaces_highlighting = warning
+resharper_bad_switch_braces_indent_highlighting = warning
+resharper_bad_symbol_spaces_highlighting = warning
+resharper_built_in_type_reference_style_for_member_access_highlighting = hint
+resharper_built_in_type_reference_style_highlighting = hint
+resharper_check_for_reference_equality_instead_1_highlighting = warning
+resharper_check_for_reference_equality_instead_2_highlighting = warning
+resharper_check_for_reference_equality_instead_3_highlighting = warning
+resharper_check_for_reference_equality_instead_4_highlighting = warning
+resharper_class_can_be_sealed_global_highlighting = warning
+resharper_class_can_be_sealed_local_highlighting = warning
+resharper_class_never_instantiated_global_highlighting = warning
+resharper_class_never_instantiated_local_highlighting = warning
+resharper_class_with_virtual_members_never_inherited_global_highlighting = warning
+resharper_class_with_virtual_members_never_inherited_local_highlighting = warning
+resharper_comment_typo_highlighting = none
+resharper_compare_non_constrained_generic_with_null_highlighting = warning
+resharper_convert_closure_to_method_group_highlighting = warning
+resharper_convert_conditional_ternary_expression_to_switch_expression_highlighting = warning
+resharper_convert_if_do_to_while_highlighting = warning
+resharper_convert_if_statement_to_conditional_ternary_expression_highlighting = warning
+resharper_convert_if_statement_to_null_coalescing_assignment_highlighting = warning
+resharper_convert_if_statement_to_null_coalescing_expression_highlighting = warning
+resharper_convert_if_statement_to_return_statement_highlighting = warning
+resharper_convert_if_statement_to_switch_statement_highlighting = warning
+resharper_convert_if_to_or_expression_highlighting = warning
+resharper_convert_nullable_to_short_form_highlighting = warning
+resharper_convert_switch_statement_to_switch_expression_highlighting = warning
+resharper_convert_to_auto_property_highlighting = warning
+resharper_convert_to_auto_property_when_possible_highlighting = warning
+resharper_convert_to_auto_property_with_private_setter_highlighting = warning
+resharper_convert_to_compound_assignment_highlighting = warning
+resharper_convert_to_constant_global_highlighting = warning
+resharper_convert_to_constant_local_highlighting = warning
+resharper_convert_to_lambda_expression_highlighting = warning
+resharper_convert_to_local_function_highlighting = warning
+resharper_convert_to_null_coalescing_compound_assignment_highlighting = warning
+resharper_convert_to_primary_constructor_highlighting = warning
+resharper_convert_to_static_class_highlighting = warning
+resharper_convert_to_using_declaration_highlighting = warning
+resharper_cpp_enforce_cv_qualifiers_order_highlighting = hint
+resharper_cpp_enforce_cv_qualifiers_placement_highlighting = hint
+resharper_cpp_enforce_do_statement_braces_highlighting = hint
+resharper_cpp_enforce_for_statement_braces_highlighting = hint
+resharper_cpp_enforce_function_declaration_style_highlighting = hint
+resharper_cpp_enforce_if_statement_braces_highlighting = hint
+resharper_cpp_enforce_type_alias_code_style_highlighting = hint
+resharper_cpp_enforce_while_statement_braces_highlighting = hint
+resharper_cpp_remove_redundant_braces_highlighting = hint
+resharper_double_negation_in_pattern_highlighting = warning
+resharper_double_negation_operator_highlighting = warning
+resharper_event_never_invoked_global_highlighting = warning
+resharper_event_never_subscribed_to_global_highlighting = warning
+resharper_event_never_subscribed_to_local_highlighting = warning
+resharper_field_can_be_made_read_only_global_highlighting = warning
+resharper_field_can_be_made_read_only_local_highlighting = warning
+resharper_foreach_can_be_converted_to_query_using_another_get_enumerator_highlighting = warning
+resharper_foreach_can_be_partly_converted_to_query_using_another_get_enumerator_highlighting = none
+resharper_for_can_be_converted_to_foreach_highlighting = warning
+resharper_heap_view_boxing_allocation_highlighting = none
+resharper_heap_view_closure_allocation_highlighting = none
+resharper_heap_view_delegate_allocation_highlighting = none
+resharper_heap_view_object_allocation_evident_highlighting = none
+resharper_heap_view_object_allocation_highlighting = none
+resharper_identifier_typo_highlighting = none
+resharper_incorrect_blank_lines_near_braces_highlighting = warning
+resharper_inheritdoc_consider_usage_highlighting = warning
+resharper_inline_out_variable_declaration_highlighting = warning
+resharper_inline_temporary_variable_highlighting = warning
+resharper_introduce_optional_parameters_global_highlighting = warning
+resharper_introduce_optional_parameters_local_highlighting = warning
+resharper_invert_condition_1_highlighting = warning
+resharper_invert_if_highlighting = warning
+resharper_invocation_is_skipped_highlighting = warning
+resharper_invoke_as_extension_method_highlighting = warning
+resharper_join_declaration_and_initializer_highlighting = warning
+resharper_join_null_check_with_usage_highlighting = warning
+resharper_lambda_expression_must_be_static_highlighting = warning
+resharper_local_function_can_be_made_static_highlighting = warning
+resharper_loop_can_be_converted_to_query_highlighting = warning
+resharper_loop_can_be_partly_converted_to_query_highlighting = warning
+resharper_member_can_be_file_local_highlighting = warning
+resharper_member_can_be_internal_highlighting = warning
+resharper_member_can_be_made_static_global_highlighting = warning
+resharper_member_can_be_made_static_local_highlighting = warning
+resharper_member_can_be_private_global_highlighting = warning
+resharper_member_can_be_private_local_highlighting = warning
+resharper_member_can_be_protected_global_highlighting = warning
+resharper_member_can_be_protected_local_highlighting = warning
+resharper_merge_and_pattern_highlighting = warning
+resharper_merge_cast_with_type_check_highlighting = warning
+resharper_merge_conditional_expression_highlighting = warning
+resharper_merge_into_logical_pattern_highlighting = warning
+resharper_merge_into_negated_pattern_highlighting = warning
+resharper_merge_into_pattern_highlighting = warning
+resharper_merge_nested_property_patterns_highlighting = warning
+resharper_merge_sequential_checks_highlighting = warning
+resharper_method_has_async_overload_highlighting = warning
+resharper_method_has_async_overload_with_cancellation_highlighting = warning
+resharper_method_supports_cancellation_highlighting = warning
+resharper_missing_blank_lines_highlighting = warning
+resharper_missing_linebreak_highlighting = warning
+resharper_missing_space_highlighting = warning
+resharper_more_specific_foreach_variable_type_available_highlighting = warning
+resharper_move_to_existing_positional_deconstruction_pattern_highlighting = warning
+resharper_move_variable_declaration_inside_loop_condition_highlighting = warning
+resharper_multiple_spaces_highlighting = warning
+resharper_multiple_statements_on_one_line_highlighting = warning
+resharper_multiple_type_members_on_one_line_highlighting = warning
+resharper_negation_of_relational_pattern_highlighting = warning
+resharper_negative_equality_expression_highlighting = warning
+resharper_nested_string_interpolation_highlighting = warning
+resharper_not_accessed_field_global_highlighting = warning
+resharper_nullable_warning_suppression_is_used_highlighting = warning
+resharper_outdent_is_off_prev_level_highlighting = warning
+resharper_out_parameter_value_is_always_discarded_global_highlighting = warning
+resharper_parameter_only_used_for_precondition_check_global_highlighting = warning
+resharper_parameter_type_can_be_enumerable_global_highlighting = warning
+resharper_parameter_type_can_be_enumerable_local_highlighting = warning
+resharper_pass_string_interpolation_highlighting = warning
+resharper_possible_unintended_queryable_as_enumerable_highlighting = warning
+resharper_property_can_be_made_init_only_global_highlighting = warning
+resharper_property_can_be_made_init_only_local_highlighting = warning
+resharper_public_constructor_in_abstract_class_highlighting = warning
+resharper_raw_string_can_be_simplified_highlighting = warning
+resharper_redundant_accessor_body_highlighting = warning
+resharper_redundant_always_match_subpattern_highlighting = warning
+resharper_redundant_array_creation_expression_highlighting = warning
+resharper_redundant_attribute_parentheses_highlighting = warning
+resharper_redundant_attribute_usage_property_highlighting = warning
+resharper_redundant_base_qualifier_highlighting = warning
+resharper_redundant_blank_lines_highlighting = warning
+resharper_redundant_collection_initializer_element_braces_highlighting = warning
+resharper_redundant_configure_await_highlighting = warning
+resharper_redundant_declaration_semicolon_highlighting = warning
+resharper_redundant_discard_designation_highlighting = warning
+resharper_redundant_empty_object_creation_argument_list_highlighting = warning
+resharper_redundant_enum_case_label_for_default_section_highlighting = warning
+resharper_redundant_explicit_params_array_creation_highlighting = warning
+resharper_redundant_fixed_pointer_declaration_highlighting = warning
+resharper_redundant_if_else_block_highlighting = warning
+resharper_redundant_immediate_delegate_invocation_highlighting = warning
+resharper_redundant_is_before_relational_pattern_highlighting = warning
+resharper_redundant_lambda_signature_parentheses_highlighting = warning
+resharper_redundant_overload_global_highlighting = warning
+resharper_redundant_overload_local_highlighting = warning
+resharper_redundant_pattern_parentheses_highlighting = warning
+resharper_redundant_property_pattern_clause_highlighting = warning
+resharper_redundant_query_order_by_ascending_keyword_highlighting = warning
+resharper_redundant_range_bound_highlighting = warning
+resharper_redundant_readonly_modifier_highlighting = warning
+resharper_redundant_space_highlighting = warning
+resharper_redundant_string_interpolation_highlighting = warning
+resharper_redundant_to_string_call_for_value_type_highlighting = warning
+resharper_redundant_verbatim_prefix_highlighting = warning
+resharper_redundant_verbatim_string_prefix_highlighting = warning
+resharper_redundant_with_expression_highlighting = warning
+resharper_remove_constructor_invocation_highlighting = warning
+resharper_remove_redundant_braces_highlighting = warning
+resharper_remove_redundant_or_statement_false_highlighting = warning
+resharper_remove_redundant_or_statement_true_highlighting = warning
+resharper_remove_to_list_1_highlighting = warning
+resharper_remove_to_list_2_highlighting = warning
+resharper_replace_auto_property_with_computed_property_highlighting = warning
+resharper_replace_conditional_expression_with_null_coalescing_highlighting = warning
+resharper_replace_object_pattern_with_var_pattern_highlighting = warning
+resharper_replace_slice_with_range_indexer_highlighting = warning
+resharper_replace_substring_with_range_indexer_highlighting = warning
+resharper_replace_with_field_keyword_highlighting = warning
+resharper_replace_with_first_or_default_1_highlighting = warning
+resharper_replace_with_first_or_default_2_highlighting = warning
+resharper_replace_with_first_or_default_3_highlighting = warning
+resharper_replace_with_first_or_default_4_highlighting = warning
+resharper_replace_with_last_or_default_1_highlighting = warning
+resharper_replace_with_last_or_default_2_highlighting = warning
+resharper_replace_with_last_or_default_3_highlighting = warning
+resharper_replace_with_last_or_default_4_highlighting = warning
+resharper_replace_with_of_type_1_highlighting = warning
+resharper_replace_with_of_type_2_highlighting = warning
+resharper_replace_with_of_type_3_highlighting = warning
+resharper_replace_with_of_type_any_1_highlighting = warning
+resharper_replace_with_of_type_any_2_highlighting = warning
+resharper_replace_with_of_type_count_1_highlighting = warning
+resharper_replace_with_of_type_count_2_highlighting = warning
+resharper_replace_with_of_type_first_1_highlighting = warning
+resharper_replace_with_of_type_first_2_highlighting = warning
+resharper_replace_with_of_type_first_or_default_1_highlighting = warning
+resharper_replace_with_of_type_first_or_default_2_highlighting = warning
+resharper_replace_with_of_type_last_1_highlighting = warning
+resharper_replace_with_of_type_last_2_highlighting = warning
+resharper_replace_with_of_type_last_or_default_1_highlighting = warning
+resharper_replace_with_of_type_last_or_default_2_highlighting = warning
+resharper_replace_with_of_type_long_count_highlighting = warning
+resharper_replace_with_of_type_single_1_highlighting = warning
+resharper_replace_with_of_type_single_2_highlighting = warning
+resharper_replace_with_of_type_single_or_default_1_highlighting = warning
+resharper_replace_with_of_type_single_or_default_2_highlighting = warning
+resharper_replace_with_of_type_where_highlighting = warning
+resharper_replace_with_simple_assignment_false_highlighting = warning
+resharper_replace_with_simple_assignment_true_highlighting = warning
+resharper_replace_with_single_assignment_false_highlighting = warning
+resharper_replace_with_single_assignment_true_highlighting = warning
+resharper_replace_with_single_call_to_any_highlighting = warning
+resharper_replace_with_single_call_to_count_highlighting = warning
+resharper_replace_with_single_call_to_first_highlighting = warning
+resharper_replace_with_single_call_to_first_or_default_highlighting = warning
+resharper_replace_with_single_call_to_last_highlighting = warning
+resharper_replace_with_single_call_to_last_or_default_highlighting = warning
+resharper_replace_with_single_call_to_single_highlighting = warning
+resharper_replace_with_single_call_to_single_or_default_highlighting = warning
+resharper_replace_with_single_or_default_1_highlighting = warning
+resharper_replace_with_single_or_default_2_highlighting = warning
+resharper_replace_with_single_or_default_3_highlighting = warning
+resharper_replace_with_single_or_default_4_highlighting = warning
+resharper_replace_with_string_is_null_or_empty_highlighting = warning
+resharper_return_type_can_be_enumerable_global_highlighting = warning
+resharper_return_type_can_be_enumerable_local_highlighting = warning
+resharper_safe_cast_is_used_as_type_check_highlighting = warning
+resharper_separate_control_transfer_statement_highlighting = warning
+resharper_similar_anonymous_type_nearby_highlighting = warning
+resharper_simplify_conditional_ternary_expression_highlighting = warning
+resharper_simplify_linq_expression_use_all_highlighting = warning
+resharper_simplify_linq_expression_use_any_highlighting = warning
+resharper_simplify_linq_expression_use_min_by_and_max_by_highlighting = warning
+resharper_simplify_string_interpolation_highlighting = warning
+resharper_specify_string_comparison_highlighting = warning
+resharper_string_ends_with_is_culture_specific_highlighting = warning
+resharper_string_literal_as_interpolation_argument_highlighting = warning
+resharper_string_literal_typo_highlighting = warning
+resharper_string_starts_with_is_culture_specific_highlighting = warning
+resharper_struct_can_be_made_read_only_highlighting = warning
+resharper_struct_member_can_be_made_read_only_highlighting = warning
+resharper_suggest_base_type_for_parameter_highlighting = none
+resharper_suggest_base_type_for_parameter_in_constructor_highlighting = warning
+resharper_suggest_var_or_type_built_in_types_highlighting = hint
+resharper_suggest_var_or_type_deconstruction_declarations_highlighting = warning
+resharper_suggest_var_or_type_elsewhere_highlighting = hint
+resharper_suggest_var_or_type_simple_types_highlighting = hint
+resharper_swap_via_deconstruction_highlighting = warning
resharper_switch_expression_handles_some_known_enum_values_with_exception_in_default_highlighting = warning
-resharper_switch_statement_handles_some_known_enum_values_with_default_highlighting = none
-resharper_switch_statement_missing_some_enum_cases_no_default_highlighting = none
-resharper_tabs_and_spaces_mismatch_highlighting = warning
-resharper_tabs_are_disallowed_highlighting = warning
-resharper_tabs_outside_indent_highlighting = warning
-resharper_tail_recursive_call_highlighting = warning
-resharper_too_wide_local_variable_scope_highlighting = warning
-resharper_try_cast_always_succeeds_highlighting = warning
-resharper_try_statements_can_be_merged_highlighting = warning
-resharper_type_parameter_can_be_variant_highlighting = warning
-resharper_unnecessary_whitespace_highlighting = warning
-resharper_unused_member_global_highlighting = warning
-resharper_unused_member_hierarchy_global_highlighting = warning
-resharper_unused_member_in_super_global_highlighting = warning
-resharper_unused_method_return_value_global_highlighting = warning
-resharper_unused_parameter_global_highlighting = warning
-resharper_unused_type_global_highlighting = warning
-resharper_use_array_creation_expression_1_highlighting = warning
-resharper_use_array_creation_expression_2_highlighting = warning
-resharper_use_array_empty_method_highlighting = warning
-resharper_use_await_using_highlighting = warning
-resharper_use_cancellation_token_for_i_async_enumerable_highlighting = warning
-resharper_use_collection_count_property_highlighting = warning
-resharper_use_configure_await_false_highlighting = warning
-resharper_use_deconstruction_highlighting = warning
-resharper_use_empty_types_field_highlighting = warning
-resharper_use_event_args_empty_field_highlighting = warning
-resharper_use_format_specifier_in_format_string_highlighting = warning
-resharper_use_indexed_property_highlighting = warning
-resharper_use_index_from_end_expression_highlighting = warning
-resharper_use_is_operator_1_highlighting = warning
-resharper_use_is_operator_2_highlighting = warning
-resharper_use_method_any_0_highlighting = warning
-resharper_use_method_any_1_highlighting = warning
-resharper_use_method_any_2_highlighting = warning
-resharper_use_method_any_3_highlighting = warning
-resharper_use_method_any_4_highlighting = warning
-resharper_use_method_is_instance_of_type_highlighting = warning
-resharper_use_nameof_expression_for_part_of_the_string_highlighting = warning
-resharper_use_nameof_expression_highlighting = warning
-resharper_use_nameof_for_dependency_property_highlighting = warning
-resharper_use_name_of_instead_of_type_of_highlighting = warning
-resharper_use_negated_pattern_in_is_expression_highlighting = warning
-resharper_use_negated_pattern_matching_highlighting = warning
-resharper_use_nullable_annotation_instead_of_attribute_highlighting = warning
-resharper_use_nullable_attributes_supported_by_compiler_highlighting = warning
-resharper_use_null_propagation_highlighting = warning
-resharper_use_object_or_collection_initializer_highlighting = warning
-resharper_use_pattern_matching_highlighting = warning
-resharper_use_positional_deconstruction_pattern_highlighting = warning
-resharper_use_raw_string_highlighting = warning
-resharper_use_string_interpolation_highlighting = warning
-resharper_use_switch_case_pattern_variable_highlighting = warning
-resharper_use_throw_if_null_method_highlighting = warning
-resharper_use_unsigned_right_shift_operator_highlighting = warning
-resharper_use_verbatim_string_highlighting = warning
-resharper_use_with_expression_to_copy_anonymous_object_highlighting = warning
-resharper_use_with_expression_to_copy_record_highlighting = warning
-resharper_use_with_expression_to_copy_struct_highlighting = warning
-resharper_use_with_expression_to_copy_tuple_highlighting = warning
-resharper_virtual_member_never_overridden_global_highlighting = warning
-resharper_virtual_member_never_overridden_local_highlighting = warning
-resharper_web_config_module_not_resolved_highlighting = warning
-resharper_web_config_type_not_resolved_highlighting = warning
-resharper_web_config_wrong_module_highlighting = warning
-resharper_with_expression_instead_of_initializer_highlighting = warning
-resharper_wrong_indent_size_highlighting = warning
+resharper_switch_statement_handles_some_known_enum_values_with_default_highlighting = none
+resharper_switch_statement_missing_some_enum_cases_no_default_highlighting = none
+resharper_tabs_and_spaces_mismatch_highlighting = warning
+resharper_tabs_are_disallowed_highlighting = warning
+resharper_tabs_outside_indent_highlighting = warning
+resharper_tail_recursive_call_highlighting = warning
+resharper_too_wide_local_variable_scope_highlighting = warning
+resharper_try_cast_always_succeeds_highlighting = warning
+resharper_try_statements_can_be_merged_highlighting = warning
+resharper_type_parameter_can_be_variant_highlighting = warning
+resharper_unnecessary_whitespace_highlighting = warning
+resharper_unused_member_global_highlighting = warning
+resharper_unused_member_hierarchy_global_highlighting = warning
+resharper_unused_member_in_super_global_highlighting = warning
+resharper_unused_method_return_value_global_highlighting = warning
+resharper_unused_parameter_global_highlighting = warning
+resharper_unused_type_global_highlighting = warning
+resharper_use_array_creation_expression_1_highlighting = warning
+resharper_use_array_creation_expression_2_highlighting = warning
+resharper_use_array_empty_method_highlighting = warning
+resharper_use_await_using_highlighting = warning
+resharper_use_cancellation_token_for_i_async_enumerable_highlighting = warning
+resharper_use_collection_count_property_highlighting = warning
+resharper_use_configure_await_false_highlighting = warning
+resharper_use_deconstruction_highlighting = warning
+resharper_use_empty_types_field_highlighting = warning
+resharper_use_event_args_empty_field_highlighting = warning
+resharper_use_format_specifier_in_format_string_highlighting = warning
+resharper_use_indexed_property_highlighting = warning
+resharper_use_index_from_end_expression_highlighting = warning
+resharper_use_is_operator_1_highlighting = warning
+resharper_use_is_operator_2_highlighting = warning
+resharper_use_method_any_0_highlighting = warning
+resharper_use_method_any_1_highlighting = warning
+resharper_use_method_any_2_highlighting = warning
+resharper_use_method_any_3_highlighting = warning
+resharper_use_method_any_4_highlighting = warning
+resharper_use_method_is_instance_of_type_highlighting = warning
+resharper_use_nameof_expression_for_part_of_the_string_highlighting = warning
+resharper_use_nameof_expression_highlighting = warning
+resharper_use_nameof_for_dependency_property_highlighting = warning
+resharper_use_name_of_instead_of_type_of_highlighting = warning
+resharper_use_negated_pattern_in_is_expression_highlighting = warning
+resharper_use_negated_pattern_matching_highlighting = warning
+resharper_use_nullable_annotation_instead_of_attribute_highlighting = warning
+resharper_use_nullable_attributes_supported_by_compiler_highlighting = warning
+resharper_use_null_propagation_highlighting = warning
+resharper_use_object_or_collection_initializer_highlighting = warning
+resharper_use_pattern_matching_highlighting = warning
+resharper_use_positional_deconstruction_pattern_highlighting = warning
+resharper_use_raw_string_highlighting = warning
+resharper_use_string_interpolation_highlighting = warning
+resharper_use_switch_case_pattern_variable_highlighting = warning
+resharper_use_throw_if_null_method_highlighting = warning
+resharper_use_unsigned_right_shift_operator_highlighting = warning
+resharper_use_verbatim_string_highlighting = warning
+resharper_use_with_expression_to_copy_anonymous_object_highlighting = warning
+resharper_use_with_expression_to_copy_record_highlighting = warning
+resharper_use_with_expression_to_copy_struct_highlighting = warning
+resharper_use_with_expression_to_copy_tuple_highlighting = warning
+resharper_virtual_member_never_overridden_global_highlighting = warning
+resharper_virtual_member_never_overridden_local_highlighting = warning
+resharper_web_config_module_not_resolved_highlighting = warning
+resharper_web_config_type_not_resolved_highlighting = warning
+resharper_web_config_wrong_module_highlighting = warning
+resharper_with_expression_instead_of_initializer_highlighting = warning
+resharper_wrong_indent_size_highlighting = warning
[*.css]
ij_css_align_closing_brace_with_properties = false
-ij_css_blank_lines_around_nested_selector = 1
-ij_css_blank_lines_between_blocks = 1
-ij_css_block_comment_add_space = false
-ij_css_brace_placement = end_of_line
-ij_css_enforce_quotes_on_format = false
-ij_css_hex_color_long_format = false
-ij_css_hex_color_lower_case = false
-ij_css_hex_color_short_format = false
-ij_css_hex_color_upper_case = false
-ij_css_keep_blank_lines_in_code = 2
-ij_css_keep_indents_on_empty_lines = false
-ij_css_keep_single_line_blocks = false
-ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
-ij_css_space_after_colon = true
-ij_css_space_before_opening_brace = true
-ij_css_use_double_quotes = true
-ij_css_value_alignment = do_not_align
+ij_css_blank_lines_around_nested_selector = 1
+ij_css_blank_lines_between_blocks = 1
+ij_css_block_comment_add_space = false
+ij_css_brace_placement = end_of_line
+ij_css_enforce_quotes_on_format = false
+ij_css_hex_color_long_format = false
+ij_css_hex_color_lower_case = false
+ij_css_hex_color_short_format = false
+ij_css_hex_color_upper_case = false
+ij_css_keep_blank_lines_in_code = 2
+ij_css_keep_indents_on_empty_lines = false
+ij_css_keep_single_line_blocks = false
+ij_css_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
+ij_css_space_after_colon = true
+ij_css_space_before_opening_brace = true
+ij_css_use_double_quotes = true
+ij_css_value_alignment = do_not_align
[*.csv]
-max_line_length = 2147483647
+max_line_length = 2147483647
ij_csv_wrap_long_lines = false
-indent_style = tab
-tab_width = 1
+indent_style = tab
+tab_width = 1
[*.dart]
max_line_length = 80
[*.less]
-indent_size = 2
+indent_size = 2
ij_less_align_closing_brace_with_properties = false
-ij_less_blank_lines_around_nested_selector = 1
-ij_less_blank_lines_between_blocks = 1
-ij_less_block_comment_add_space = false
-ij_less_brace_placement = 0
-ij_less_enforce_quotes_on_format = false
-ij_less_hex_color_long_format = false
-ij_less_hex_color_lower_case = false
-ij_less_hex_color_short_format = false
-ij_less_hex_color_upper_case = false
-ij_less_keep_blank_lines_in_code = 2
-ij_less_keep_indents_on_empty_lines = false
-ij_less_keep_single_line_blocks = false
-ij_less_line_comment_add_space = false
-ij_less_line_comment_at_first_column = false
-ij_less_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
-ij_less_space_after_colon = true
-ij_less_space_before_opening_brace = true
-ij_less_use_double_quotes = true
-ij_less_value_alignment = 0
+ij_less_blank_lines_around_nested_selector = 1
+ij_less_blank_lines_between_blocks = 1
+ij_less_block_comment_add_space = false
+ij_less_brace_placement = 0
+ij_less_enforce_quotes_on_format = false
+ij_less_hex_color_long_format = false
+ij_less_hex_color_lower_case = false
+ij_less_hex_color_short_format = false
+ij_less_hex_color_upper_case = false
+ij_less_keep_blank_lines_in_code = 2
+ij_less_keep_indents_on_empty_lines = false
+ij_less_keep_single_line_blocks = false
+ij_less_line_comment_add_space = false
+ij_less_line_comment_at_first_column = false
+ij_less_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
+ij_less_space_after_colon = true
+ij_less_space_before_opening_brace = true
+ij_less_use_double_quotes = true
+ij_less_value_alignment = 0
[*.pp]
-indent_size = 2
-tab_width = 2
-ij_continuation_indent_size = 2
+indent_size = 2
+tab_width = 2
+ij_continuation_indent_size = 2
ij_puppet_keep_indents_on_empty_lines = false
[*.properties]
-ij_properties_align_group_field_declarations = true
-ij_properties_keep_blank_lines = false
-ij_properties_key_value_delimiter = equals
+ij_properties_align_group_field_declarations = true
+ij_properties_keep_blank_lines = false
+ij_properties_key_value_delimiter = equals
ij_properties_spaces_around_key_value_delimiter = true
[*.sass]
-indent_size = 2
+indent_size = 2
ij_sass_align_closing_brace_with_properties = false
-ij_sass_blank_lines_around_nested_selector = 1
-ij_sass_blank_lines_between_blocks = 1
-ij_sass_brace_placement = 0
-ij_sass_enforce_quotes_on_format = false
-ij_sass_hex_color_long_format = false
-ij_sass_hex_color_lower_case = false
-ij_sass_hex_color_short_format = false
-ij_sass_hex_color_upper_case = false
-ij_sass_keep_blank_lines_in_code = 2
-ij_sass_keep_indents_on_empty_lines = false
-ij_sass_keep_single_line_blocks = false
-ij_sass_line_comment_add_space = false
-ij_sass_line_comment_at_first_column = false
-ij_sass_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
-ij_sass_space_after_colon = true
-ij_sass_space_before_opening_brace = true
-ij_sass_use_double_quotes = true
-ij_sass_value_alignment = 0
+ij_sass_blank_lines_around_nested_selector = 1
+ij_sass_blank_lines_between_blocks = 1
+ij_sass_brace_placement = 0
+ij_sass_enforce_quotes_on_format = false
+ij_sass_hex_color_long_format = false
+ij_sass_hex_color_lower_case = false
+ij_sass_hex_color_short_format = false
+ij_sass_hex_color_upper_case = false
+ij_sass_keep_blank_lines_in_code = 2
+ij_sass_keep_indents_on_empty_lines = false
+ij_sass_keep_single_line_blocks = false
+ij_sass_line_comment_add_space = false
+ij_sass_line_comment_at_first_column = false
+ij_sass_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
+ij_sass_space_after_colon = true
+ij_sass_space_before_opening_brace = true
+ij_sass_use_double_quotes = true
+ij_sass_value_alignment = 0
[*.scss]
-indent_size = 2
+indent_size = 2
ij_scss_align_closing_brace_with_properties = false
-ij_scss_blank_lines_around_nested_selector = 1
-ij_scss_blank_lines_between_blocks = 1
-ij_scss_block_comment_add_space = false
-ij_scss_brace_placement = 0
-ij_scss_enforce_quotes_on_format = false
-ij_scss_hex_color_long_format = false
-ij_scss_hex_color_lower_case = false
-ij_scss_hex_color_short_format = false
-ij_scss_hex_color_upper_case = false
-ij_scss_keep_blank_lines_in_code = 2
-ij_scss_keep_indents_on_empty_lines = false
-ij_scss_keep_single_line_blocks = false
-ij_scss_line_comment_add_space = false
-ij_scss_line_comment_at_first_column = false
-ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow
-ij_scss_space_after_colon = true
-ij_scss_space_before_opening_brace = true
-ij_scss_use_double_quotes = true
-ij_scss_value_alignment = 0
+ij_scss_blank_lines_around_nested_selector = 1
+ij_scss_blank_lines_between_blocks = 1
+ij_scss_block_comment_add_space = false
+ij_scss_brace_placement = 0
+ij_scss_enforce_quotes_on_format = false
+ij_scss_hex_color_long_format = false
+ij_scss_hex_color_lower_case = false
+ij_scss_hex_color_short_format = false
+ij_scss_hex_color_upper_case = false
+ij_scss_keep_blank_lines_in_code = 2
+ij_scss_keep_indents_on_empty_lines = false
+ij_scss_keep_single_line_blocks = false
+ij_scss_line_comment_add_space = false
+ij_scss_line_comment_at_first_column = false
+ij_scss_properties_order = font, font-family, font-size, font-weight, font-style, font-variant, font-size-adjust, font-stretch, line-height, position, z-index, top, right, bottom, left, display, visibility, float, clear, overflow, overflow-x, overflow-y, clip, zoom, align-content, align-items, align-self, flex, flex-flow, flex-basis, flex-direction, flex-grow, flex-shrink, flex-wrap, justify-content, order, box-sizing, width, min-width, max-width, height, min-height, max-height, margin, margin-top, margin-right, margin-bottom, margin-left, padding, padding-top, padding-right, padding-bottom, padding-left, table-layout, empty-cells, caption-side, border-spacing, border-collapse, list-style, list-style-position, list-style-type, list-style-image, content, quotes, counter-reset, counter-increment, resize, cursor, user-select, nav-index, nav-up, nav-right, nav-down, nav-left, transition, transition-delay, transition-timing-function, transition-duration, transition-property, transform, transform-origin, animation, animation-name, animation-duration, animation-play-state, animation-timing-function, animation-delay, animation-iteration-count, animation-direction, text-align, text-align-last, vertical-align, white-space, text-decoration, text-emphasis, text-emphasis-color, text-emphasis-style, text-emphasis-position, text-indent, text-justify, letter-spacing, word-spacing, text-outline, text-transform, text-wrap, text-overflow, text-overflow-ellipsis, text-overflow-mode, word-wrap, word-break, tab-size, hyphens, pointer-events, opacity, color, border, border-width, border-style, border-color, border-top, border-top-width, border-top-style, border-top-color, border-right, border-right-width, border-right-style, border-right-color, border-bottom, border-bottom-width, border-bottom-style, border-bottom-color, border-left, border-left-width, border-left-style, border-left-color, border-radius, border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius, border-image, border-image-source, border-image-slice, border-image-width, border-image-outset, border-image-repeat, outline, outline-width, outline-style, outline-color, outline-offset, background, background-color, background-image, background-repeat, background-attachment, background-position, background-position-x, background-position-y, background-clip, background-origin, background-size, box-decoration-break, box-shadow, text-shadow
+ij_scss_space_after_colon = true
+ij_scss_space_before_opening_brace = true
+ij_scss_use_double_quotes = true
+ij_scss_value_alignment = 0
[*.slim]
-indent_size = 2
+indent_size = 2
ij_slim_keep_indents_on_empty_lines = false
[*.twig]
-ij_twig_keep_indents_on_empty_lines = false
+ij_twig_keep_indents_on_empty_lines = false
ij_twig_spaces_inside_comments_delimiters = true
-ij_twig_spaces_inside_delimiters = true
+ij_twig_spaces_inside_delimiters = true
ij_twig_spaces_inside_variable_delimiters = true
[*.vue]
-indent_size = 2
-tab_width = 2
-ij_continuation_indent_size = 4
-ij_vue_indent_children_of_top_level = template
+indent_size = 2
+tab_width = 2
+ij_continuation_indent_size = 4
+ij_vue_indent_children_of_top_level = template
ij_vue_interpolation_new_line_after_start_delimiter = true
-ij_vue_interpolation_new_line_before_end_delimiter = true
-ij_vue_interpolation_wrap = off
-ij_vue_keep_indents_on_empty_lines = false
-ij_vue_spaces_within_interpolation_expressions = true
+ij_vue_interpolation_new_line_before_end_delimiter = true
+ij_vue_interpolation_wrap = off
+ij_vue_keep_indents_on_empty_lines = false
+ij_vue_spaces_within_interpolation_expressions = true
[.editorconfig]
-ij_editorconfig_align_group_field_declarations = true
-ij_editorconfig_space_after_colon = false
-ij_editorconfig_space_after_comma = true
-ij_editorconfig_space_before_colon = false
-ij_editorconfig_space_before_comma = false
+ij_editorconfig_align_group_field_declarations = true
+ij_editorconfig_space_after_colon = false
+ij_editorconfig_space_after_comma = true
+ij_editorconfig_space_before_colon = false
+ij_editorconfig_space_before_comma = false
ij_editorconfig_spaces_around_assignment_operators = true
[{*.ad,*.adoc,*.asciidoc,.asciidoctorconfig}]
-ij_asciidoc_blank_lines_after_header = 1
+ij_asciidoc_blank_lines_after_header = 1
ij_asciidoc_blank_lines_keep_after_header = 1
-ij_asciidoc_formatting_enabled = true
-ij_asciidoc_one_sentence_per_line = true
+ij_asciidoc_formatting_enabled = true
+ij_asciidoc_one_sentence_per_line = true
[{*.ant,*.appxmanifest,*.axml,*.cscfg,*.csdef,*.disco,*.dotsettings,*.filelayout,*.fxml,*.jhm,*.jnlp,*.jrxml,*.manifest,*.myapp,*.nuspec,*.rng,*.sdef,*.stylecop,*.svcmap,*.tld,*.wadcfgx,*.webref,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul,StyleCop.Cache}]
-ij_xml_align_attributes = true
-ij_xml_align_text = false
-ij_xml_attribute_wrap = on_every_item
-ij_xml_block_comment_add_space = false
-ij_xml_block_comment_at_first_column = true
-ij_xml_keep_blank_lines = 2
-ij_xml_keep_indents_on_empty_lines = false
-ij_xml_keep_line_breaks = true
-ij_xml_keep_line_breaks_in_text = true
-ij_xml_keep_whitespaces = false
-ij_xml_keep_whitespaces_around_cdata = preserve
-ij_xml_keep_whitespaces_inside_cdata = false
-ij_xml_line_comment_at_first_column = true
-ij_xml_space_after_tag_name = false
+ij_xml_align_attributes = true
+ij_xml_align_text = false
+ij_xml_attribute_wrap = on_every_item
+ij_xml_block_comment_add_space = false
+ij_xml_block_comment_at_first_column = true
+ij_xml_keep_blank_lines = 2
+ij_xml_keep_indents_on_empty_lines = false
+ij_xml_keep_line_breaks = true
+ij_xml_keep_line_breaks_in_text = true
+ij_xml_keep_whitespaces = false
+ij_xml_keep_whitespaces_around_cdata = preserve
+ij_xml_keep_whitespaces_inside_cdata = false
+ij_xml_line_comment_at_first_column = true
+ij_xml_space_after_tag_name = false
ij_xml_space_around_equals_in_attribute = false
-ij_xml_space_inside_empty_tag = false
-ij_xml_text_wrap = normal
-ij_xml_use_custom_settings = false
+ij_xml_space_inside_empty_tag = false
+ij_xml_text_wrap = normal
+ij_xml_use_custom_settings = false
+indent_size = 2
+tab_width = 2
+ij_continuation_indent_size = 4
[{*.applescript,*.scpt}]
-indent_size = 2
-tab_width = 2
-ij_continuation_indent_size = 4
-ij_applescript_align_multiline_binary_operation = true
-ij_applescript_align_multiline_parameters = true
-ij_applescript_align_multiline_parameters_in_calls = true
-ij_applescript_binary_operation_sign_on_next_line = false
-ij_applescript_binary_operation_wrap = off
-ij_applescript_block_brace_style = next_line
-ij_applescript_call_parameters_new_line_after_left_paren = false
-ij_applescript_call_parameters_right_paren_on_new_line = false
-ij_applescript_call_parameters_wrap = off
-ij_applescript_else_on_new_line = true
-ij_applescript_keep_blank_lines_in_code = 2
-ij_applescript_keep_first_column_comment = true
-ij_applescript_keep_indents_on_empty_lines = false
-ij_applescript_keep_line_breaks = true
-ij_applescript_method_brace_style = next_line
-ij_applescript_method_parameters_new_line_after_left_paren = false
-ij_applescript_method_parameters_right_paren_on_new_line = false
-ij_applescript_method_parameters_wrap = off
+indent_size = 2
+tab_width = 2
+ij_continuation_indent_size = 4
+ij_applescript_align_multiline_binary_operation = true
+ij_applescript_align_multiline_parameters = true
+ij_applescript_align_multiline_parameters_in_calls = true
+ij_applescript_binary_operation_sign_on_next_line = false
+ij_applescript_binary_operation_wrap = off
+ij_applescript_block_brace_style = next_line
+ij_applescript_call_parameters_new_line_after_left_paren = false
+ij_applescript_call_parameters_right_paren_on_new_line = false
+ij_applescript_call_parameters_wrap = off
+ij_applescript_else_on_new_line = true
+ij_applescript_keep_blank_lines_in_code = 2
+ij_applescript_keep_first_column_comment = true
+ij_applescript_keep_indents_on_empty_lines = false
+ij_applescript_keep_line_breaks = true
+ij_applescript_method_brace_style = next_line
+ij_applescript_method_parameters_new_line_after_left_paren = false
+ij_applescript_method_parameters_right_paren_on_new_line = false
+ij_applescript_method_parameters_wrap = off
ij_applescript_parentheses_expression_new_line_after_left_paren = false
-ij_applescript_parentheses_expression_right_paren_on_new_line = false
-ij_applescript_space_after_colon = true
-ij_applescript_space_after_comma = true
-ij_applescript_space_after_comma_in_type_arguments = true
-ij_applescript_space_before_colon = true
-ij_applescript_space_before_comma = false
-ij_applescript_space_before_else_keyword = true
-ij_applescript_space_before_else_left_brace = true
-ij_applescript_space_before_if_parentheses = false
-ij_applescript_space_before_method_call_parentheses = false
-ij_applescript_space_before_method_left_brace = true
-ij_applescript_space_before_method_parentheses = false
-ij_applescript_space_before_while_keyword = true
-ij_applescript_spaces_around_additive_operators = true
-ij_applescript_spaces_around_assignment_operators = true
-ij_applescript_spaces_around_equality_operators = true
-ij_applescript_spaces_around_logical_operators = true
-ij_applescript_spaces_around_multiplicative_operators = true
-ij_applescript_spaces_around_relational_operators = true
-ij_applescript_spaces_around_shift_operators = true
-ij_applescript_spaces_around_unary_operator = false
-ij_applescript_spaces_within_if_parentheses = false
-ij_applescript_spaces_within_method_call_parentheses = false
-ij_applescript_spaces_within_method_parentheses = false
-ij_applescript_special_else_if_treatment = true
+ij_applescript_parentheses_expression_right_paren_on_new_line = false
+ij_applescript_space_after_colon = true
+ij_applescript_space_after_comma = true
+ij_applescript_space_after_comma_in_type_arguments = true
+ij_applescript_space_before_colon = true
+ij_applescript_space_before_comma = false
+ij_applescript_space_before_else_keyword = true
+ij_applescript_space_before_else_left_brace = true
+ij_applescript_space_before_if_parentheses = false
+ij_applescript_space_before_method_call_parentheses = false
+ij_applescript_space_before_method_left_brace = true
+ij_applescript_space_before_method_parentheses = false
+ij_applescript_space_before_while_keyword = true
+ij_applescript_spaces_around_additive_operators = true
+ij_applescript_spaces_around_assignment_operators = true
+ij_applescript_spaces_around_equality_operators = true
+ij_applescript_spaces_around_logical_operators = true
+ij_applescript_spaces_around_multiplicative_operators = true
+ij_applescript_spaces_around_relational_operators = true
+ij_applescript_spaces_around_shift_operators = true
+ij_applescript_spaces_around_unary_operator = false
+ij_applescript_spaces_within_if_parentheses = false
+ij_applescript_spaces_within_method_call_parentheses = false
+ij_applescript_spaces_within_method_parentheses = false
+ij_applescript_special_else_if_treatment = true
[{*.ats,*.cts,*.mts,*.ts}]
-ij_continuation_indent_size = 4
-ij_typescript_align_imports = true
-ij_typescript_align_multiline_array_initializer_expression = true
-ij_typescript_align_multiline_binary_operation = true
-ij_typescript_align_multiline_chained_methods = true
-ij_typescript_align_multiline_extends_list = false
-ij_typescript_align_multiline_for = true
-ij_typescript_align_multiline_parameters = true
-ij_typescript_align_multiline_parameters_in_calls = true
-ij_typescript_align_multiline_ternary_operation = true
-ij_typescript_align_object_properties = 1
-ij_typescript_align_union_types = true
-ij_typescript_align_var_statements = 2
-ij_typescript_array_initializer_new_line_after_left_brace = false
-ij_typescript_array_initializer_right_brace_on_new_line = false
-ij_typescript_array_initializer_wrap = on_every_item
-ij_typescript_assignment_wrap = on_every_item
-ij_typescript_binary_operation_sign_on_next_line = false
-ij_typescript_binary_operation_wrap = on_every_item
-ij_typescript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/**
-ij_typescript_blank_lines_after_imports = 1
-ij_typescript_blank_lines_around_class = 1
-ij_typescript_blank_lines_around_field = 0
-ij_typescript_blank_lines_around_field_in_interface = 0
-ij_typescript_blank_lines_around_function = 1
-ij_typescript_blank_lines_around_method = 1
-ij_typescript_blank_lines_around_method_in_interface = 1
-ij_typescript_block_brace_style = next_line
-ij_typescript_block_comment_add_space = false
-ij_typescript_block_comment_at_first_column = true
-ij_typescript_call_parameters_new_line_after_left_paren = false
-ij_typescript_call_parameters_right_paren_on_new_line = false
-ij_typescript_call_parameters_wrap = on_every_item
-ij_typescript_catch_on_new_line = true
-ij_typescript_chained_call_dot_on_new_line = true
-ij_typescript_class_brace_style = next_line
-ij_typescript_comma_on_new_line = false
-ij_typescript_do_while_brace_force = always
-ij_typescript_else_on_new_line = false
-ij_typescript_enforce_trailing_comma = keep
-ij_typescript_enum_constants_wrap = on_every_item
-ij_typescript_extends_keyword_wrap = normal
-ij_typescript_extends_list_wrap = on_every_item
-ij_typescript_field_prefix = _
-ij_typescript_file_name_style = relaxed
-ij_typescript_finally_on_new_line = true
-ij_typescript_for_brace_force = if_multiline
-ij_typescript_for_statement_new_line_after_left_paren = false
-ij_typescript_for_statement_right_paren_on_new_line = false
-ij_typescript_for_statement_wrap = on_every_item
-ij_typescript_force_quote_style = true
-ij_typescript_force_semicolon_style = true
-ij_typescript_function_expression_brace_style = next_line
-ij_typescript_if_brace_force = never
-ij_typescript_import_merge_members = global
-ij_typescript_import_prefer_absolute_path = true
-ij_typescript_import_sort_members = true
-ij_typescript_import_sort_module_name = true
-ij_typescript_import_use_node_resolution = true
-ij_typescript_imports_wrap = on_every_item
-ij_typescript_indent_case_from_switch = true
-ij_typescript_indent_chained_calls = true
-ij_typescript_indent_package_children = 0
-ij_typescript_jsdoc_include_types = false
-ij_typescript_jsx_attribute_value = braces
-ij_typescript_keep_blank_lines_in_code = 2
-ij_typescript_keep_first_column_comment = true
-ij_typescript_keep_indents_on_empty_lines = false
-ij_typescript_keep_line_breaks = true
-ij_typescript_keep_simple_blocks_in_one_line = false
-ij_typescript_keep_simple_methods_in_one_line = false
-ij_typescript_line_comment_add_space = true
-ij_typescript_line_comment_at_first_column = false
-ij_typescript_method_brace_style = next_line
-ij_typescript_method_call_chain_wrap = on_every_item
-ij_typescript_method_parameters_new_line_after_left_paren = false
-ij_typescript_method_parameters_right_paren_on_new_line = false
-ij_typescript_method_parameters_wrap = on_every_item
-ij_typescript_object_literal_wrap = on_every_item
-ij_typescript_object_types_wrap = on_every_item
-ij_typescript_parentheses_expression_new_line_after_left_paren = false
-ij_typescript_parentheses_expression_right_paren_on_new_line = false
-ij_typescript_place_assignment_sign_on_next_line = false
-ij_typescript_prefer_as_type_cast = false
+ij_continuation_indent_size = 4
+ij_typescript_align_imports = true
+ij_typescript_align_multiline_array_initializer_expression = true
+ij_typescript_align_multiline_binary_operation = true
+ij_typescript_align_multiline_chained_methods = true
+ij_typescript_align_multiline_extends_list = false
+ij_typescript_align_multiline_for = true
+ij_typescript_align_multiline_parameters = true
+ij_typescript_align_multiline_parameters_in_calls = true
+ij_typescript_align_multiline_ternary_operation = true
+ij_typescript_align_object_properties = 1
+ij_typescript_align_union_types = true
+ij_typescript_align_var_statements = 2
+ij_typescript_array_initializer_new_line_after_left_brace = false
+ij_typescript_array_initializer_right_brace_on_new_line = false
+ij_typescript_array_initializer_wrap = on_every_item
+ij_typescript_assignment_wrap = on_every_item
+ij_typescript_binary_operation_sign_on_next_line = false
+ij_typescript_binary_operation_wrap = on_every_item
+ij_typescript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/**
+ij_typescript_blank_lines_after_imports = 1
+ij_typescript_blank_lines_around_class = 1
+ij_typescript_blank_lines_around_field = 0
+ij_typescript_blank_lines_around_field_in_interface = 0
+ij_typescript_blank_lines_around_function = 1
+ij_typescript_blank_lines_around_method = 1
+ij_typescript_blank_lines_around_method_in_interface = 1
+ij_typescript_block_brace_style = next_line
+ij_typescript_block_comment_add_space = false
+ij_typescript_block_comment_at_first_column = true
+ij_typescript_call_parameters_new_line_after_left_paren = false
+ij_typescript_call_parameters_right_paren_on_new_line = false
+ij_typescript_call_parameters_wrap = on_every_item
+ij_typescript_catch_on_new_line = true
+ij_typescript_chained_call_dot_on_new_line = true
+ij_typescript_class_brace_style = next_line
+ij_typescript_comma_on_new_line = false
+ij_typescript_do_while_brace_force = always
+ij_typescript_else_on_new_line = false
+ij_typescript_enforce_trailing_comma = keep
+ij_typescript_enum_constants_wrap = on_every_item
+ij_typescript_extends_keyword_wrap = normal
+ij_typescript_extends_list_wrap = on_every_item
+ij_typescript_field_prefix = _
+ij_typescript_file_name_style = relaxed
+ij_typescript_finally_on_new_line = true
+ij_typescript_for_brace_force = if_multiline
+ij_typescript_for_statement_new_line_after_left_paren = false
+ij_typescript_for_statement_right_paren_on_new_line = false
+ij_typescript_for_statement_wrap = on_every_item
+ij_typescript_force_quote_style = true
+ij_typescript_force_semicolon_style = true
+ij_typescript_function_expression_brace_style = next_line
+ij_typescript_if_brace_force = never
+ij_typescript_import_merge_members = global
+ij_typescript_import_prefer_absolute_path = true
+ij_typescript_import_sort_members = true
+ij_typescript_import_sort_module_name = true
+ij_typescript_import_use_node_resolution = true
+ij_typescript_imports_wrap = on_every_item
+ij_typescript_indent_case_from_switch = true
+ij_typescript_indent_chained_calls = true
+ij_typescript_indent_package_children = 0
+ij_typescript_jsdoc_include_types = false
+ij_typescript_jsx_attribute_value = braces
+ij_typescript_keep_blank_lines_in_code = 2
+ij_typescript_keep_first_column_comment = true
+ij_typescript_keep_indents_on_empty_lines = false
+ij_typescript_keep_line_breaks = true
+ij_typescript_keep_simple_blocks_in_one_line = false
+ij_typescript_keep_simple_methods_in_one_line = false
+ij_typescript_line_comment_add_space = true
+ij_typescript_line_comment_at_first_column = false
+ij_typescript_method_brace_style = next_line
+ij_typescript_method_call_chain_wrap = on_every_item
+ij_typescript_method_parameters_new_line_after_left_paren = false
+ij_typescript_method_parameters_right_paren_on_new_line = false
+ij_typescript_method_parameters_wrap = on_every_item
+ij_typescript_object_literal_wrap = on_every_item
+ij_typescript_object_types_wrap = on_every_item
+ij_typescript_parentheses_expression_new_line_after_left_paren = false
+ij_typescript_parentheses_expression_right_paren_on_new_line = false
+ij_typescript_place_assignment_sign_on_next_line = false
+ij_typescript_prefer_as_type_cast = false
ij_typescript_prefer_explicit_types_function_expression_returns = false
-ij_typescript_prefer_explicit_types_function_returns = false
-ij_typescript_prefer_explicit_types_vars_fields = false
-ij_typescript_prefer_parameters_wrap = false
-ij_typescript_property_prefix =
-ij_typescript_reformat_c_style_comments = false
-ij_typescript_space_after_colon = true
-ij_typescript_space_after_comma = true
-ij_typescript_space_after_dots_in_rest_parameter = false
-ij_typescript_space_after_generator_mult = true
-ij_typescript_space_after_property_colon = true
-ij_typescript_space_after_quest = true
-ij_typescript_space_after_type_colon = true
-ij_typescript_space_after_unary_not = false
-ij_typescript_space_before_async_arrow_lparen = false
-ij_typescript_space_before_catch_keyword = true
-ij_typescript_space_before_catch_left_brace = false
-ij_typescript_space_before_catch_parentheses = false
-ij_typescript_space_before_class_lbrace = false
-ij_typescript_space_before_class_left_brace = true
-ij_typescript_space_before_colon = true
-ij_typescript_space_before_comma = false
-ij_typescript_space_before_do_left_brace = false
-ij_typescript_space_before_else_keyword = true
-ij_typescript_space_before_else_left_brace = false
-ij_typescript_space_before_finally_keyword = true
-ij_typescript_space_before_finally_left_brace = false
-ij_typescript_space_before_for_left_brace = false
-ij_typescript_space_before_for_parentheses = false
-ij_typescript_space_before_for_semicolon = false
-ij_typescript_space_before_function_left_parenth = false
-ij_typescript_space_before_generator_mult = false
-ij_typescript_space_before_if_left_brace = false
-ij_typescript_space_before_if_parentheses = false
-ij_typescript_space_before_method_call_parentheses = false
-ij_typescript_space_before_method_left_brace = false
-ij_typescript_space_before_method_parentheses = false
-ij_typescript_space_before_property_colon = false
-ij_typescript_space_before_quest = true
-ij_typescript_space_before_switch_left_brace = false
-ij_typescript_space_before_switch_parentheses = false
-ij_typescript_space_before_try_left_brace = false
-ij_typescript_space_before_type_colon = false
-ij_typescript_space_before_unary_not = false
-ij_typescript_space_before_while_keyword = true
-ij_typescript_space_before_while_left_brace = false
-ij_typescript_space_before_while_parentheses = false
-ij_typescript_spaces_around_additive_operators = true
-ij_typescript_spaces_around_arrow_function_operator = true
-ij_typescript_spaces_around_assignment_operators = true
-ij_typescript_spaces_around_bitwise_operators = true
-ij_typescript_spaces_around_equality_operators = true
-ij_typescript_spaces_around_logical_operators = true
-ij_typescript_spaces_around_multiplicative_operators = true
-ij_typescript_spaces_around_relational_operators = true
-ij_typescript_spaces_around_shift_operators = true
-ij_typescript_spaces_around_unary_operator = false
-ij_typescript_spaces_within_array_initializer_brackets = false
-ij_typescript_spaces_within_brackets = false
-ij_typescript_spaces_within_catch_parentheses = false
-ij_typescript_spaces_within_for_parentheses = false
-ij_typescript_spaces_within_if_parentheses = false
-ij_typescript_spaces_within_imports = false
-ij_typescript_spaces_within_interpolation_expressions = false
-ij_typescript_spaces_within_method_call_parentheses = false
-ij_typescript_spaces_within_method_parentheses = false
-ij_typescript_spaces_within_object_literal_braces = false
-ij_typescript_spaces_within_object_type_braces = true
-ij_typescript_spaces_within_parentheses = false
-ij_typescript_spaces_within_switch_parentheses = false
-ij_typescript_spaces_within_type_assertion = false
-ij_typescript_spaces_within_union_types = true
-ij_typescript_spaces_within_while_parentheses = false
-ij_typescript_special_else_if_treatment = true
-ij_typescript_ternary_operation_signs_on_next_line = false
-ij_typescript_ternary_operation_wrap = on_every_item
-ij_typescript_union_types_wrap = on_every_item
-ij_typescript_use_chained_calls_group_indents = false
-ij_typescript_use_double_quotes = true
-ij_typescript_use_explicit_js_extension = auto
-ij_typescript_use_path_mapping = always
-ij_typescript_use_public_modifier = false
-ij_typescript_use_semicolon_after_statement = true
-ij_typescript_var_declaration_wrap = normal
-ij_typescript_while_brace_force = always
-ij_typescript_while_on_new_line = false
-ij_typescript_wrap_comments = false
+ij_typescript_prefer_explicit_types_function_returns = false
+ij_typescript_prefer_explicit_types_vars_fields = false
+ij_typescript_prefer_parameters_wrap = false
+ij_typescript_property_prefix =
+ij_typescript_reformat_c_style_comments = false
+ij_typescript_space_after_colon = true
+ij_typescript_space_after_comma = true
+ij_typescript_space_after_dots_in_rest_parameter = false
+ij_typescript_space_after_generator_mult = true
+ij_typescript_space_after_property_colon = true
+ij_typescript_space_after_quest = true
+ij_typescript_space_after_type_colon = true
+ij_typescript_space_after_unary_not = false
+ij_typescript_space_before_async_arrow_lparen = false
+ij_typescript_space_before_catch_keyword = true
+ij_typescript_space_before_catch_left_brace = false
+ij_typescript_space_before_catch_parentheses = false
+ij_typescript_space_before_class_lbrace = false
+ij_typescript_space_before_class_left_brace = true
+ij_typescript_space_before_colon = true
+ij_typescript_space_before_comma = false
+ij_typescript_space_before_do_left_brace = false
+ij_typescript_space_before_else_keyword = true
+ij_typescript_space_before_else_left_brace = false
+ij_typescript_space_before_finally_keyword = true
+ij_typescript_space_before_finally_left_brace = false
+ij_typescript_space_before_for_left_brace = false
+ij_typescript_space_before_for_parentheses = false
+ij_typescript_space_before_for_semicolon = false
+ij_typescript_space_before_function_left_parenth = false
+ij_typescript_space_before_generator_mult = false
+ij_typescript_space_before_if_left_brace = false
+ij_typescript_space_before_if_parentheses = false
+ij_typescript_space_before_method_call_parentheses = false
+ij_typescript_space_before_method_left_brace = false
+ij_typescript_space_before_method_parentheses = false
+ij_typescript_space_before_property_colon = false
+ij_typescript_space_before_quest = true
+ij_typescript_space_before_switch_left_brace = false
+ij_typescript_space_before_switch_parentheses = false
+ij_typescript_space_before_try_left_brace = false
+ij_typescript_space_before_type_colon = false
+ij_typescript_space_before_unary_not = false
+ij_typescript_space_before_while_keyword = true
+ij_typescript_space_before_while_left_brace = false
+ij_typescript_space_before_while_parentheses = false
+ij_typescript_spaces_around_additive_operators = true
+ij_typescript_spaces_around_arrow_function_operator = true
+ij_typescript_spaces_around_assignment_operators = true
+ij_typescript_spaces_around_bitwise_operators = true
+ij_typescript_spaces_around_equality_operators = true
+ij_typescript_spaces_around_logical_operators = true
+ij_typescript_spaces_around_multiplicative_operators = true
+ij_typescript_spaces_around_relational_operators = true
+ij_typescript_spaces_around_shift_operators = true
+ij_typescript_spaces_around_unary_operator = false
+ij_typescript_spaces_within_array_initializer_brackets = false
+ij_typescript_spaces_within_brackets = false
+ij_typescript_spaces_within_catch_parentheses = false
+ij_typescript_spaces_within_for_parentheses = false
+ij_typescript_spaces_within_if_parentheses = false
+ij_typescript_spaces_within_imports = false
+ij_typescript_spaces_within_interpolation_expressions = false
+ij_typescript_spaces_within_method_call_parentheses = false
+ij_typescript_spaces_within_method_parentheses = false
+ij_typescript_spaces_within_object_literal_braces = false
+ij_typescript_spaces_within_object_type_braces = true
+ij_typescript_spaces_within_parentheses = false
+ij_typescript_spaces_within_switch_parentheses = false
+ij_typescript_spaces_within_type_assertion = false
+ij_typescript_spaces_within_union_types = true
+ij_typescript_spaces_within_while_parentheses = false
+ij_typescript_special_else_if_treatment = true
+ij_typescript_ternary_operation_signs_on_next_line = false
+ij_typescript_ternary_operation_wrap = on_every_item
+ij_typescript_union_types_wrap = on_every_item
+ij_typescript_use_chained_calls_group_indents = false
+ij_typescript_use_double_quotes = true
+ij_typescript_use_explicit_js_extension = auto
+ij_typescript_use_path_mapping = always
+ij_typescript_use_public_modifier = false
+ij_typescript_use_semicolon_after_statement = true
+ij_typescript_var_declaration_wrap = normal
+ij_typescript_while_brace_force = always
+ij_typescript_while_on_new_line = false
+ij_typescript_wrap_comments = false
[{*.bash,*.sh,*.zsh}]
-indent_size = 2
-tab_width = 2
-ij_shell_binary_ops_start_line = false
+indent_size = 2
+tab_width = 2
+ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
-ij_shell_minify_program = false
-ij_shell_redirect_followed_by_space = false
-ij_shell_switch_cases_indented = true
-ij_shell_use_unix_line_separator = true
-indent_style = space
+ij_shell_minify_program = false
+ij_shell_redirect_followed_by_space = false
+ij_shell_switch_cases_indented = true
+ij_shell_use_unix_line_separator = true
+indent_style = space
[{*.cjs,*.js}]
-ij_continuation_indent_size = 4
-ij_javascript_align_imports = true
-ij_javascript_align_multiline_array_initializer_expression = true
-ij_javascript_align_multiline_binary_operation = true
-ij_javascript_align_multiline_chained_methods = false
-ij_javascript_align_multiline_extends_list = true
-ij_javascript_align_multiline_for = true
-ij_javascript_align_multiline_parameters = true
-ij_javascript_align_multiline_parameters_in_calls = true
-ij_javascript_align_multiline_ternary_operation = true
-ij_javascript_align_object_properties = 1
-ij_javascript_align_union_types = false
-ij_javascript_align_var_statements = 2
-ij_javascript_array_initializer_new_line_after_left_brace = false
-ij_javascript_array_initializer_right_brace_on_new_line = false
-ij_javascript_array_initializer_wrap = on_every_item
-ij_javascript_assignment_wrap = on_every_item
-ij_javascript_binary_operation_sign_on_next_line = false
-ij_javascript_binary_operation_wrap = on_every_item
-ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/**
-ij_javascript_blank_lines_after_imports = 1
-ij_javascript_blank_lines_around_class = 1
-ij_javascript_blank_lines_around_field = 0
-ij_javascript_blank_lines_around_function = 1
-ij_javascript_blank_lines_around_method = 1
-ij_javascript_block_brace_style = next_line
-ij_javascript_block_comment_add_space = false
-ij_javascript_block_comment_at_first_column = true
-ij_javascript_call_parameters_new_line_after_left_paren = false
-ij_javascript_call_parameters_right_paren_on_new_line = false
-ij_javascript_call_parameters_wrap = on_every_item
-ij_javascript_catch_on_new_line = true
-ij_javascript_chained_call_dot_on_new_line = true
-ij_javascript_class_brace_style = next_line
-ij_javascript_comma_on_new_line = false
-ij_javascript_do_while_brace_force = always
-ij_javascript_else_on_new_line = true
-ij_javascript_enforce_trailing_comma = remove
-ij_javascript_extends_keyword_wrap = normal
-ij_javascript_extends_list_wrap = on_every_item
-ij_javascript_field_prefix = _
-ij_javascript_file_name_style = relaxed
-ij_javascript_finally_on_new_line = true
-ij_javascript_for_brace_force = if_multiline
-ij_javascript_for_statement_new_line_after_left_paren = false
-ij_javascript_for_statement_right_paren_on_new_line = false
-ij_javascript_for_statement_wrap = on_every_item
-ij_javascript_force_quote_style = true
-ij_javascript_force_semicolon_style = true
-ij_javascript_function_expression_brace_style = next_line
-ij_javascript_if_brace_force = if_multiline
-ij_javascript_import_merge_members = global
-ij_javascript_import_prefer_absolute_path = true
-ij_javascript_import_sort_members = true
-ij_javascript_import_sort_module_name = true
-ij_javascript_import_use_node_resolution = true
-ij_javascript_imports_wrap = on_every_item
-ij_javascript_indent_case_from_switch = true
-ij_javascript_indent_chained_calls = true
-ij_javascript_indent_package_children = 0
-ij_javascript_jsx_attribute_value = braces
-ij_javascript_keep_blank_lines_in_code = 2
-ij_javascript_keep_first_column_comment = true
-ij_javascript_keep_indents_on_empty_lines = false
-ij_javascript_keep_line_breaks = true
-ij_javascript_keep_simple_blocks_in_one_line = false
-ij_javascript_keep_simple_methods_in_one_line = false
-ij_javascript_line_comment_add_space = true
-ij_javascript_line_comment_at_first_column = false
-ij_javascript_method_brace_style = next_line
-ij_javascript_method_call_chain_wrap = on_every_item
-ij_javascript_method_parameters_new_line_after_left_paren = false
-ij_javascript_method_parameters_right_paren_on_new_line = false
-ij_javascript_method_parameters_wrap = on_every_item
-ij_javascript_object_literal_wrap = on_every_item
-ij_javascript_object_types_wrap = on_every_item
-ij_javascript_parentheses_expression_new_line_after_left_paren = false
-ij_javascript_parentheses_expression_right_paren_on_new_line = false
-ij_javascript_place_assignment_sign_on_next_line = true
-ij_javascript_prefer_as_type_cast = false
+ij_continuation_indent_size = 4
+ij_javascript_align_imports = true
+ij_javascript_align_multiline_array_initializer_expression = true
+ij_javascript_align_multiline_binary_operation = true
+ij_javascript_align_multiline_chained_methods = false
+ij_javascript_align_multiline_extends_list = true
+ij_javascript_align_multiline_for = true
+ij_javascript_align_multiline_parameters = true
+ij_javascript_align_multiline_parameters_in_calls = true
+ij_javascript_align_multiline_ternary_operation = true
+ij_javascript_align_object_properties = 1
+ij_javascript_align_union_types = false
+ij_javascript_align_var_statements = 2
+ij_javascript_array_initializer_new_line_after_left_brace = false
+ij_javascript_array_initializer_right_brace_on_new_line = false
+ij_javascript_array_initializer_wrap = on_every_item
+ij_javascript_assignment_wrap = on_every_item
+ij_javascript_binary_operation_sign_on_next_line = false
+ij_javascript_binary_operation_wrap = on_every_item
+ij_javascript_blacklist_imports = rxjs/Rx, node_modules/**, **/node_modules/**, @angular/material, @angular/material/typings/**
+ij_javascript_blank_lines_after_imports = 1
+ij_javascript_blank_lines_around_class = 1
+ij_javascript_blank_lines_around_field = 0
+ij_javascript_blank_lines_around_function = 1
+ij_javascript_blank_lines_around_method = 1
+ij_javascript_block_brace_style = next_line
+ij_javascript_block_comment_add_space = false
+ij_javascript_block_comment_at_first_column = true
+ij_javascript_call_parameters_new_line_after_left_paren = false
+ij_javascript_call_parameters_right_paren_on_new_line = false
+ij_javascript_call_parameters_wrap = on_every_item
+ij_javascript_catch_on_new_line = true
+ij_javascript_chained_call_dot_on_new_line = true
+ij_javascript_class_brace_style = next_line
+ij_javascript_comma_on_new_line = false
+ij_javascript_do_while_brace_force = always
+ij_javascript_else_on_new_line = true
+ij_javascript_enforce_trailing_comma = remove
+ij_javascript_extends_keyword_wrap = normal
+ij_javascript_extends_list_wrap = on_every_item
+ij_javascript_field_prefix = _
+ij_javascript_file_name_style = relaxed
+ij_javascript_finally_on_new_line = true
+ij_javascript_for_brace_force = if_multiline
+ij_javascript_for_statement_new_line_after_left_paren = false
+ij_javascript_for_statement_right_paren_on_new_line = false
+ij_javascript_for_statement_wrap = on_every_item
+ij_javascript_force_quote_style = true
+ij_javascript_force_semicolon_style = true
+ij_javascript_function_expression_brace_style = next_line
+ij_javascript_if_brace_force = if_multiline
+ij_javascript_import_merge_members = global
+ij_javascript_import_prefer_absolute_path = true
+ij_javascript_import_sort_members = true
+ij_javascript_import_sort_module_name = true
+ij_javascript_import_use_node_resolution = true
+ij_javascript_imports_wrap = on_every_item
+ij_javascript_indent_case_from_switch = true
+ij_javascript_indent_chained_calls = true
+ij_javascript_indent_package_children = 0
+ij_javascript_jsx_attribute_value = braces
+ij_javascript_keep_blank_lines_in_code = 2
+ij_javascript_keep_first_column_comment = true
+ij_javascript_keep_indents_on_empty_lines = false
+ij_javascript_keep_line_breaks = true
+ij_javascript_keep_simple_blocks_in_one_line = false
+ij_javascript_keep_simple_methods_in_one_line = false
+ij_javascript_line_comment_add_space = true
+ij_javascript_line_comment_at_first_column = false
+ij_javascript_method_brace_style = next_line
+ij_javascript_method_call_chain_wrap = on_every_item
+ij_javascript_method_parameters_new_line_after_left_paren = false
+ij_javascript_method_parameters_right_paren_on_new_line = false
+ij_javascript_method_parameters_wrap = on_every_item
+ij_javascript_object_literal_wrap = on_every_item
+ij_javascript_object_types_wrap = on_every_item
+ij_javascript_parentheses_expression_new_line_after_left_paren = false
+ij_javascript_parentheses_expression_right_paren_on_new_line = false
+ij_javascript_place_assignment_sign_on_next_line = true
+ij_javascript_prefer_as_type_cast = false
ij_javascript_prefer_explicit_types_function_expression_returns = false
-ij_javascript_prefer_explicit_types_function_returns = false
-ij_javascript_prefer_explicit_types_vars_fields = false
-ij_javascript_prefer_parameters_wrap = false
-ij_javascript_property_prefix =
-ij_javascript_reformat_c_style_comments = true
-ij_javascript_space_after_colon = true
-ij_javascript_space_after_comma = true
-ij_javascript_space_after_dots_in_rest_parameter = false
-ij_javascript_space_after_generator_mult = true
-ij_javascript_space_after_property_colon = true
-ij_javascript_space_after_quest = true
-ij_javascript_space_after_type_colon = true
-ij_javascript_space_after_unary_not = false
-ij_javascript_space_before_async_arrow_lparen = false
-ij_javascript_space_before_catch_keyword = true
-ij_javascript_space_before_catch_left_brace = false
-ij_javascript_space_before_catch_parentheses = false
-ij_javascript_space_before_class_lbrace = false
-ij_javascript_space_before_class_left_brace = true
-ij_javascript_space_before_colon = true
-ij_javascript_space_before_comma = false
-ij_javascript_space_before_do_left_brace = false
-ij_javascript_space_before_else_keyword = true
-ij_javascript_space_before_else_left_brace = false
-ij_javascript_space_before_finally_keyword = true
-ij_javascript_space_before_finally_left_brace = false
-ij_javascript_space_before_for_left_brace = false
-ij_javascript_space_before_for_parentheses = false
-ij_javascript_space_before_for_semicolon = false
-ij_javascript_space_before_function_left_parenth = false
-ij_javascript_space_before_generator_mult = false
-ij_javascript_space_before_if_left_brace = false
-ij_javascript_space_before_if_parentheses = false
-ij_javascript_space_before_method_call_parentheses = false
-ij_javascript_space_before_method_left_brace = false
-ij_javascript_space_before_method_parentheses = false
-ij_javascript_space_before_property_colon = false
-ij_javascript_space_before_quest = true
-ij_javascript_space_before_switch_left_brace = false
-ij_javascript_space_before_switch_parentheses = false
-ij_javascript_space_before_try_left_brace = false
-ij_javascript_space_before_type_colon = false
-ij_javascript_space_before_unary_not = false
-ij_javascript_space_before_while_keyword = true
-ij_javascript_space_before_while_left_brace = false
-ij_javascript_space_before_while_parentheses = false
-ij_javascript_spaces_around_additive_operators = true
-ij_javascript_spaces_around_arrow_function_operator = true
-ij_javascript_spaces_around_assignment_operators = true
-ij_javascript_spaces_around_bitwise_operators = true
-ij_javascript_spaces_around_equality_operators = true
-ij_javascript_spaces_around_logical_operators = true
-ij_javascript_spaces_around_multiplicative_operators = true
-ij_javascript_spaces_around_relational_operators = true
-ij_javascript_spaces_around_shift_operators = true
-ij_javascript_spaces_around_unary_operator = false
-ij_javascript_spaces_within_array_initializer_brackets = false
-ij_javascript_spaces_within_brackets = false
-ij_javascript_spaces_within_catch_parentheses = false
-ij_javascript_spaces_within_for_parentheses = false
-ij_javascript_spaces_within_if_parentheses = false
-ij_javascript_spaces_within_imports = false
-ij_javascript_spaces_within_interpolation_expressions = false
-ij_javascript_spaces_within_method_call_parentheses = false
-ij_javascript_spaces_within_method_parentheses = false
-ij_javascript_spaces_within_object_literal_braces = false
-ij_javascript_spaces_within_object_type_braces = true
-ij_javascript_spaces_within_parentheses = false
-ij_javascript_spaces_within_switch_parentheses = false
-ij_javascript_spaces_within_type_assertion = false
-ij_javascript_spaces_within_union_types = true
-ij_javascript_spaces_within_while_parentheses = false
-ij_javascript_special_else_if_treatment = true
-ij_javascript_ternary_operation_signs_on_next_line = false
-ij_javascript_ternary_operation_wrap = on_every_item
-ij_javascript_union_types_wrap = on_every_item
-ij_javascript_use_chained_calls_group_indents = true
-ij_javascript_use_double_quotes = true
-ij_javascript_use_explicit_js_extension = auto
-ij_javascript_use_path_mapping = always
-ij_javascript_use_public_modifier = false
-ij_javascript_use_semicolon_after_statement = true
-ij_javascript_var_declaration_wrap = normal
-ij_javascript_while_brace_force = always
-ij_javascript_while_on_new_line = false
-ij_javascript_wrap_comments = false
+ij_javascript_prefer_explicit_types_function_returns = false
+ij_javascript_prefer_explicit_types_vars_fields = false
+ij_javascript_prefer_parameters_wrap = false
+ij_javascript_property_prefix =
+ij_javascript_reformat_c_style_comments = true
+ij_javascript_space_after_colon = true
+ij_javascript_space_after_comma = true
+ij_javascript_space_after_dots_in_rest_parameter = false
+ij_javascript_space_after_generator_mult = true
+ij_javascript_space_after_property_colon = true
+ij_javascript_space_after_quest = true
+ij_javascript_space_after_type_colon = true
+ij_javascript_space_after_unary_not = false
+ij_javascript_space_before_async_arrow_lparen = false
+ij_javascript_space_before_catch_keyword = true
+ij_javascript_space_before_catch_left_brace = false
+ij_javascript_space_before_catch_parentheses = false
+ij_javascript_space_before_class_lbrace = false
+ij_javascript_space_before_class_left_brace = true
+ij_javascript_space_before_colon = true
+ij_javascript_space_before_comma = false
+ij_javascript_space_before_do_left_brace = false
+ij_javascript_space_before_else_keyword = true
+ij_javascript_space_before_else_left_brace = false
+ij_javascript_space_before_finally_keyword = true
+ij_javascript_space_before_finally_left_brace = false
+ij_javascript_space_before_for_left_brace = false
+ij_javascript_space_before_for_parentheses = false
+ij_javascript_space_before_for_semicolon = false
+ij_javascript_space_before_function_left_parenth = false
+ij_javascript_space_before_generator_mult = false
+ij_javascript_space_before_if_left_brace = false
+ij_javascript_space_before_if_parentheses = false
+ij_javascript_space_before_method_call_parentheses = false
+ij_javascript_space_before_method_left_brace = false
+ij_javascript_space_before_method_parentheses = false
+ij_javascript_space_before_property_colon = false
+ij_javascript_space_before_quest = true
+ij_javascript_space_before_switch_left_brace = false
+ij_javascript_space_before_switch_parentheses = false
+ij_javascript_space_before_try_left_brace = false
+ij_javascript_space_before_type_colon = false
+ij_javascript_space_before_unary_not = false
+ij_javascript_space_before_while_keyword = true
+ij_javascript_space_before_while_left_brace = false
+ij_javascript_space_before_while_parentheses = false
+ij_javascript_spaces_around_additive_operators = true
+ij_javascript_spaces_around_arrow_function_operator = true
+ij_javascript_spaces_around_assignment_operators = true
+ij_javascript_spaces_around_bitwise_operators = true
+ij_javascript_spaces_around_equality_operators = true
+ij_javascript_spaces_around_logical_operators = true
+ij_javascript_spaces_around_multiplicative_operators = true
+ij_javascript_spaces_around_relational_operators = true
+ij_javascript_spaces_around_shift_operators = true
+ij_javascript_spaces_around_unary_operator = false
+ij_javascript_spaces_within_array_initializer_brackets = false
+ij_javascript_spaces_within_brackets = false
+ij_javascript_spaces_within_catch_parentheses = false
+ij_javascript_spaces_within_for_parentheses = false
+ij_javascript_spaces_within_if_parentheses = false
+ij_javascript_spaces_within_imports = false
+ij_javascript_spaces_within_interpolation_expressions = false
+ij_javascript_spaces_within_method_call_parentheses = false
+ij_javascript_spaces_within_method_parentheses = false
+ij_javascript_spaces_within_object_literal_braces = false
+ij_javascript_spaces_within_object_type_braces = true
+ij_javascript_spaces_within_parentheses = false
+ij_javascript_spaces_within_switch_parentheses = false
+ij_javascript_spaces_within_type_assertion = false
+ij_javascript_spaces_within_union_types = true
+ij_javascript_spaces_within_while_parentheses = false
+ij_javascript_special_else_if_treatment = true
+ij_javascript_ternary_operation_signs_on_next_line = false
+ij_javascript_ternary_operation_wrap = on_every_item
+ij_javascript_union_types_wrap = on_every_item
+ij_javascript_use_chained_calls_group_indents = true
+ij_javascript_use_double_quotes = true
+ij_javascript_use_explicit_js_extension = auto
+ij_javascript_use_path_mapping = always
+ij_javascript_use_public_modifier = false
+ij_javascript_use_semicolon_after_statement = true
+ij_javascript_var_declaration_wrap = normal
+ij_javascript_while_brace_force = always
+ij_javascript_while_on_new_line = false
+ij_javascript_wrap_comments = false
[{*.comp,*.frag,*.fsh,*.geom,*.glsl,*.tesc,*.tese,*.vert,*.vsh}]
ij_glsl_keep_indents_on_empty_lines = false
[{*.har,*.jsb2,*.jsb3,*.json,*.jsonc,.babelrc,.eslintrc,.prettierrc,.stylelintrc,bowerrc,jest.config}]
-indent_size = 2
-ij_json_array_wrapping = normal
-ij_json_keep_blank_lines_in_code = 0
+indent_size = 2
+ij_json_array_wrapping = normal
+ij_json_keep_blank_lines_in_code = 0
ij_json_keep_indents_on_empty_lines = false
-ij_json_keep_line_breaks = true
-ij_json_keep_trailing_comma = false
-ij_json_object_wrapping = normal
-ij_json_property_alignment = align_on_value
-ij_json_space_after_colon = true
-ij_json_space_after_comma = true
-ij_json_space_before_colon = false
-ij_json_space_before_comma = false
-ij_json_spaces_within_braces = false
-ij_json_spaces_within_brackets = false
-ij_json_wrap_long_lines = false
-indent_style = space
+ij_json_keep_line_breaks = true
+ij_json_keep_trailing_comma = false
+ij_json_object_wrapping = normal
+ij_json_property_alignment = align_on_value
+ij_json_space_after_colon = true
+ij_json_space_after_comma = true
+ij_json_space_before_colon = false
+ij_json_space_before_comma = false
+ij_json_spaces_within_braces = false
+ij_json_spaces_within_brackets = false
+ij_json_wrap_long_lines = false
+indent_style = space
[{*.htm,*.html,*.ng,*.sht,*.shtm,*.shtml}]
-ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3
-ij_html_align_attributes = true
-ij_html_align_text = false
-ij_html_attribute_wrap = normal
-ij_html_block_comment_add_space = false
-ij_html_block_comment_at_first_column = true
+ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3
+ij_html_align_attributes = true
+ij_html_align_text = false
+ij_html_attribute_wrap = normal
+ij_html_block_comment_add_space = false
+ij_html_block_comment_at_first_column = true
ij_html_do_not_align_children_of_min_lines = 0
-ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p
-ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot
-ij_html_enforce_quotes = false
-ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var
-ij_html_keep_blank_lines = 2
-ij_html_keep_indents_on_empty_lines = false
-ij_html_keep_line_breaks = true
-ij_html_keep_line_breaks_in_text = true
-ij_html_keep_whitespaces = false
-ij_html_keep_whitespaces_inside = span,pre,textarea
-ij_html_line_comment_at_first_column = true
-ij_html_new_line_after_last_attribute = never
-ij_html_new_line_before_first_attribute = never
-ij_html_quote_style = double
-ij_html_remove_new_line_before_tags = br
-ij_html_space_after_tag_name = false
+ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p
+ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot
+ij_html_enforce_quotes = false
+ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var
+ij_html_keep_blank_lines = 2
+ij_html_keep_indents_on_empty_lines = false
+ij_html_keep_line_breaks = true
+ij_html_keep_line_breaks_in_text = true
+ij_html_keep_whitespaces = false
+ij_html_keep_whitespaces_inside = span, pre, textarea
+ij_html_line_comment_at_first_column = true
+ij_html_new_line_after_last_attribute = never
+ij_html_new_line_before_first_attribute = never
+ij_html_quote_style = double
+ij_html_remove_new_line_before_tags = br
+ij_html_space_after_tag_name = false
ij_html_space_around_equality_in_attribute = false
-ij_html_space_inside_empty_tag = false
-ij_html_text_wrap = normal
+ij_html_space_inside_empty_tag = false
+ij_html_text_wrap = normal
[{*.http,*.rest}]
-indent_size = 0
-ij_continuation_indent_size = 4
-ij_http-request_call_parameters_wrap = normal
-ij_http-request_method_parameters_wrap = split_into_lines
-ij_http-request_space_before_comma = true
+indent_size = 0
+ij_continuation_indent_size = 4
+ij_http-request_call_parameters_wrap = normal
+ij_http-request_method_parameters_wrap = split_into_lines
+ij_http-request_space_before_comma = true
ij_http-request_spaces_around_assignment_operators = true
[{*.markdown,*.md}]
ij_markdown_force_one_space_after_blockquote_symbol = true
-ij_markdown_force_one_space_after_header_symbol = true
-ij_markdown_force_one_space_after_list_bullet = true
-ij_markdown_force_one_space_between_words = true
-ij_markdown_format_tables = true
-ij_markdown_insert_quote_arrows_on_wrap = true
-ij_markdown_keep_indents_on_empty_lines = false
-ij_markdown_keep_line_breaks_inside_text_blocks = true
-ij_markdown_max_lines_around_block_elements = 1
-ij_markdown_max_lines_around_header = 1
-ij_markdown_max_lines_between_paragraphs = 1
-ij_markdown_min_lines_around_block_elements = 1
-ij_markdown_min_lines_around_header = 1
-ij_markdown_min_lines_between_paragraphs = 1
-ij_markdown_wrap_text_if_long = true
-ij_markdown_wrap_text_inside_blockquotes = true
+ij_markdown_force_one_space_after_header_symbol = true
+ij_markdown_force_one_space_after_list_bullet = true
+ij_markdown_force_one_space_between_words = true
+ij_markdown_format_tables = true
+ij_markdown_insert_quote_arrows_on_wrap = true
+ij_markdown_keep_indents_on_empty_lines = false
+ij_markdown_keep_line_breaks_inside_text_blocks = true
+ij_markdown_max_lines_around_block_elements = 1
+ij_markdown_max_lines_around_header = 1
+ij_markdown_max_lines_between_paragraphs = 1
+ij_markdown_min_lines_around_block_elements = 1
+ij_markdown_min_lines_around_header = 1
+ij_markdown_min_lines_between_paragraphs = 1
+ij_markdown_wrap_text_if_long = true
+ij_markdown_wrap_text_inside_blockquotes = true
[{*.ps1,*.psd1,*.psm1}]
-max_line_length = 115
-ij_powershell_align_multiline_binary_operation = true
-ij_powershell_align_multiline_chained_methods = false
-ij_powershell_align_multiline_for = true
-ij_powershell_align_multiline_parameters = true
-ij_powershell_align_multiline_parameters_in_calls = false
-ij_powershell_binary_operation_wrap = on_every_item
-ij_powershell_block_brace_style = next_line
-ij_powershell_call_parameters_new_line_after_left_paren = false
-ij_powershell_call_parameters_right_paren_on_new_line = false
-ij_powershell_call_parameters_wrap = on_every_item
-ij_powershell_catch_on_new_line = true
-ij_powershell_class_annotation_wrap = split_into_lines
-ij_powershell_class_brace_style = next_line
-ij_powershell_else_on_new_line = true
-ij_powershell_field_annotation_wrap = off
-ij_powershell_finally_on_new_line = true
-ij_powershell_for_statement_new_line_after_left_paren = false
-ij_powershell_for_statement_right_paren_on_new_line = false
-ij_powershell_for_statement_wrap = on_every_item
-ij_powershell_keep_blank_lines_in_code = 2
-ij_powershell_keep_first_column_comment = true
-ij_powershell_keep_line_breaks = true
-ij_powershell_keep_simple_blocks_in_one_line = true
-ij_powershell_keep_simple_classes_in_one_line = false
-ij_powershell_keep_simple_lambdas_in_one_line = true
-ij_powershell_keep_simple_methods_in_one_line = true
-ij_powershell_method_annotation_wrap = split_into_lines
-ij_powershell_method_brace_style = next_line
-ij_powershell_method_call_chain_wrap = on_every_item
-ij_powershell_method_parameters_new_line_after_left_paren = false
-ij_powershell_method_parameters_right_paren_on_new_line = false
-ij_powershell_method_parameters_wrap = on_every_item
-ij_powershell_parameter_annotation_wrap = off
+max_line_length = 115
+ij_powershell_align_multiline_binary_operation = true
+ij_powershell_align_multiline_chained_methods = false
+ij_powershell_align_multiline_for = true
+ij_powershell_align_multiline_parameters = true
+ij_powershell_align_multiline_parameters_in_calls = false
+ij_powershell_binary_operation_wrap = on_every_item
+ij_powershell_block_brace_style = next_line
+ij_powershell_call_parameters_new_line_after_left_paren = false
+ij_powershell_call_parameters_right_paren_on_new_line = false
+ij_powershell_call_parameters_wrap = on_every_item
+ij_powershell_catch_on_new_line = true
+ij_powershell_class_annotation_wrap = split_into_lines
+ij_powershell_class_brace_style = next_line
+ij_powershell_else_on_new_line = true
+ij_powershell_field_annotation_wrap = off
+ij_powershell_finally_on_new_line = true
+ij_powershell_for_statement_new_line_after_left_paren = false
+ij_powershell_for_statement_right_paren_on_new_line = false
+ij_powershell_for_statement_wrap = on_every_item
+ij_powershell_keep_blank_lines_in_code = 2
+ij_powershell_keep_first_column_comment = true
+ij_powershell_keep_line_breaks = true
+ij_powershell_keep_simple_blocks_in_one_line = true
+ij_powershell_keep_simple_classes_in_one_line = false
+ij_powershell_keep_simple_lambdas_in_one_line = true
+ij_powershell_keep_simple_methods_in_one_line = true
+ij_powershell_method_annotation_wrap = split_into_lines
+ij_powershell_method_brace_style = next_line
+ij_powershell_method_call_chain_wrap = on_every_item
+ij_powershell_method_parameters_new_line_after_left_paren = false
+ij_powershell_method_parameters_right_paren_on_new_line = false
+ij_powershell_method_parameters_wrap = on_every_item
+ij_powershell_parameter_annotation_wrap = off
ij_powershell_parentheses_expression_new_line_after_left_paren = false
-ij_powershell_parentheses_expression_right_paren_on_new_line = false
-ij_powershell_space_after_colon = true
-ij_powershell_space_after_comma = true
-ij_powershell_space_after_for_semicolon = true
-ij_powershell_space_after_type_cast = false
-ij_powershell_space_before_annotation_parameter_list = false
-ij_powershell_space_before_array_initializer_left_brace = false
-ij_powershell_space_before_catch_keyword = true
-ij_powershell_space_before_catch_left_brace = false
-ij_powershell_space_before_class_left_brace = false
-ij_powershell_space_before_colon = true
-ij_powershell_space_before_comma = false
-ij_powershell_space_before_do_left_brace = false
-ij_powershell_space_before_else_keyword = true
-ij_powershell_space_before_else_left_brace = false
-ij_powershell_space_before_finally_keyword = true
-ij_powershell_space_before_finally_left_brace = false
-ij_powershell_space_before_for_left_brace = false
-ij_powershell_space_before_for_parentheses = false
-ij_powershell_space_before_for_semicolon = false
-ij_powershell_space_before_if_left_brace = false
-ij_powershell_space_before_if_parentheses = false
-ij_powershell_space_before_method_call_parentheses = false
-ij_powershell_space_before_method_left_brace = false
-ij_powershell_space_before_method_parentheses = false
-ij_powershell_space_before_switch_left_brace = false
-ij_powershell_space_before_switch_parentheses = false
-ij_powershell_space_before_try_left_brace = false
-ij_powershell_space_before_while_keyword = true
-ij_powershell_space_before_while_left_brace = false
-ij_powershell_space_before_while_parentheses = false
-ij_powershell_space_within_empty_method_call_parentheses = false
-ij_powershell_space_within_empty_method_parentheses = false
-ij_powershell_spaces_around_additive_operators = true
-ij_powershell_spaces_around_assignment_operators = true
-ij_powershell_spaces_around_bitwise_operators = true
-ij_powershell_spaces_around_logical_operators = true
-ij_powershell_spaces_around_method_ref_dbl_colon = false
-ij_powershell_spaces_around_multiplicative_operators = true
-ij_powershell_spaces_around_relational_operators = true
-ij_powershell_spaces_around_unary_operator = false
-ij_powershell_spaces_within_annotation_parentheses = false
-ij_powershell_spaces_within_braces = true
-ij_powershell_spaces_within_brackets = false
-ij_powershell_spaces_within_cast_parentheses = false
-ij_powershell_spaces_within_for_parentheses = false
-ij_powershell_spaces_within_if_parentheses = false
-ij_powershell_spaces_within_method_call_parentheses = false
-ij_powershell_spaces_within_method_parentheses = false
-ij_powershell_spaces_within_parentheses = false
-ij_powershell_spaces_within_switch_parentheses = false
-ij_powershell_spaces_within_while_parentheses = false
-ij_powershell_special_else_if_treatment = true
-ij_powershell_while_on_new_line = false
-ij_powershell_wrap_first_method_in_call_chain = false
-ij_powershell_wrap_long_lines = false
+ij_powershell_parentheses_expression_right_paren_on_new_line = false
+ij_powershell_space_after_colon = true
+ij_powershell_space_after_comma = true
+ij_powershell_space_after_for_semicolon = true
+ij_powershell_space_after_type_cast = false
+ij_powershell_space_before_annotation_parameter_list = false
+ij_powershell_space_before_array_initializer_left_brace = false
+ij_powershell_space_before_catch_keyword = true
+ij_powershell_space_before_catch_left_brace = false
+ij_powershell_space_before_class_left_brace = false
+ij_powershell_space_before_colon = true
+ij_powershell_space_before_comma = false
+ij_powershell_space_before_do_left_brace = false
+ij_powershell_space_before_else_keyword = true
+ij_powershell_space_before_else_left_brace = false
+ij_powershell_space_before_finally_keyword = true
+ij_powershell_space_before_finally_left_brace = false
+ij_powershell_space_before_for_left_brace = false
+ij_powershell_space_before_for_parentheses = false
+ij_powershell_space_before_for_semicolon = false
+ij_powershell_space_before_if_left_brace = false
+ij_powershell_space_before_if_parentheses = false
+ij_powershell_space_before_method_call_parentheses = false
+ij_powershell_space_before_method_left_brace = false
+ij_powershell_space_before_method_parentheses = false
+ij_powershell_space_before_switch_left_brace = false
+ij_powershell_space_before_switch_parentheses = false
+ij_powershell_space_before_try_left_brace = false
+ij_powershell_space_before_while_keyword = true
+ij_powershell_space_before_while_left_brace = false
+ij_powershell_space_before_while_parentheses = false
+ij_powershell_space_within_empty_method_call_parentheses = false
+ij_powershell_space_within_empty_method_parentheses = false
+ij_powershell_spaces_around_additive_operators = true
+ij_powershell_spaces_around_assignment_operators = true
+ij_powershell_spaces_around_bitwise_operators = true
+ij_powershell_spaces_around_logical_operators = true
+ij_powershell_spaces_around_method_ref_dbl_colon = false
+ij_powershell_spaces_around_multiplicative_operators = true
+ij_powershell_spaces_around_relational_operators = true
+ij_powershell_spaces_around_unary_operator = false
+ij_powershell_spaces_within_annotation_parentheses = false
+ij_powershell_spaces_within_braces = true
+ij_powershell_spaces_within_brackets = false
+ij_powershell_spaces_within_cast_parentheses = false
+ij_powershell_spaces_within_for_parentheses = false
+ij_powershell_spaces_within_if_parentheses = false
+ij_powershell_spaces_within_method_call_parentheses = false
+ij_powershell_spaces_within_method_parentheses = false
+ij_powershell_spaces_within_parentheses = false
+ij_powershell_spaces_within_switch_parentheses = false
+ij_powershell_spaces_within_while_parentheses = false
+ij_powershell_special_else_if_treatment = true
+ij_powershell_while_on_new_line = false
+ij_powershell_wrap_first_method_in_call_chain = false
+ij_powershell_wrap_long_lines = false
[{*.py,*.pyw}]
-ij_python_align_collections_and_comprehensions = true
-ij_python_align_multiline_imports = true
-ij_python_align_multiline_parameters = true
-ij_python_align_multiline_parameters_in_calls = true
-ij_python_blank_line_at_file_end = false
-ij_python_blank_lines_after_imports = 1
-ij_python_blank_lines_after_local_imports = 0
-ij_python_blank_lines_around_class = 1
-ij_python_blank_lines_around_method = 1
-ij_python_blank_lines_around_top_level_classes_functions = 2
-ij_python_blank_lines_before_first_method = 0
-ij_python_call_parameters_new_line_after_left_paren = false
-ij_python_call_parameters_right_paren_on_new_line = false
-ij_python_call_parameters_wrap = on_every_item
-ij_python_dict_alignment = 0
-ij_python_dict_new_line_after_left_brace = false
-ij_python_dict_new_line_before_right_brace = false
-ij_python_dict_wrapping = 5
-ij_python_from_import_new_line_after_left_parenthesis = false
-ij_python_from_import_new_line_before_right_parenthesis = false
-ij_python_from_import_parentheses_force_if_multiline = false
-ij_python_from_import_trailing_comma_if_multiline = false
-ij_python_from_import_wrapping = 5
-ij_python_hang_closing_brackets = true
-ij_python_keep_blank_lines_in_code = 1
-ij_python_keep_blank_lines_in_declarations = 1
-ij_python_keep_indents_on_empty_lines = false
-ij_python_keep_line_breaks = true
-ij_python_method_parameters_new_line_after_left_paren = false
-ij_python_method_parameters_right_paren_on_new_line = false
-ij_python_method_parameters_wrap = on_every_item
-ij_python_new_line_after_colon = false
-ij_python_new_line_after_colon_multi_clause = true
-ij_python_optimize_imports_always_split_from_imports = false
-ij_python_optimize_imports_case_insensitive_order = true
-ij_python_optimize_imports_join_from_imports_with_same_source = false
-ij_python_optimize_imports_sort_by_type_first = true
-ij_python_optimize_imports_sort_imports = true
-ij_python_optimize_imports_sort_names_in_from_imports = true
-ij_python_space_after_comma = true
-ij_python_space_after_number_sign = true
-ij_python_space_after_py_colon = true
-ij_python_space_before_backslash = true
-ij_python_space_before_comma = false
-ij_python_space_before_for_semicolon = false
-ij_python_space_before_lbracket = false
-ij_python_space_before_method_call_parentheses = false
-ij_python_space_before_method_parentheses = false
-ij_python_space_before_number_sign = true
-ij_python_space_before_py_colon = false
-ij_python_space_within_empty_method_call_parentheses = false
-ij_python_space_within_empty_method_parentheses = false
-ij_python_spaces_around_additive_operators = true
-ij_python_spaces_around_assignment_operators = true
-ij_python_spaces_around_bitwise_operators = true
-ij_python_spaces_around_eq_in_keyword_argument = false
-ij_python_spaces_around_eq_in_named_parameter = false
-ij_python_spaces_around_equality_operators = true
-ij_python_spaces_around_multiplicative_operators = true
-ij_python_spaces_around_power_operator = true
-ij_python_spaces_around_relational_operators = true
-ij_python_spaces_around_shift_operators = true
-ij_python_spaces_within_braces = false
-ij_python_spaces_within_brackets = false
-ij_python_spaces_within_method_call_parentheses = false
-ij_python_spaces_within_method_parentheses = false
-ij_python_use_continuation_indent_for_arguments = false
+ij_python_align_collections_and_comprehensions = true
+ij_python_align_multiline_imports = true
+ij_python_align_multiline_parameters = true
+ij_python_align_multiline_parameters_in_calls = true
+ij_python_blank_line_at_file_end = false
+ij_python_blank_lines_after_imports = 1
+ij_python_blank_lines_after_local_imports = 0
+ij_python_blank_lines_around_class = 1
+ij_python_blank_lines_around_method = 1
+ij_python_blank_lines_around_top_level_classes_functions = 2
+ij_python_blank_lines_before_first_method = 0
+ij_python_call_parameters_new_line_after_left_paren = false
+ij_python_call_parameters_right_paren_on_new_line = false
+ij_python_call_parameters_wrap = on_every_item
+ij_python_dict_alignment = 0
+ij_python_dict_new_line_after_left_brace = false
+ij_python_dict_new_line_before_right_brace = false
+ij_python_dict_wrapping = 5
+ij_python_from_import_new_line_after_left_parenthesis = false
+ij_python_from_import_new_line_before_right_parenthesis = false
+ij_python_from_import_parentheses_force_if_multiline = false
+ij_python_from_import_trailing_comma_if_multiline = false
+ij_python_from_import_wrapping = 5
+ij_python_hang_closing_brackets = true
+ij_python_keep_blank_lines_in_code = 1
+ij_python_keep_blank_lines_in_declarations = 1
+ij_python_keep_indents_on_empty_lines = false
+ij_python_keep_line_breaks = true
+ij_python_method_parameters_new_line_after_left_paren = false
+ij_python_method_parameters_right_paren_on_new_line = false
+ij_python_method_parameters_wrap = on_every_item
+ij_python_new_line_after_colon = false
+ij_python_new_line_after_colon_multi_clause = true
+ij_python_optimize_imports_always_split_from_imports = false
+ij_python_optimize_imports_case_insensitive_order = true
+ij_python_optimize_imports_join_from_imports_with_same_source = false
+ij_python_optimize_imports_sort_by_type_first = true
+ij_python_optimize_imports_sort_imports = true
+ij_python_optimize_imports_sort_names_in_from_imports = true
+ij_python_space_after_comma = true
+ij_python_space_after_number_sign = true
+ij_python_space_after_py_colon = true
+ij_python_space_before_backslash = true
+ij_python_space_before_comma = false
+ij_python_space_before_for_semicolon = false
+ij_python_space_before_lbracket = false
+ij_python_space_before_method_call_parentheses = false
+ij_python_space_before_method_parentheses = false
+ij_python_space_before_number_sign = true
+ij_python_space_before_py_colon = false
+ij_python_space_within_empty_method_call_parentheses = false
+ij_python_space_within_empty_method_parentheses = false
+ij_python_spaces_around_additive_operators = true
+ij_python_spaces_around_assignment_operators = true
+ij_python_spaces_around_bitwise_operators = true
+ij_python_spaces_around_eq_in_keyword_argument = false
+ij_python_spaces_around_eq_in_named_parameter = false
+ij_python_spaces_around_equality_operators = true
+ij_python_spaces_around_multiplicative_operators = true
+ij_python_spaces_around_power_operator = true
+ij_python_spaces_around_relational_operators = true
+ij_python_spaces_around_shift_operators = true
+ij_python_spaces_within_braces = false
+ij_python_spaces_within_brackets = false
+ij_python_spaces_within_method_call_parentheses = false
+ij_python_spaces_within_method_parentheses = false
+ij_python_use_continuation_indent_for_arguments = false
ij_python_use_continuation_indent_for_collection_and_comprehensions = false
-ij_python_use_continuation_indent_for_parameters = true
-ij_python_wrap_long_lines = false
+ij_python_use_continuation_indent_for_parameters = true
+ij_python_wrap_long_lines = false
[{*.toml,Cargo.lock,Cargo.toml.orig,Gopkg.lock,Pipfile,poetry.lock}]
ij_toml_keep_indents_on_empty_lines = false
[{*.yaml,*.yml,pubspec.lock}]
-indent_size = 2
-ij_yaml_align_values_properties = on_value
-ij_yaml_autoinsert_sequence_marker = true
-ij_yaml_block_mapping_on_new_line = false
-ij_yaml_indent_sequence_value = true
+indent_size = 2
+ij_yaml_align_values_properties = on_value
+ij_yaml_autoinsert_sequence_marker = true
+ij_yaml_block_mapping_on_new_line = false
+ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
-ij_yaml_keep_line_breaks = true
-ij_yaml_sequence_on_new_line = false
-ij_yaml_space_before_colon = false
-ij_yaml_spaces_within_braces = true
-ij_yaml_spaces_within_brackets = true
-indent_style = space
+ij_yaml_keep_line_breaks = true
+ij_yaml_sequence_on_new_line = false
+ij_yaml_space_before_colon = false
+ij_yaml_spaces_within_braces = true
+ij_yaml_spaces_within_brackets = true
+indent_style = space
[*.{appxmanifest,asax,ascx,aspx,axaml,build,c,c++,cc,cginc,compute,cp,cpp,cppm,cs,cshtml,cu,cuh,cxx,dtd,fs,fsi,fsscript,fsx,fx,fxh,h,hh,hlsl,hlsli,hlslinc,hpp,hxx,inc,inl,ino,ipp,ixx,master,ml,mli,mpp,mq4,mq5,mqh,nuspec,paml,razor,resw,resx,shader,skin,tpp,usf,ush,uxml,vb,xaml,xamlx,xoml,xsd}]
indent_style = space
-indent_size = 4
-tab_width = 4
+indent_size = 4
+tab_width = 4
diff --git a/Aaru.Decryption.csproj b/Aaru.Decryption.csproj
index 036ceda..998f3da 100644
--- a/Aaru.Decryption.csproj
+++ b/Aaru.Decryption.csproj
@@ -33,8 +33,8 @@
CS1591;CS1574
-
-
+
+
$(Version)+{chash:8}
@@ -43,9 +43,9 @@
-
-
-
+
+
+
diff --git a/Aaru.Decryption.csproj.DotSettings b/Aaru.Decryption.csproj.DotSettings
index dc0dbdc..67ed7f8 100644
--- a/Aaru.Decryption.csproj.DotSettings
+++ b/Aaru.Decryption.csproj.DotSettings
@@ -1,2 +1,5 @@
-
+
True
\ No newline at end of file
diff --git a/DVD/CSS.cs b/DVD/CSS.cs
index 3a28055..08f84c1 100644
--- a/DVD/CSS.cs
+++ b/DVD/CSS.cs
@@ -58,99 +58,17 @@ public class CSS
{
static readonly byte[,] _playerKeys =
{
- {
- 0x01, 0xaf, 0xe3, 0x12, 0x80
- },
- {
- 0x12, 0x11, 0xca, 0x04, 0x3b
- },
- {
- 0x14, 0x0c, 0x9e, 0xd0, 0x09
- },
- {
- 0x14, 0x71, 0x35, 0xba, 0xe2
- },
- {
- 0x1a, 0xa4, 0x33, 0x21, 0xa6
- },
- {
- 0x26, 0xec, 0xc4, 0xa7, 0x4e
- },
- {
- 0x2c, 0xb2, 0xc1, 0x09, 0xee
- },
- {
- 0x2f, 0x25, 0x9e, 0x96, 0xdd
- },
- {
- 0x33, 0x2f, 0x49, 0x6c, 0xe0
- },
- {
- 0x35, 0x5b, 0xc1, 0x31, 0x0f
- },
- {
- 0x36, 0x67, 0xb2, 0xe3, 0x85
- },
- {
- 0x39, 0x3d, 0xf1, 0xf1, 0xbd
- },
- {
- 0x3b, 0x31, 0x34, 0x0d, 0x91
- },
- {
- 0x45, 0xed, 0x28, 0xeb, 0xd3
- },
- {
- 0x48, 0xb7, 0x6c, 0xce, 0x69
- },
- {
- 0x4b, 0x65, 0x0d, 0xc1, 0xee
- },
- {
- 0x4c, 0xbb, 0xf5, 0x5b, 0x23
- },
- {
- 0x51, 0x67, 0x67, 0xc5, 0xe0
- },
- {
- 0x53, 0x94, 0xe1, 0x75, 0xbf
- },
- {
- 0x57, 0x2c, 0x8b, 0x31, 0xae
- },
- {
- 0x63, 0xdb, 0x4c, 0x5b, 0x4a
- },
- {
- 0x7b, 0x1e, 0x5e, 0x2b, 0x57
- },
- {
- 0x85, 0xf3, 0x85, 0xa0, 0xe0
- },
- {
- 0xab, 0x1e, 0xe7, 0x7b, 0x72
- },
- {
- 0xab, 0x36, 0xe3, 0xeb, 0x76
- },
- {
- 0xb1, 0xb8, 0xf9, 0x38, 0x03
- },
- {
- 0xb8, 0x5d, 0xd8, 0x53, 0xbd
- },
- {
- 0xbf, 0x92, 0xc3, 0xb0, 0xe2
- },
- {
- 0xcf, 0x1a, 0xb2, 0xf8, 0x0a
- },
- {
- 0xec, 0xa0, 0xcf, 0xb3, 0xff
- },
- {
- 0xfc, 0x95, 0xa9, 0x87, 0x35
- }
+ { 0x01, 0xaf, 0xe3, 0x12, 0x80 }, { 0x12, 0x11, 0xca, 0x04, 0x3b }, { 0x14, 0x0c, 0x9e, 0xd0, 0x09 },
+ { 0x14, 0x71, 0x35, 0xba, 0xe2 }, { 0x1a, 0xa4, 0x33, 0x21, 0xa6 }, { 0x26, 0xec, 0xc4, 0xa7, 0x4e },
+ { 0x2c, 0xb2, 0xc1, 0x09, 0xee }, { 0x2f, 0x25, 0x9e, 0x96, 0xdd }, { 0x33, 0x2f, 0x49, 0x6c, 0xe0 },
+ { 0x35, 0x5b, 0xc1, 0x31, 0x0f }, { 0x36, 0x67, 0xb2, 0xe3, 0x85 }, { 0x39, 0x3d, 0xf1, 0xf1, 0xbd },
+ { 0x3b, 0x31, 0x34, 0x0d, 0x91 }, { 0x45, 0xed, 0x28, 0xeb, 0xd3 }, { 0x48, 0xb7, 0x6c, 0xce, 0x69 },
+ { 0x4b, 0x65, 0x0d, 0xc1, 0xee }, { 0x4c, 0xbb, 0xf5, 0x5b, 0x23 }, { 0x51, 0x67, 0x67, 0xc5, 0xe0 },
+ { 0x53, 0x94, 0xe1, 0x75, 0xbf }, { 0x57, 0x2c, 0x8b, 0x31, 0xae }, { 0x63, 0xdb, 0x4c, 0x5b, 0x4a },
+ { 0x7b, 0x1e, 0x5e, 0x2b, 0x57 }, { 0x85, 0xf3, 0x85, 0xa0, 0xe0 }, { 0xab, 0x1e, 0xe7, 0x7b, 0x72 },
+ { 0xab, 0x36, 0xe3, 0xeb, 0x76 }, { 0xb1, 0xb8, 0xf9, 0x38, 0x03 }, { 0xb8, 0x5d, 0xd8, 0x53, 0xbd },
+ { 0xbf, 0x92, 0xc3, 0xb0, 0xe2 }, { 0xcf, 0x1a, 0xb2, 0xf8, 0x0a }, { 0xec, 0xa0, 0xcf, 0xb3, 0xff },
+ { 0xfc, 0x95, 0xa9, 0x87, 0x35 }
};
static readonly byte[] _cssTable1 =
@@ -341,15 +259,7 @@ public class CSS
static readonly byte[,] _permutationChallenge =
{
- {
- 1, 3, 0, 7, 5, 2, 9, 6, 4, 8
- },
- {
- 6, 1, 9, 3, 8, 5, 7, 4, 0, 2
- },
- {
- 4, 0, 3, 5, 7, 2, 8, 6, 1, 9
- }
+ { 1, 3, 0, 7, 5, 2, 9, 6, 4, 8 }, { 6, 1, 9, 3, 8, 5, 7, 4, 0, 2 }, { 4, 0, 3, 5, 7, 2, 8, 6, 1, 9 }
};
static readonly byte[,] _permutationVariant =
@@ -370,10 +280,7 @@ public class CSS
0xF2, 0x2A, 0x79, 0x52, 0xFF, 0x1B, 0x7A, 0x11, 0xCA, 0x1A, 0x9B, 0x40, 0xAD, 0x01
};
- static readonly byte[] _secret =
- {
- 0x55, 0xD6, 0xC4, 0xC5, 0x28
- };
+ static readonly byte[] _secret = { 0x55, 0xD6, 0xC4, 0xC5, 0x28 };
///
/// The disc key returned by the logical unit is encoded with the bus key to prevent man-in-the-middle attacks.
@@ -391,7 +298,7 @@ public class CSS
byte[] key = response.Skip(4).Take(2048).ToArray();
for(uint i = 0; i < key.Length; i++)
- key[i] ^= busKey[4 - (i % busKey.Length)];
+ key[i] ^= busKey[4 - i % busKey.Length];
return new CSS_CPRM.DiscKey
{
@@ -418,7 +325,7 @@ public class CSS
byte[] key = response.Skip(5).Take(5).ToArray();
for(uint i = 0; i < key.Length; i++)
- key[i] ^= busKey[4 - (i % busKey.Length)];
+ key[i] ^= busKey[4 - i % busKey.Length];
return new CSS_CPRM.TitleKey
{
@@ -440,49 +347,49 @@ public class CSS
/// The encrypted key.
public static void EncryptKey(DvdCssKeyType keyType, uint variant, byte[] challenge, out byte[] key)
{
- byte[] bits = new byte[30];
- byte[] scratch = new byte[10];
- byte index = sizeof(byte) * 30;
- byte[] temp1 = new byte[5];
- byte[] temp2 = new byte[5];
- byte carry = 0;
+ var bits = new byte[30];
+ var scratch = new byte[10];
+ byte index = sizeof(byte) * 30;
+ var temp1 = new byte[5];
+ var temp2 = new byte[5];
+ byte carry = 0;
key = new byte[5];
- for(int i = 9; i >= 0; --i)
+ for(var i = 9; i >= 0; --i)
scratch[i] = challenge[_permutationChallenge[(uint)keyType, i]];
- byte cssVariant = (byte)(keyType == 0 ? variant : _permutationVariant[(uint)keyType - 1, variant]);
+ var cssVariant = (byte)(keyType == 0 ? variant : _permutationVariant[(uint)keyType - 1, variant]);
- for(int i = 5; --i >= 0;)
+ for(var i = 5; --i >= 0;)
temp1[i] = (byte)(scratch[5 + i] ^ _secret[i] ^ _encryptTable2[i]);
- uint lfsr0 = (uint)((temp1[0] << 17) | (temp1[1] << 9) | ((temp1[2] & ~7) << 1) | 8 | (temp1[2] & 7));
- uint lfsr1 = (uint)((temp1[3] << 9) | 0x100 | temp1[4]);
+ var lfsr0 = (uint)(temp1[0] << 17 | temp1[1] << 9 | (temp1[2] & ~7) << 1 | 8 | temp1[2] & 7);
+ var lfsr1 = (uint)(temp1[3] << 9 | 0x100 | temp1[4]);
do
{
byte val = 0;
- for(int bit = 0; bit < 8; ++bit)
+ for(var bit = 0; bit < 8; ++bit)
{
- byte oLfsr0 = (byte)(((lfsr0 >> 24) ^ (lfsr0 >> 21) ^ (lfsr0 >> 20) ^ (lfsr0 >> 12)) & 1);
- lfsr0 = (lfsr0 << 1) | oLfsr0;
+ var oLfsr0 = (byte)((lfsr0 >> 24 ^ lfsr0 >> 21 ^ lfsr0 >> 20 ^ lfsr0 >> 12) & 1);
+ lfsr0 = lfsr0 << 1 | oLfsr0;
- byte oLfsr1 = (byte)(((lfsr1 >> 16) ^ (lfsr1 >> 2)) & 1);
- lfsr1 = (lfsr1 << 1) | oLfsr1;
+ var oLfsr1 = (byte)((lfsr1 >> 16 ^ lfsr1 >> 2) & 1);
+ lfsr1 = lfsr1 << 1 | oLfsr1;
- byte combined = (byte)(Convert.ToByte(oLfsr1 == 0) + carry + Convert.ToByte(oLfsr0 == 0));
- carry = (byte)((combined >> 1) & 1);
+ var combined = (byte)(Convert.ToByte(oLfsr1 == 0) + carry + Convert.ToByte(oLfsr0 == 0));
+ carry = (byte)(combined >> 1 & 1);
val |= (byte)((combined & 1) << bit);
}
bits[--index] = val;
} while(index > 0);
- byte cse = (byte)(_variants[cssVariant] ^ _encryptTable2[cssVariant]);
- int term = 0;
+ var cse = (byte)(_variants[cssVariant] ^ _encryptTable2[cssVariant]);
+ var term = 0;
- for(int i = 5; --i >= 0; term = scratch[i])
+ for(var i = 5; --i >= 0; term = scratch[i])
{
index = (byte)(bits[25 + i] ^ scratch[i]);
index = (byte)(_encryptTable1[index] ^ ~_encryptTable2[index] ^ cse);
@@ -493,7 +400,7 @@ public class CSS
temp1[4] ^= temp1[0];
term = 0;
- for(int i = 5; --i >= 0; term = temp1[i])
+ for(var i = 5; --i >= 0; term = temp1[i])
{
index = (byte)(bits[20 + i] ^ temp1[i]);
index = (byte)(_encryptTable1[index] ^ ~_encryptTable2[index] ^ cse);
@@ -504,7 +411,7 @@ public class CSS
temp2[4] ^= temp2[0];
term = 0;
- for(int i = 5; --i >= 0; term = temp2[i])
+ for(var i = 5; --i >= 0; term = temp2[i])
{
index = (byte)(bits[15 + i] ^ temp2[i]);
index = (byte)(_encryptTable1[index] ^ ~_encryptTable2[index] ^ cse);
@@ -516,7 +423,7 @@ public class CSS
temp1[4] ^= temp1[0];
term = 0;
- for(int i = 5; --i >= 0; term = temp1[i])
+ for(var i = 5; --i >= 0; term = temp1[i])
{
index = (byte)(bits[10 + i] ^ temp1[i]);
index = (byte)(_encryptTable1[index] ^ ~_encryptTable2[index] ^ cse);
@@ -528,7 +435,7 @@ public class CSS
temp2[4] ^= temp2[0];
term = 0;
- for(int i = 5; --i >= 0; term = temp2[i])
+ for(var i = 5; --i >= 0; term = temp2[i])
{
index = (byte)(bits[5 + i] ^ temp2[i]);
index = (byte)(_encryptTable1[index] ^ ~_encryptTable2[index] ^ cse);
@@ -539,7 +446,7 @@ public class CSS
temp1[4] ^= temp1[0];
term = 0;
- for(int i = 5; --i >= 0; term = temp1[i])
+ for(var i = 5; --i >= 0; term = temp1[i])
{
index = (byte)(bits[i] ^ temp1[i]);
index = (byte)(_encryptTable1[index] ^ ~_encryptTable2[index] ^ cse);
@@ -556,27 +463,27 @@ public class CSS
static void DecryptKey(byte invert, byte[] cryptoKey, byte[] encryptedKey, out byte[] decryptedKey)
{
decryptedKey = new byte[5];
- byte[] k = new byte[5];
+ var k = new byte[5];
- uint lfsr1Lo = (uint)(cryptoKey[0] | 0x100);
+ var lfsr1Lo = (uint)(cryptoKey[0] | 0x100);
uint lfsr1Hi = cryptoKey[1];
- uint lfsr0 = (uint)(((cryptoKey[4] << 17) | (cryptoKey[3] << 9) | (cryptoKey[2] << 1)) + 8 -
- (cryptoKey[2] & 7));
+ var lfsr0 = (uint)((cryptoKey[4] << 17 | cryptoKey[3] << 9 | cryptoKey[2] << 1) + 8 -
+ (cryptoKey[2] & 7));
- lfsr0 = (uint)((_cssTable4[lfsr0 & 0xff] << 24) | (_cssTable4[(lfsr0 >> 8) & 0xff] << 16) |
- (_cssTable4[(lfsr0 >> 16) & 0xff] << 8) | _cssTable4[(lfsr0 >> 24) & 0xff]);
+ lfsr0 = (uint)(_cssTable4[lfsr0 & 0xff] << 24 | _cssTable4[lfsr0 >> 8 & 0xff] << 16 |
+ _cssTable4[lfsr0 >> 16 & 0xff] << 8 | _cssTable4[lfsr0 >> 24 & 0xff]);
uint combined = 0;
for(uint i = 0; i < 5; i++)
{
- byte oLfsr1 = (byte)(_cssTable2[lfsr1Hi] ^ _cssTable3[lfsr1Lo]);
+ var oLfsr1 = (byte)(_cssTable2[lfsr1Hi] ^ _cssTable3[lfsr1Lo]);
lfsr1Hi = lfsr1Lo >> 1;
- lfsr1Lo = ((lfsr1Lo & 1) << 8) ^ oLfsr1;
+ lfsr1Lo = (lfsr1Lo & 1) << 8 ^ oLfsr1;
oLfsr1 = _cssTable4[oLfsr1];
- byte oLfsr0 = (byte)(((((((lfsr0 >> 8) ^ lfsr0) >> 1) ^ lfsr0) >> 3) ^ lfsr0) >> 7);
- lfsr0 = (lfsr0 >> 8) | ((uint)oLfsr0 << 24);
+ var oLfsr0 = (byte)((((lfsr0 >> 8 ^ lfsr0) >> 1 ^ lfsr0) >> 3 ^ lfsr0) >> 7);
+ lfsr0 = lfsr0 >> 8 | (uint)oLfsr0 << 24;
combined += (uint)((oLfsr0 ^ invert) + oLfsr1);
k[i] = (byte)(combined & 0xff);
combined >>= 8;
@@ -636,14 +543,14 @@ public class CSS
/// Size of one sector.
/// The decrypted sector.
public static byte[] DecryptSector(byte[] sectorData, byte[] keyData, byte[]? cmiData, uint blocks = 1,
- uint blockSize = 2048)
+ uint blockSize = 2048)
{
// None of the sectors are encrypted
- if((cmiData != null && cmiData.All(static cmi => (cmi & 0x80) >> 7 == 0)) ||
+ if(cmiData != null && cmiData.All(static cmi => (cmi & 0x80) >> 7 == 0) ||
keyData.All(static k => k == 0))
return sectorData;
- byte[] decryptedBuffer = new byte[sectorData.Length];
+ var decryptedBuffer = new byte[sectorData.Length];
for(uint i = 0; i < blocks; i++)
{
@@ -665,21 +572,21 @@ public class CSS
}
///
- /// Unscrambles a DVD sector with a title key.
+ /// Unscrambles a DVD sector with a title key.
///
/// The title key.
/// The scrambled sector.
/// The unscrambled sector.
static byte[] UnscrambleSector(IReadOnlyList key, byte[] sector)
{
- long lfsr1Lo = (key[0] ^ sector[0x54]) | 0x100;
+ long lfsr1Lo = key[0] ^ sector[0x54] | 0x100;
long lfsr1Hi = key[1] ^ sector[0x55];
- long lfsr0 = (key[2] | (key[3] << 8) | (key[4] << 16)) ^
- (sector[0x56] | (sector[0x57] << 8) | (sector[0x58] << 16));
+ long lfsr0 = (key[2] | key[3] << 8 | key[4] << 16) ^
+ (sector[0x56] | sector[0x57] << 8 | sector[0x58] << 16);
long oLfsr1 = lfsr0 & 7;
- lfsr0 = (lfsr0 * 2) + 8 - oLfsr1;
+ lfsr0 = lfsr0 * 2 + 8 - oLfsr1;
long combined = 0;
@@ -687,13 +594,13 @@ public class CSS
{
oLfsr1 = _cssTable2[lfsr1Hi] ^ _cssTable3[lfsr1Lo];
lfsr1Hi = lfsr1Lo >> 1;
- lfsr1Lo = ((lfsr1Lo & 1) << 8) ^ oLfsr1;
+ lfsr1Lo = (lfsr1Lo & 1) << 8 ^ oLfsr1;
oLfsr1 = _cssTable5[oLfsr1];
- long oLfsr0 = (((((((lfsr0 >> 3) ^ lfsr0) >> 1) ^ lfsr0) >> 8) ^ lfsr0) >> 5) & 0xff;
- lfsr0 = (lfsr0 << 8) | oLfsr0;
+ long oLfsr0 = (((lfsr0 >> 3 ^ lfsr0) >> 1 ^ lfsr0) >> 8 ^ lfsr0) >> 5 & 0xff;
+ lfsr0 = lfsr0 << 8 | oLfsr0;
oLfsr0 = _cssTable4[oLfsr0];
combined += oLfsr0 + oLfsr1;
- sector[i] = (byte)(_cssTable1[sector[i]] ^ (combined & 0xff));
+ sector[i] = (byte)(_cssTable1[sector[i]] ^ combined & 0xff);
combined >>= 8;
}
@@ -705,14 +612,17 @@ public class CSS
}
///
- /// Analyzes data to try to figure out if the sector is encrypted, including
- ///
- /// - If the packet is not an MPEG packet
- /// - If the CMI tells us the sector isn't encrypted
- /// - If the key is all zeroes
- /// - If the MPEG Packetized Elementary Stream scrambling control value tells us the packet is not scrambled
- /// - If if the packet is system_header, padding_stream or private_stream2 (cannot be encrypted according to libdvdcss)
- ///
+ /// Analyzes data to try to figure out if the sector is encrypted, including
+ ///
+ /// - If the packet is not an MPEG packet
+ /// - If the CMI tells us the sector isn't encrypted
+ /// - If the key is all zeroes
+ /// - If the MPEG Packetized Elementary Stream scrambling control value tells us the packet is not scrambled
+ /// -
+ /// If if the packet is system_header, padding_stream or private_stream2 (cannot be encrypted according to
+ /// libdvdcss)
+ ///
+ ///
///
/// The Copyright Management Information.
/// The title key.
@@ -754,21 +664,21 @@ public class CSS
if(cmi.RegionInformation is 0xFF or 0x00)
return true;
- return ((rpc.RegionMask & 0x01) == (cmi.RegionInformation & 0x01) && (rpc.RegionMask & 0x01) != 0x01) ||
- ((rpc.RegionMask & 0x02) == (cmi.RegionInformation & 0x02) && (rpc.RegionMask & 0x02) != 0x02) ||
- ((rpc.RegionMask & 0x04) == (cmi.RegionInformation & 0x04) && (rpc.RegionMask & 0x04) != 0x04) ||
- ((rpc.RegionMask & 0x08) == (cmi.RegionInformation & 0x08) && (rpc.RegionMask & 0x08) != 0x08) ||
- ((rpc.RegionMask & 0x10) == (cmi.RegionInformation & 0x10) && (rpc.RegionMask & 0x10) != 0x10) ||
- ((rpc.RegionMask & 0x20) == (cmi.RegionInformation & 0x20) && (rpc.RegionMask & 0x20) != 0x20) ||
- ((rpc.RegionMask & 0x40) == (cmi.RegionInformation & 0x40) && (rpc.RegionMask & 0x40) != 0x40) ||
- ((rpc.RegionMask & 0x80) == (cmi.RegionInformation & 0x80) && (rpc.RegionMask & 0x80) != 0x80);
+ return (rpc.RegionMask & 0x01) == (cmi.RegionInformation & 0x01) && (rpc.RegionMask & 0x01) != 0x01 ||
+ (rpc.RegionMask & 0x02) == (cmi.RegionInformation & 0x02) && (rpc.RegionMask & 0x02) != 0x02 ||
+ (rpc.RegionMask & 0x04) == (cmi.RegionInformation & 0x04) && (rpc.RegionMask & 0x04) != 0x04 ||
+ (rpc.RegionMask & 0x08) == (cmi.RegionInformation & 0x08) && (rpc.RegionMask & 0x08) != 0x08 ||
+ (rpc.RegionMask & 0x10) == (cmi.RegionInformation & 0x10) && (rpc.RegionMask & 0x10) != 0x10 ||
+ (rpc.RegionMask & 0x20) == (cmi.RegionInformation & 0x20) && (rpc.RegionMask & 0x20) != 0x20 ||
+ (rpc.RegionMask & 0x40) == (cmi.RegionInformation & 0x40) && (rpc.RegionMask & 0x40) != 0x40 ||
+ (rpc.RegionMask & 0x80) == (cmi.RegionInformation & 0x80) && (rpc.RegionMask & 0x80) != 0x80;
}
///
- /// This tries to find a title key for a range of sectors by doing a brute force pattern search developed by
- /// Ethan Hawke of DeCSSPlus. CSS encrypted sectors have parts of them that are unencrypted (byte 0x0 - 0x80).
- /// We try to find a long pattern of repeated bytes just before the encryption starts. If we assume this
- /// pattern continues into the encrypted part, we can force keys until one of them satisfies this condition.
+ /// This tries to find a title key for a range of sectors by doing a brute force pattern search developed by
+ /// Ethan Hawke of DeCSSPlus. CSS encrypted sectors have parts of them that are unencrypted (byte 0x0 - 0x80).
+ /// We try to find a long pattern of repeated bytes just before the encryption starts. If we assume this
+ /// pattern continues into the encrypted part, we can force keys until one of them satisfies this condition.
///
/// The sector to analyze.
/// The key found.
@@ -782,7 +692,7 @@ public class CSS
for(uint i = 2; i < 0x30; i++)
{
// Find the number of bytes that repeats in cycles.
- for(uint j = i + 1; j < 0x80 && sector[0x7F - (j % i)] == sector[0x7F - j]; j++)
+ for(uint j = i + 1; j < 0x80 && sector[0x7F - j % i] == sector[0x7F - j]; j++)
{
if(j <= bestPatternLength)
continue;
@@ -798,18 +708,18 @@ public class CSS
bestPatternLength / bestPattern < 2)
return false;
- int offset = (int)(0x80 - ((bestPatternLength / bestPattern) * bestPattern));
+ var offset = (int)(0x80 - bestPatternLength / bestPattern * bestPattern);
int result = RecoverTitleKey(0, sector.Skip(0x80).Take(sector.Length - 0x80).ToArray(),
- sector.Skip(offset).Take((int)(sector.Length - offset)).ToArray(),
+ sector.Skip(offset).Take(sector.Length - offset).ToArray(),
sector.Skip(0x54).Take(5).ToArray(), out key);
return result >= 0;
}
///
- /// Takes a guessed plain text and a encrypted bytes and tries to recover the title key
- /// from those. Attack developed by Frank Stevenson.
+ /// Takes a guessed plain text and a encrypted bytes and tries to recover the title key
+ /// from those. Attack developed by Frank Stevenson.
///
/// Start position.
/// Buffer with encrypted bytes.
@@ -817,15 +727,15 @@ public class CSS
/// This sector's seed values.
/// The title key.
/// Positive values on success.
- static int RecoverTitleKey(uint start, byte[] encryptedBytes, byte[] decryptedBytes, byte[] sectorSeed,
+ static int RecoverTitleKey(uint start, byte[] encryptedBytes, byte[] decryptedBytes, byte[] sectorSeed,
out byte[] key)
{
- byte[] buffer = new byte[10];
- long oLfsr1;
- long oLfsr0;
- long iTry;
- uint i;
- int exit = -1;
+ var buffer = new byte[10];
+ long oLfsr1;
+ long oLfsr0;
+ long iTry;
+ uint i;
+ int exit = -1;
key = new byte[5];
for(i = 0; i < 10; i++)
@@ -833,7 +743,7 @@ public class CSS
for(iTry = start; iTry < 0x10000; iTry++)
{
- long lfsr1Lo = (iTry >> 8) | 0x100;
+ long lfsr1Lo = iTry >> 8 | 0x100;
long lfsr1Hi = iTry & 0xff;
long lfsr0 = 0;
long combined = 0;
@@ -844,12 +754,12 @@ public class CSS
// Advance LFSR1 normally
oLfsr1 = _cssTable2[lfsr1Hi] ^ _cssTable3[lfsr1Lo];
lfsr1Hi = lfsr1Lo >> 1;
- lfsr1Lo = ((lfsr1Lo & 1) << 8) ^ oLfsr1;
+ lfsr1Lo = (lfsr1Lo & 1) << 8 ^ oLfsr1;
oLfsr1 = _cssTable5[oLfsr1];
oLfsr0 = buffer[i];
if(combined > 0)
- oLfsr0 = (oLfsr0 + 0xff) & 0x0ff;
+ oLfsr0 = oLfsr0 + 0xff & 0x0ff;
if(oLfsr0 < oLfsr1)
oLfsr0 += 0x100;
@@ -857,7 +767,7 @@ public class CSS
oLfsr0 -= oLfsr1;
combined += oLfsr0 + oLfsr1;
oLfsr0 = _cssTable4[oLfsr0];
- lfsr0 = (lfsr0 << 8) | oLfsr0;
+ lfsr0 = lfsr0 << 8 | oLfsr0;
combined >>= 8;
}
@@ -868,10 +778,10 @@ public class CSS
{
oLfsr1 = _cssTable2[lfsr1Hi] ^ _cssTable3[lfsr1Lo];
lfsr1Hi = lfsr1Lo >> 1;
- lfsr1Lo = ((lfsr1Lo & 1) << 8) ^ oLfsr1;
+ lfsr1Lo = (lfsr1Lo & 1) << 8 ^ oLfsr1;
oLfsr1 = _cssTable5[oLfsr1];
- oLfsr0 = (((((((lfsr0 >> 3) ^ lfsr0) >> 1) ^ lfsr0) >> 8) ^ lfsr0) >> 5) & 0xff;
- lfsr0 = (lfsr0 << 8) | oLfsr0;
+ oLfsr0 = (((lfsr0 >> 3 ^ lfsr0) >> 1 ^ lfsr0) >> 8 ^ lfsr0) >> 5 & 0xff;
+ lfsr0 = lfsr0 << 8 | oLfsr0;
oLfsr0 = _cssTable4[oLfsr0];
combined += oLfsr0 + oLfsr1;
@@ -889,12 +799,12 @@ public class CSS
for(i = 0; i < 4; i++)
{
lfsr1Lo = lfsr0 & 0xff;
- lfsr0 = (lfsr0 >> 8);
+ lfsr0 = lfsr0 >> 8;
for(uint j = 0; j < 256; j++)
{
- lfsr0 = (lfsr0 & 0x1ffff) | (j << 17);
- oLfsr0 = (((((((lfsr0 >> 3) ^ lfsr0) >> 1) ^ lfsr0) >> 8) ^ lfsr0) >> 5) & 0xff;
+ lfsr0 = lfsr0 & 0x1ffff | j << 17;
+ oLfsr0 = (((lfsr0 >> 3 ^ lfsr0) >> 1 ^ lfsr0) >> 8 ^ lfsr0) >> 5 & 0xff;
if(oLfsr0 == lfsr1Lo)
break;
@@ -905,14 +815,14 @@ public class CSS
for(combined = 0; combined < 8; combined++)
{
- if(((oLfsr1 + combined) * 2) + 8 - ((oLfsr1 + combined) & 7) != lfsr0)
+ if((oLfsr1 + combined) * 2 + 8 - (oLfsr1 + combined & 7) != lfsr0)
continue;
key[0] = (byte)(iTry >> 8);
- key[1] = (byte)(iTry & 0xFF);
- key[2] = (byte)(((oLfsr1 + combined) >> 0) & 0xFF);
- key[3] = (byte)(((oLfsr1 + combined) >> 8) & 0xFF);
- key[4] = (byte)(((oLfsr1 + combined) >> 16) & 0xFF);
+ key[1] = (byte)(iTry & 0xFF);
+ key[2] = (byte)(oLfsr1 + combined >> 0 & 0xFF);
+ key[3] = (byte)(oLfsr1 + combined >> 8 & 0xFF);
+ key[4] = (byte)(oLfsr1 + combined >> 16 & 0xFF);
exit = (int)(iTry + 1);
}
}
@@ -930,7 +840,7 @@ public class CSS
}
///
- /// Tries to find a title key by attacking CSS vulnerabilities.
+ /// Tries to find a title key by attacking CSS vulnerabilities.
///
/// IOpticalMediaImage to find the title key in.
/// Sector index to begin search.
@@ -938,7 +848,7 @@ public class CSS
/// The title key.
static byte[] FindTitleKey(IOpticalMediaImage input, ulong startSector, ulong sectorsToSearch = 20000)
{
- byte[] titleKey = new byte[5];
+ var titleKey = new byte[5];
for(ulong i = 0; i < sectorsToSearch; i++)
{
@@ -955,7 +865,7 @@ public class CSS
}
///
- /// Generates title keys for all sectors in a track.
+ /// Generates title keys for all sectors in a track.
///
/// IOpticalMediaImage to generate keys for.
/// List of Partition to analyze.
@@ -963,9 +873,9 @@ public class CSS
///
/// A byte array with keys for every sector in the track. One key is 5 bytes.
public static byte[] GenerateTitleKeys(IOpticalMediaImage input, List partitions, ulong trackSectors,
- Type pluginType)
+ Type pluginType)
{
- byte[] keys = new byte[trackSectors * 5];
+ var keys = new byte[trackSectors * 5];
foreach(Partition partition in partitions)
{
@@ -1004,7 +914,7 @@ public class CSS
}
///
- /// DVD video discs always have a VIDEO_TS folder. If it doesn't have one, it's not a DVD video.
+ /// DVD video discs always have a VIDEO_TS folder. If it doesn't have one, it's not a DVD video.
///
/// IOpticalMediaImage to check for VIDEO_TS folder in.
/// IReadOnlyFilesystem to check in.
diff --git a/DVD/Dump.cs b/DVD/Dump.cs
index b84ed2b..01bd9ce 100644
--- a/DVD/Dump.cs
+++ b/DVD/Dump.cs
@@ -70,14 +70,14 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[8];
cdb[0] = (byte)ScsiCommands.ReportKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.Asf ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.Asf ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
@@ -98,14 +98,14 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[8];
cdb[0] = (byte)ScsiCommands.ReportKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.RpcState ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.RpcState ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
@@ -126,14 +126,14 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = Array.Empty();
cdb[0] = (byte)ScsiCommands.ReportKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.InvalidateAgid ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.InvalidateAgid ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
@@ -154,14 +154,14 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[8];
cdb[0] = (byte)ScsiCommands.ReportKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.AgidForCssCppm ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.AgidForCssCppm ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
@@ -183,14 +183,14 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[12];
cdb[0] = (byte)ScsiCommands.ReportKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.Key1 ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.Key1 ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
@@ -211,14 +211,14 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[16];
cdb[0] = (byte)ScsiCommands.ReportKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.ChallengeKey ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.ChallengeKey ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
@@ -236,20 +236,20 @@ public sealed class Dump
/// Timeout in seconds.
/// Duration in milliseconds it took for the device to execute the command.
/// true if the command failed and contains the sense buffer.
- public bool SendChallenge(out byte[] buffer, out byte[] senseBuffer, DvdCssKeyClass keyClass, byte[] challengeKey,
- uint timeout, out double duration)
+ public bool SendChallenge(out byte[] buffer, out byte[] senseBuffer, DvdCssKeyClass keyClass, byte[] challengeKey,
+ uint timeout, out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[16];
cdb[0] = (byte)ScsiCommands.SendKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssSendKeyFormat.ChallengeKey ^ ((Agid & 0x03) << 6));
- buffer[0] = (byte)(((buffer.Length - 2) & 0xFF00) >> 8);
- buffer[1] = (byte)((buffer.Length - 2) & 0xFF);
+ cdb[10] = (byte)((byte)CssSendKeyFormat.ChallengeKey ^ (Agid & 0x03) << 6);
+ buffer[0] = (byte)((buffer.Length - 2 & 0xFF00) >> 8);
+ buffer[1] = (byte)(buffer.Length - 2 & 0xFF);
buffer[4] = challengeKey[9];
buffer[5] = challengeKey[8];
buffer[6] = challengeKey[7];
@@ -283,16 +283,16 @@ public sealed class Dump
out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[12];
cdb[0] = (byte)ScsiCommands.SendKey;
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssSendKeyFormat.Key2 ^ ((Agid & 0x03) << 6));
- buffer[0] = (byte)(((buffer.Length - 2) & 0xFF00) >> 8);
- buffer[1] = (byte)((buffer.Length - 2) & 0xFF);
+ cdb[10] = (byte)((byte)CssSendKeyFormat.Key2 ^ (Agid & 0x03) << 6);
+ buffer[0] = (byte)((buffer.Length - 2 & 0xFF00) >> 8);
+ buffer[1] = (byte)(buffer.Length - 2 & 0xFF);
buffer[4] = key2[4];
buffer[5] = key2[3];
buffer[6] = key2[2];
@@ -318,7 +318,7 @@ public sealed class Dump
public bool ReadDiscKey(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration)
{
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[2052];
cdb[0] = (byte)ScsiCommands.ReadDiscStructure;
@@ -348,10 +348,10 @@ public sealed class Dump
buffer = Array.Empty();
senseBuffer = new byte[64];
- bool sense = false;
- byte[] challenge = new byte[CHALLENGE_SIZE];
- byte[] key1 = new byte[KEY_SIZE];
- byte variant = 0;
+ var sense = false;
+ var challenge = new byte[CHALLENGE_SIZE];
+ var key1 = new byte[KEY_SIZE];
+ byte variant = 0;
for(byte i = 0; i < 4; i++)
{
@@ -368,7 +368,8 @@ public sealed class Dump
out duration);
break;
- case CopyrightType.CPRM: throw new NotImplementedException();
+ case CopyrightType.CPRM:
+ throw new NotImplementedException();
}
if(sense)
@@ -450,8 +451,8 @@ public sealed class Dump
/// Timeout in seconds.
/// Duration in milliseconds it took for the device to execute the command.
/// true if the command failed and contains the sense buffer.
- public bool ReadTitleKey(out byte[] buffer, out byte[] senseBuffer, DvdCssKeyClass keyClass, ulong address,
- uint timeout, out double duration)
+ public bool ReadTitleKey(out byte[] buffer, out byte[] senseBuffer, DvdCssKeyClass keyClass, ulong address,
+ uint timeout, out double duration)
{
// We need to be in a bus key state to read title keys. Only CSS has title keys.
ReadBusKey(out buffer, out senseBuffer, CopyrightType.CSS, timeout, out duration);
@@ -459,7 +460,7 @@ public sealed class Dump
BusKey = buffer;
senseBuffer = new byte[64];
- byte[] cdb = new byte[12];
+ var cdb = new byte[12];
buffer = new byte[12];
cdb[0] = (byte)ScsiCommands.ReportKey;
@@ -470,7 +471,7 @@ public sealed class Dump
cdb[7] = (byte)keyClass;
cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8);
cdb[9] = (byte)(buffer.Length & 0xFF);
- cdb[10] = (byte)((byte)CssReportKeyFormat.TitleKey ^ ((Agid & 0x03) << 6));
+ cdb[10] = (byte)((byte)CssReportKeyFormat.TitleKey ^ (Agid & 0x03) << 6);
_dev.SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out bool sense);
diff --git a/DVD/MPEG.cs b/DVD/MPEG.cs
index 70df521..e3081d6 100644
--- a/DVD/MPEG.cs
+++ b/DVD/MPEG.cs
@@ -44,44 +44,107 @@ namespace Aaru.Decryption.DVD;
public class MPEG
{
- static byte[] _mpeg2PackHeaderStartCode =
- {
- 0x0, 0x0, 0x1
- };
+#region Mpeg2StreamId enum
public enum Mpeg2StreamId : byte
{
- ProgramEnd = 0xB9, PackHeader = 0xBA, SystemHeader = 0xBB,
- ProgramStreamMap = 0xBC, PrivateStream1 = 0xBD, PaddingStream = 0xBE,
- PrivateStream2 = 0xBF, EcmStream = 0xF0, EmmStream = 0xF1,
- ItuTRecH222_0_or_IsoIec13818_1AnnexA_or_IsoIec13818_6DsmccStream = 0xF2, IsoIec13522Stream = 0xF3,
- ItuTRecH222_1TypeA = 0xF4, ItuTRecH222_1TypeB = 0xF5, ItuTRecH222_1TypeC = 0xF6,
- ItuTRecH222_1TypeD = 0xF7, ItuTRecH222_1TypeE = 0xF8, AncillaryStream = 0xF9,
- Reserved1 = 0xFA, Reserved2 = 0xFB, Reserved3 = 0xFC,
- Reserved4 = 0xFD, Reserved5 = 0xFE, ProgramStreamDirectory = 0xFF,
+ ProgramEnd = 0xB9,
+ PackHeader = 0xBA,
+ SystemHeader = 0xBB,
+ ProgramStreamMap = 0xBC,
+ PrivateStream1 = 0xBD,
+ PaddingStream = 0xBE,
+ PrivateStream2 = 0xBF,
+ EcmStream = 0xF0,
+ EmmStream = 0xF1,
+ ItuTRecH222_0_or_IsoIec13818_1AnnexA_or_IsoIec13818_6DsmccStream = 0xF2,
+ IsoIec13522Stream = 0xF3,
+ ItuTRecH222_1TypeA = 0xF4,
+ ItuTRecH222_1TypeB = 0xF5,
+ ItuTRecH222_1TypeC = 0xF6,
+ ItuTRecH222_1TypeD = 0xF7,
+ ItuTRecH222_1TypeE = 0xF8,
+ AncillaryStream = 0xF9,
+ Reserved1 = 0xFA,
+ Reserved2 = 0xFB,
+ Reserved3 = 0xFC,
+ Reserved4 = 0xFD,
+ Reserved5 = 0xFE,
+ ProgramStreamDirectory = 0xFF,
// DVD Video can only hold 8 audio streams
- MpegAudioStream1 = 0xC0, MpegAudioStream2 = 0xC1, MpegAudioStream3 = 0xC2,
- MpegAudioStream4 = 0xC3, MpegAudioStream5 = 0xC4, MpegAudioStream6 = 0xC5,
- MpegAudioStream7 = 0xC6, MpegAudioStream8 = 0xC7, MpegAudioStream9 = 0xC8,
- MpegAudioStream10 = 0xC9, MpegAudioStream11 = 0xCA, MpegAudioStream12 = 0xCB,
- MpegAudioStream13 = 0xCC, MpegAudioStream14 = 0xCD, MpegAudioStream15 = 0xCE,
- MpegAudioStream16 = 0xCF, MpegAudioStream17 = 0xD0, MpegAudioStream18 = 0xD1,
- MpegAudioStream19 = 0xD2, MpegAudioStream20 = 0xD3, MpegAudioStream21 = 0xD4,
- MpegAudioStream22 = 0xD5, MpegAudioStream23 = 0xD6, MpegAudioStream24 = 0xD7,
- MpegAudioStream25 = 0xD8, MpegAudioStream26 = 0xD9, MpegAudioStream27 = 0xDA,
- MpegAudioStream28 = 0xDB, MpegAudioStream29 = 0xDC, MpegAudioStream30 = 0xDD,
- MpegAudioStream31 = 0xDE, MpegAudioStream32 = 0xDF,
+ MpegAudioStream1 = 0xC0,
+ MpegAudioStream2 = 0xC1,
+ MpegAudioStream3 = 0xC2,
+ MpegAudioStream4 = 0xC3,
+ MpegAudioStream5 = 0xC4,
+ MpegAudioStream6 = 0xC5,
+ MpegAudioStream7 = 0xC6,
+ MpegAudioStream8 = 0xC7,
+ MpegAudioStream9 = 0xC8,
+ MpegAudioStream10 = 0xC9,
+ MpegAudioStream11 = 0xCA,
+ MpegAudioStream12 = 0xCB,
+ MpegAudioStream13 = 0xCC,
+ MpegAudioStream14 = 0xCD,
+ MpegAudioStream15 = 0xCE,
+ MpegAudioStream16 = 0xCF,
+ MpegAudioStream17 = 0xD0,
+ MpegAudioStream18 = 0xD1,
+ MpegAudioStream19 = 0xD2,
+ MpegAudioStream20 = 0xD3,
+ MpegAudioStream21 = 0xD4,
+ MpegAudioStream22 = 0xD5,
+ MpegAudioStream23 = 0xD6,
+ MpegAudioStream24 = 0xD7,
+ MpegAudioStream25 = 0xD8,
+ MpegAudioStream26 = 0xD9,
+ MpegAudioStream27 = 0xDA,
+ MpegAudioStream28 = 0xDB,
+ MpegAudioStream29 = 0xDC,
+ MpegAudioStream30 = 0xDD,
+ MpegAudioStream31 = 0xDE,
+ MpegAudioStream32 = 0xDF,
// DVD Video can only hold 1 video stream
- MpegVideStream1 = 0xE0, MpegVideStream2 = 0xE1, MpegVideStream3 = 0xE2,
- MpegVideStream4 = 0xE3, MpegVideStream5 = 0xE4, MpegVideStream6 = 0xE5,
- MpegVideStream7 = 0xE6, MpegVideStream8 = 0xE7, MpegVideStream9 = 0xE8,
- MpegVideStream10 = 0xE9, MpegVideStream11 = 0xEA, MpegVideStream12 = 0xEB,
- MpegVideStream13 = 0xEC, MpegVideStream14 = 0xED, MpegVideStream15 = 0xEE,
+ MpegVideStream1 = 0xE0,
+ MpegVideStream2 = 0xE1,
+ MpegVideStream3 = 0xE2,
+ MpegVideStream4 = 0xE3,
+ MpegVideStream5 = 0xE4,
+ MpegVideStream6 = 0xE5,
+ MpegVideStream7 = 0xE6,
+ MpegVideStream8 = 0xE7,
+ MpegVideStream9 = 0xE8,
+ MpegVideStream10 = 0xE9,
+ MpegVideStream11 = 0xEA,
+ MpegVideStream12 = 0xEB,
+ MpegVideStream13 = 0xEC,
+ MpegVideStream14 = 0xED,
+ MpegVideStream15 = 0xEE,
MpegVideStream16 = 0xEF
}
+#endregion
+
+ static readonly byte[] _mpeg2PackHeaderStartCode = { 0x0, 0x0, 0x1 };
+
+ public static bool ContainsMpegPackets(byte[] sectorData, uint blocks = 1, uint blockSize = 2048)
+ {
+ for(uint i = 0; i < blocks; i++)
+ {
+ if(IsMpegPacket(sectorData.Skip((int)(i * blockSize))))
+ return true;
+ }
+
+ return false;
+ }
+
+ public static bool IsMpegPacket(IEnumerable sector) =>
+ sector.Take(3).ToArray().SequenceEqual(_mpeg2PackHeaderStartCode);
+
+#region Nested type: MpegHeader
+
public struct MpegHeader
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
@@ -94,15 +157,5 @@ public class MPEG
byte packStuffingLengthBlock;
}
- public static bool ContainsMpegPackets(byte[] sectorData, uint blocks = 1, uint blockSize = 2048)
- {
- for(uint i = 0; i < blocks; i++)
- if(IsMpegPacket(sectorData.Skip((int)(i * blockSize))))
- return true;
-
- return false;
- }
-
- public static bool IsMpegPacket(IEnumerable sector) =>
- sector.Take(3).ToArray().SequenceEqual(_mpeg2PackHeaderStartCode);
+#endregion
}
\ No newline at end of file
diff --git a/Enums.cs b/Enums.cs
index dcf25ba..ae59bb1 100644
--- a/Enums.cs
+++ b/Enums.cs
@@ -2,10 +2,13 @@ namespace Aaru.Decryption;
public enum DvdCssKeyClass : byte
{
- DvdCssCppmOrCprm = 0, RewritableSecurityServicesA = 1
+ DvdCssCppmOrCprm = 0,
+ RewritableSecurityServicesA = 1
}
public enum DvdCssKeyType
{
- Key1 = 0, Key2 = 1, BusKey = 2
+ Key1 = 0,
+ Key2 = 1,
+ BusKey = 2
}
\ No newline at end of file
diff --git a/Localization/Localization.Designer.cs b/Localization/Localization.Designer.cs
index 90bad9b..5c77448 100644
--- a/Localization/Localization.Designer.cs
+++ b/Localization/Localization.Designer.cs
@@ -11,32 +11,46 @@ namespace Aaru.Decryption {
using System;
- [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Localization {
- private static System.Resources.ResourceManager resourceMan;
+ private static global::System.Resources.ResourceManager resourceMan;
- private static System.Globalization.CultureInfo resourceCulture;
+ private static global::System.Globalization.CultureInfo resourceCulture;
- [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Localization() {
}
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static System.Resources.ResourceManager ResourceManager {
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
get {
- if (object.Equals(null, resourceMan)) {
- System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Aaru.Decryption.Localization.Localization", typeof(Localization).Assembly);
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Aaru.Decryption.Localization.Localization", typeof(Localization).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
- [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static System.Globalization.CultureInfo Culture {
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
@@ -45,52 +59,76 @@ namespace Aaru.Decryption {
}
}
- internal static string REPORT_ASF_AGID_1_Sense_2_Last_Error_3_took_0_ms {
+ ///
+ /// Looks up a localized string similar to GET TITLE KEY (AGID: {1}, LBA: {2}, Sense: {3}) took {0} ms..
+ ///
+ internal static string GET_TITLE_KEY_AGID_1_LBA_2_Sense_3_took_0_ms {
get {
- return ResourceManager.GetString("REPORT_ASF_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
+ return ResourceManager.GetString("GET_TITLE_KEY_AGID_1_LBA_2_Sense_3_took_0_ms", resourceCulture);
}
}
+ ///
+ /// Looks up a localized string similar to INVALIDATE AGID (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms..
+ ///
internal static string INVALIDATE_AGID_AGID_1_Sense_2_Last_Error_3_took_0_ms {
get {
return ResourceManager.GetString("INVALIDATE_AGID_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
}
}
+ ///
+ /// Looks up a localized string similar to REPORT AGID CSS/CPPM (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms..
+ ///
internal static string REPORT_AGID_CSS_CPPM_AGID_1_Sense_2_Last_Error_3_took_0_ms {
get {
return ResourceManager.GetString("REPORT_AGID_CSS_CPPM_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
}
}
- internal static string REPORT_KEY1_AGID_1_Sense_2_Last_Error_3_took_0_ms {
+ ///
+ /// Looks up a localized string similar to REPORT ASF (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms..
+ ///
+ internal static string REPORT_ASF_AGID_1_Sense_2_Last_Error_3_took_0_ms {
get {
- return ResourceManager.GetString("REPORT_KEY1_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
+ return ResourceManager.GetString("REPORT_ASF_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
}
}
+ ///
+ /// Looks up a localized string similar to REPORT CHALLENGE (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms..
+ ///
internal static string REPORT_CHALLENGE_AGID_1_Sense_2_Last_Error_3_took_0_ms {
get {
return ResourceManager.GetString("REPORT_CHALLENGE_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
}
}
+ ///
+ /// Looks up a localized string similar to REPORT KEY1 (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms..
+ ///
+ internal static string REPORT_KEY1_AGID_1_Sense_2_Last_Error_3_took_0_ms {
+ get {
+ return ResourceManager.GetString("REPORT_KEY1_AGID_1_Sense_2_Last_Error_3_took_0_ms", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to SEND CHALLENGE (AGID: {1}, Challenge {2}, Sense: {3}, Last Error: {4}) took {0} ms..
+ ///
internal static string SEND_CHALLENGE_AGID_1_Challenge_2_Sense_3_Last_Error_4_took_0_ms {
get {
return ResourceManager.GetString("SEND_CHALLENGE_AGID_1_Challenge_2_Sense_3_Last_Error_4_took_0_ms", resourceCulture);
}
}
+ ///
+ /// Looks up a localized string similar to SEND CHALLENGE (AGID: {1}, KEY2 {2}, Sense: {3}, Last Error: {4}) took {0} ms..
+ ///
internal static string SEND_CHALLENGE_AGID_1_KEY2_2_Sense_3_Last_Error_4_took_0_ms {
get {
return ResourceManager.GetString("SEND_CHALLENGE_AGID_1_KEY2_2_Sense_3_Last_Error_4_took_0_ms", resourceCulture);
}
}
-
- internal static string GET_TITLE_KEY_AGID_1_LBA_2_Sense_3_took_0_ms {
- get {
- return ResourceManager.GetString("GET_TITLE_KEY_AGID_1_LBA_2_Sense_3_took_0_ms", resourceCulture);
- }
- }
}
}
diff --git a/Localization/Localization.es.resx b/Localization/Localization.es.resx
index 52afa7b..6905f0a 100644
--- a/Localization/Localization.es.resx
+++ b/Localization/Localization.es.resx
@@ -1,39 +1,43 @@
-
-
- text/microsoft-resx
-
-
- 1.3
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
GET TITLE KEY (AGID: {1}, LBA: {2}, Sense: {3}) tardó {0} ms.
-
+
INVALIDATE AGID (AGID: {1}, Sense: {2}, Error: {3}) tardó {0} ms.
-
+
REPORT AGID CSS/CPPM (AGID: {1}, Sense: {2}, Error: {3}) tardó {0} ms.
-
+
REPORT ASF (AGID: {1}, Sense: {2}, Error: {3}) tardó {0} ms.
-
+
REPORT CHALLENGE (AGID: {1}, Sense: {2}, Error: {3}) tardó {0} ms.
-
+
REPORT KEY1 (AGID: {1}, Sense: {2}, Error: {3}) tardó {0} ms.
-
+
SEND CHALLENGE (AGID: {1}, Desafío {2}, Sense: {3}, Error: {4}) tardó {0} ms.
-
+
SEND CHALLENGE (AGID: {1}, KEY2 {2}, Sense: {3}, Error: {4}) tardó {0} ms.
\ No newline at end of file
diff --git a/Localization/Localization.resx b/Localization/Localization.resx
index 32dc9b7..6df0824 100644
--- a/Localization/Localization.resx
+++ b/Localization/Localization.resx
@@ -1,48 +1,50 @@
-
-
-
-
- text/microsoft-resx
-
-
- 1.3
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
- PublicKeyToken=b77a5c561934e089
-
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
- PublicKeyToken=b77a5c561934e089
-
-
-
+
+
+
+
+ text/microsoft-resx
+
+
+ 1.3
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral,
+ PublicKeyToken=b77a5c561934e089
+
+
+
REPORT ASF (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms.
-
+
INVALIDATE AGID (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms.
-
+
REPORT AGID CSS/CPPM (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms.
-
+
REPORT KEY1 (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms.
-
+
REPORT CHALLENGE (AGID: {1}, Sense: {2}, Last Error: {3}) took {0} ms.
-
+
SEND CHALLENGE (AGID: {1}, Challenge {2}, Sense: {3}, Last Error: {4}) took {0} ms.
-
+
SEND CHALLENGE (AGID: {1}, KEY2 {2}, Sense: {3}, Last Error: {4}) took {0} ms.
-
+
GET TITLE KEY (AGID: {1}, LBA: {2}, Sense: {3}) took {0} ms.
\ No newline at end of file