<Configuration>
  <CodeStyleSettings>
    <ExternalPath IsNull="False">
    </ExternalPath>
    <Sharing>SOLUTION</Sharing>
    <CSharp>
      <FormatSettings>
        <ALIGN_MULTILINE_ARGUMENT>False</ALIGN_MULTILINE_ARGUMENT>
        <BLANK_LINES_AROUND_SINGLE_LINE_FIELD>1</BLANK_LINES_AROUND_SINGLE_LINE_FIELD>
        <BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE>1</BLANK_LINES_AROUND_SINGLE_LINE_INVOCABLE>
        <BLANK_LINES_BETWEEN_USING_GROUPS>1</BLANK_LINES_BETWEEN_USING_GROUPS>
        <FORCE_ATTRIBUTE_STYLE>SEPARATE</FORCE_ATTRIBUTE_STYLE>
        <FORCE_FOR_BRACES_STYLE>ALWAYS_ADD</FORCE_FOR_BRACES_STYLE>
        <FORCE_FOREACH_BRACES_STYLE>ALWAYS_ADD</FORCE_FOREACH_BRACES_STYLE>
        <FORCE_IFELSE_BRACES_STYLE>ALWAYS_ADD</FORCE_IFELSE_BRACES_STYLE>
        <FORCE_WHILE_BRACES_STYLE>ALWAYS_ADD</FORCE_WHILE_BRACES_STYLE>
        <INDENT_ANONYMOUS_METHOD_BLOCK>False</INDENT_ANONYMOUS_METHOD_BLOCK>
        <INDENT_EMBRACED_INITIALIZER_BLOCK>False</INDENT_EMBRACED_INITIALIZER_BLOCK>
        <KEEP_BLANK_LINES_IN_CODE>1</KEEP_BLANK_LINES_IN_CODE>
        <KEEP_BLANK_LINES_IN_DECLARATIONS>1</KEEP_BLANK_LINES_IN_DECLARATIONS>
        <KEEP_USER_LINEBREAKS>False</KEEP_USER_LINEBREAKS>
        <MODIFIERS_ORDER IsNull="False">
          <Item>public</Item>
          <Item>protected</Item>
          <Item>internal</Item>
          <Item>private</Item>
          <Item>new</Item>
          <Item>abstract</Item>
          <Item>virtual</Item>
          <Item>override</Item>
          <Item>sealed</Item>
          <Item>static</Item>
          <Item>readonly</Item>
          <Item>extern</Item>
          <Item>unsafe</Item>
          <Item>volatile</Item>
        </MODIFIERS_ORDER>
        <PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE>False</PLACE_CONSTRUCTOR_INITIALIZER_ON_SAME_LINE>
        <PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE>False</PLACE_FIELD_ATTRIBUTE_ON_SAME_LINE>
        <PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE>False</PLACE_SIMPLE_ACCESSOR_ON_SINGLE_LINE>
        <PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE>False</PLACE_TYPE_CONSTRAINTS_ON_SAME_LINE>
        <PLACE_WHILE_ON_NEW_LINE>True</PLACE_WHILE_ON_NEW_LINE>
        <REDUNDANT_THIS_QUALIFIER_STYLE>ALWAYS_USE</REDUNDANT_THIS_QUALIFIER_STYLE>
        <SIMPLE_EMBEDDED_STATEMENT_STYLE>ON_SINGLE_LINE</SIMPLE_EMBEDDED_STATEMENT_STYLE>
        <SPACE_AFTER_TYPECAST_PARENTHESES>False</SPACE_AFTER_TYPECAST_PARENTHESES>
        <SPACE_AROUND_MULTIPLICATIVE_OP>True</SPACE_AROUND_MULTIPLICATIVE_OP>
        <SPACE_BEFORE_SIZEOF_PARENTHESES>False</SPACE_BEFORE_SIZEOF_PARENTHESES>
        <SPACE_BEFORE_TYPEOF_PARENTHESES>False</SPACE_BEFORE_TYPEOF_PARENTHESES>
        <SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES>True</SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES>
        <STICK_COMMENT>False</STICK_COMMENT>
        <WRAP_AFTER_DECLARATION_LPAR>True</WRAP_AFTER_DECLARATION_LPAR>
        <WRAP_AFTER_INVOCATION_LPAR>True</WRAP_AFTER_INVOCATION_LPAR>
        <WRAP_ARGUMENTS_STYLE>CHOP_IF_LONG</WRAP_ARGUMENTS_STYLE>
        <WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT>True</WRAP_BEFORE_FIRST_TYPE_PARAMETER_CONSTRAINT>
        <WRAP_EXTENDS_LIST_STYLE>CHOP_IF_LONG</WRAP_EXTENDS_LIST_STYLE>
        <WRAP_PARAMETERS_STYLE>CHOP_IF_LONG</WRAP_PARAMETERS_STYLE>
      </FormatSettings>
      <UsingsSettings>
        <AddImportsToDeepestScope>True</AddImportsToDeepestScope>
        <QualifiedUsingAtNestedScope>True</QualifiedUsingAtNestedScope>
      </UsingsSettings>
      <Naming2>
        <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
        <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
        <ExceptionName IsNull="False">
        </ExceptionName>
        <OverrideDefaultSettings>True</OverrideDefaultSettings>
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
        <PredefinedRule Inspect="True" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
        <PredefinedRule Inspect="True" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />
        <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />
        <Abbreviation Text="SSA" />
        <Abbreviation Text="CC" />
        <Abbreviation Text="UTF" />
        <Abbreviation Text="TX" />
        <Abbreviation Text="SRT" />
        <Abbreviation Text="CLI" />
        <Abbreviation Text="MP" />
        <Abbreviation Text="II" />
        <Abbreviation Text="GUI" />
      </Naming2>
      <CustomMemberReorderingPatterns><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns">

    <!-- Do not reorder COM interfaces -->
    <Pattern>
        <Match>
            <And Weight="2000">
                <Kind Is="interface"/>
                <HasAttribute CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"
                              Inherit="true"/>
            </And>
        </Match>
    </Pattern>

    <!-- Do not reorder P/Invoke structs -->
    <Pattern>
        <Match>
            <And Weight="2000">
                <Or>
                    <Kind Is="struct"/>
                    <Kind Is="class"/>
                </Or>
                <HasAttribute CLRName="System.Runtime.InteropServices.StructLayoutAttribute"
                              Inherit="true"/>
            </And>
        </Match>
    </Pattern>

    <!-- Do not reorder P/Invoke classes (called xxxNativeMethods) -->
    <Pattern>
        <Match>
            <And Weight="2000">
                <Kind Is="class"/>
                <Name Is=".*NativeMethods" />
            </And>
        </Match>
    </Pattern>

    <!-- StyleCop pattern -->
    <Pattern RemoveAllRegions="true">
        <Match>
            <Or Weight="1000" >
                <Kind Is="class" />
                <Kind Is="struct" />
                <Kind Is="interface"/>
            </Or>
        </Match>

        <!-- constants and fields -->
        <Entry>
            <Match>
                <Or>
                    <Kind Is="constant"/>
                    <Kind Is="field"/>
                </Or>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private"/>
                <Kind Order="constant field"/>
                <Readonly/>
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Constants and Fields"/>
        </Entry>

        <!-- constructors -->
        <Entry>
            <Match>
                <Or Weight="200">
                    <Kind Is="constructor"/>
                    <Kind Is="destructor"/>
                </Or>
            </Match>
            <Sort>
                <Static/>
                <Kind Order="constructor destructor"/>
                <Access Order="public internal protected-internal protected private"/>
            </Sort>
            <Group Region="Constructors and Destructors"/>
        </Entry>

        <!-- delegates -->
        <Entry>
            <Match>
                <Kind Is="delegate"/>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private" />
                <Static />
                <Name/>
            </Sort>
            <Group Region="Delegates"/>
        </Entry>

        <!-- events -->
        <Entry>
            <Match>
                <Kind Is="event"/>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private" />
                <Static />
                <Name/>
            </Sort>
            <Group Region="Events"/>
        </Entry>

        <!-- enum -->
        <Entry>
            <Match>
                <Kind Is="enum"/>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private" />
                <Name/>
            </Sort>
            <Group Region="Enums"/>
        </Entry>

        <!-- interfaces -->
        <Entry>
            <Match>
                <Kind Is="interface" />
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private" />
                <Name/>
            </Sort>
            <Group Region="Interfaces"/>
        </Entry>

        <!-- properties -->
        <Entry>
            <Match>
                <Kind Is="property"/>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private"/>
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Properties"/>
        </Entry>

        <!-- indexers -->
        <Entry>
            <Match>
                <Kind Is="indexer"
                      Weight="300" />
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private" />
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Indexers"/>
        </Entry>

        <!-- operator -->
        <Entry>
            <Match>
                <Kind Is="operator"/>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private" />
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Operators"/>
        </Entry>

        <!-- public methods -->
        <Entry>
            <Match>
                <And>
                    <Kind Is="method"/>
                    <Access Is="public"/>
                </And>
            </Match>
            <Sort>
                <Access Order="public"/>
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Public Methods"/>
        </Entry>

        <!-- Implemented Interfaces -->
        <Entry>
            <Match>
                <And Weight="500">
                    <Kind Is="method"/>
                    <ImplementsInterface CLRName=".*"/>
                </And>
            </Match>
            <Sort>
                <ImplementsInterface />
                <Access Order="public internal protected-internal protected private"/>
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Implemented Interfaces">
                <ImplementsInterface Region="${ImplementsInterface}" />
            </Group>
        </Entry>

        <!-- other methods -->
        <Entry>
            <Match>
                <Kind Is="method"/>
            </Match>
            <Sort>
                <Access Order="public internal protected-internal protected private"/>
                <Static/>
                <Name/>
            </Sort>
            <Group Region="Methods"/>
        </Entry>

        <!-- Nested structs -->
        <Entry>
            <Match>
                <Kind Is="struct"
                      Weight="600" />
            </Match>
            <Sort>
                <Static />
                <Access Order="public internal protected-internal protected private" />
                <Name/>
            </Sort>
        </Entry>

        <!-- Nested classes -->
        <Entry>
            <Match>
                <Kind Is="class"
                      Weight="700" />
            </Match>
            <Sort>
                <Static />
                <Access Order="public internal protected-internal protected private" />
                <Name/>
            </Sort>
        </Entry>

        <!-- all other members -->
        <Entry/>

    </Pattern>
</Patterns>
]]></CustomMemberReorderingPatterns>
    </CSharp>
    <VB>
      <FormatSettings />
      <ImportsSettings />
      <Naming2>
        <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
        <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
      </Naming2>
    </VB>
    <Web>
      <Naming2 />
    </Web>
    <Xaml>
      <Naming2 />
    </Xaml>
    <XML>
      <FormatSettings />
    </XML>
    <GenerateMemberBody />
    <Naming2>
      <EventHandlerPatternLong>$object$_On$event$</EventHandlerPatternLong>
      <EventHandlerPatternShort>$event$Handler</EventHandlerPatternShort>
      <ExceptionName IsNull="False">
      </ExceptionName>
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="Locals" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="Parameters" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="TypesAndNamespaces" />
      <PredefinedRule Inspect="False" Prefix="I" Suffix="" Style="AaBb" ElementKind="Interfaces" />
      <PredefinedRule Inspect="False" Prefix="T" Suffix="" Style="AaBb" ElementKind="TypeParameters" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="MethodPropertyEvent" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="aaBb" ElementKind="LocalConstants" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="PublicFields" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="Constants" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="StaticReadonly" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="EnumMember" />
      <PredefinedRule Inspect="False" Prefix="" Suffix="" Style="AaBb" ElementKind="Other" />
      <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateConstants" />
      <PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateInstanceFields" />
      <PredefinedRule Inspect="True" Prefix="_" Suffix="" Style="aaBb" ElementKind="PrivateStaticFields" />
      <PredefinedRule Inspect="True" Prefix="" Suffix="" Style="AaBb" ElementKind="PrivateStaticReadonly" />
    </Naming2>
  </CodeStyleSettings>
</Configuration>