<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.Platform.Util</name>
    </assembly>
    <members>
        <member name="M:JetBrains.Util.Anonymisation.MachineIdManager.GetAnonymizedMachineId(System.String,System.String)">
            @param purpose What id will be used for, shouldn't be empty.
            @return Anonymized machine id or null If getting machine id was failed.
        </member>
        <member name="M:JetBrains.Util.Anonymisation.MachineIdManager.GetLinuxMachineId">
             Reads machineId from /etc/machine-id or if not found from /var/lib/dbus/machine-id
            
             See https://manpages.debian.org/testing/systemd/machine-id.5.en.html for more details
        </member>
        <member name="M:JetBrains.Util.Anonymisation.MachineIdManager.GetMacOsMachineId">
            Invokes `ioreg -rd1 -c IOPlatformExpertDevice` to get IOPlatformUUID
        </member>
        <member name="T:JetBrains.Util.AsyncLazy`1">
            <summary>
            A lazily-calculated asynchronous value.
            </summary>
        </member>
        <member name="F:JetBrains.Util.AsyncLazy`1.myValue">
            <summary>
            Lazily-created task. Threading: simple reads, CAS writes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.#ctor(System.Threading.Tasks.Task{`0})">
            <summary>
            An explicit value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.#ctor(System.Func{`0})">
            <summary>
            A function to produce the value. This function is run within a task when the value is requested.
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.#ctor(JetBrains.Lifetimes.Lifetime,System.Func{`0},JetBrains.Application.Threading.Tasks.ITaskHost)">
            <summary>
            A function to produce the value. This function is run within a task when the value is requested.
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.#ctor(System.Func{System.Threading.Tasks.Task{`0}})">
            <summary>
            An async lambda.
            </summary>
            <param name="afactory"></param>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.#ctor">
            <summary>
            Inheritor ctor for custom lazy init. Expected to override <see cref="M:JetBrains.Util.AsyncLazy`1.OnCustomGetValue" /> in the inheritor to provide the value if this overload is used.
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.GetAwaiter">
            <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task`1" />.</summary>
            <returns>An awaiter instance.</returns>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.GetValueAsync">
            <summary>
              <para>Starts calculating the value asynchronously, if this is the first time the value has been called for. Returns the task to be awaited.</para>
              <para>On subsequent calls, returns the same task (either completed or not).</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.GetValueCold">
            <summary>
            Cold-path for <see cref="M:JetBrains.Util.AsyncLazy`1.GetValueAsync" /> to initiate its calculation. Skipped on further calls.
            </summary>
        </member>
        <member name="M:JetBrains.Util.AsyncLazy`1.OnCustomGetValue">
            <summary>
            Override in derived classes to avoid creating a ctor-passed lambda. Replaces the factory constructor parameter.
            This WILL NOT be called from the base ctor.
            This will be called:
            1) Never, if the user never asks for the lazy task.
            2) Once, the first time the user asks for the lazy task, if this method succeeds.
            3) If this method throws, then each next time the user asks for the lazy task, until it succeeds.
            </summary>
        </member>
        <member name="T:JetBrains.Util.BooleanBoxes">
            <summary>
            Avoid boxing boolean by reusing the boxes for readonly purposes.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Build.BuildConstants.ReferenceAssembliesForNetFxPrefixes">
            <summary>
            This is a quick index for the NetFX Reference Assemblies set, by taking the first word out of their names, as listed within the Microsoft.NETFramework.ReferenceAssemblies.net472 package v1.0.3.
            Sorted lexicographically, case-insensitively.
            When building part catalogs, these assemblies are (a) expected to be missing on runtimes other than NetFX; (b) are safe to skip because they cannot have an attribute which would mark a type as catalogable.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CachedFileSystemData">
            <summary>
            Stores last know information about file path (last write time, file attributes etc.)
            </summary>
        </member>
        <member name="M:JetBrains.Util.CachedFileSystemData.#ctor(JetBrains.Util.VirtualFileSystemPath)">
            <summary>
            Creates data by location. The method will access file system to read actual data. Use the overload if you have the data available to reduce performance penalty
            </summary>
            <param name="location">File location</param>
        </member>
        <member name="M:JetBrains.Util.CachedFileSystemData.#ctor(System.DateTime,System.DateTime,System.DateTime,System.IO.FileAttributes,System.Boolean,System.Int64)">
            <summary>
            Creates the data by the values obtained somehow
            </summary>
            <param name="lastWriteTimeUtc">Last write time UTC</param>
            <param name="fileAttributes">File attributes</param>
            <param name="fileExists">Whether file exists</param>
            <param name="fileLength">File length in bytes</param>
            <param name="accessTimeUtc">Last access time UTC</param>
            <param name="creationTimeUtc">Creation time UTC</param>
        </member>
        <member name="M:JetBrains.Util.CachedFileSystemData.#ctor(JetBrains.Util.VirtualDirectoryEntryData)">
            <summary>
            Creates the data by the <see cref="T:JetBrains.Util.VirtualDirectoryEntryData"/>
            </summary>
            <param name="directoryEntryData">Directory entry data obtained by LocalVirtualFileSystemInteraction.GetDirectoryEntries overloads</param>
        </member>
        <member name="T:JetBrains.Util.Collections.AlphanumComparatorFast">
            <summary>
            This sorting algorithm logically handles numbers in strings. It makes sense to humans. Highway names like 50F and 100F will be sorted wrongly with ASCII sort.
            </summary>
            <remarks>
            https://www.dotnetperls.com/alphanumeric-sorting
            </remarks>
        </member>
        <member name="T:JetBrains.Util.Collections.CountingSet`1">
            <summary>
            Multiset, each element can be included into set multiple times. Internally implemented as Dictionary : [Element] -> [Number of equal elements in this set]
            Each time we execute <see cref="M:JetBrains.Util.Collections.CountingSet`1.Add(`0)"/> with positive value counter for given element is increased.
            On <see cref="M:JetBrains.Util.Collections.CountingSet`1.Remove(`0)"/>  or <see cref="M:JetBrains.Util.Collections.CountingSet`1.Add(`0)"/> with negative value counter is decreased (if it becomes zero, element is removed from set).
            You can check the number of element occurrences in this set by invoking <see cref="M:JetBrains.Util.Collections.CountingSet`1.GetCount(`0)"/>
            </summary>
            <typeparam name="T">Type of set's element</typeparam>
        </member>
        <member name="T:JetBrains.Util.Collections.CountingSetAllowingNegativesNums`1">
            <summary>
            Internally implemented as HashMap : [Element] -> [Number of equal elements (possible negative number)]
            Each time we execute <see cref="M:JetBrains.Util.Collections.CountingSetAllowingNegativesNums`1.Increment(`0)"/> or <see cref="M:JetBrains.Util.Collections.CountingSetAllowingNegativesNums`1.Increment(`0,System.Int32)"/> with positive value counter for given element is increased (if it becomes zero, element is removed from set).
            On <see cref="M:JetBrains.Util.Collections.CountingSetAllowingNegativesNums`1.Decrement(`0)"/>  or <see cref="M:JetBrains.Util.Collections.CountingSetAllowingNegativesNums`1.Increment(`0,System.Int32)"/> with negative value counter is decreased (if it becomes zero, element is removed from set).
            You can check the number of element occurrences in this set by invoking <see cref="M:JetBrains.Util.Collections.CountingSetAllowingNegativesNums`1.GetCount(`0)"/>
            </summary>
            <typeparam name="T">Type of set's element</typeparam>
        </member>
        <member name="T:JetBrains.Util.Collections.EnumerableCollection`1">
            <summary>
            This class adapts <see cref="T:System.Collections.Generic.IEnumerable`1"/> to read-only <see cref="T:System.Collections.Generic.ICollection`1"/> involving count of items. Methods <see cref="M:JetBrains.Util.Collections.EnumerableCollection`1.Contains(`0)"/>
            and <see cref="M:JetBrains.Util.Collections.EnumerableCollection`1.CopyTo(`0[],System.Int32)"/> are not supported.
            Used to optimize getting count of items only. Count is specified in constructor - it IS NOT counted automatically by enumerable. 
            </summary>
            <typeparam name="T">The type of the elements in the collection.</typeparam>
        </member>
        <member name="T:JetBrains.Util.Collections.EnumeratorExt">
            <summary>
            Class contains classic methods of <see cref="T:System.Collections.IEnumerable"/> for <see cref="T:System.Collections.IEnumerator"/>. One of purposes is to suport "struct enumerators" - all theese
            methods works with "struct enumerators" without allocating any object in the heap.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.EqualityComparer">
            <summary>
            Factory for anonymous <see cref="T:System.Collections.Generic.IEqualityComparer`1" /> implementations based on delegates provided.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.EqualityComparer.Create``1(System.Func{``0,``0,System.Boolean},System.Func{``0,System.Int32})">
            <summary>
            Returns equality comparer implementation from pair of delegates.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.EqualityComparer.Create``2(System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Returns equality comparer implementation projecting values to some keys using the delegate rule provided
            and comparing those keys with custom or default equality comparer for key type.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.EqualityComparer.StructuralReadOnlyList``1(System.Collections.Generic.IEqualityComparer{``0},System.Boolean)">
            <summary>
            Returns the equality comparer that compares two <see cref="T:System.Collections.Generic.IReadOnlyList`1"/> instances structurally,
            meaning items at equal indexes to equal (using the <paramref name="itemComparer"/> to compare items).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.EqualityComparer.StructuralList``1(System.Collections.Generic.IEqualityComparer{``0},System.Boolean)">
            <summary>
            Returns the equality comparer that compares two <see cref="T:System.Collections.Generic.IList`1"/> instances structurally,
            meaning items at equal indexes to equal (using the <paramref name="itemComparer"/> to compare items).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.EqualityComparer.StructuralSet``1(System.Collections.Generic.IEqualityComparer{``0},System.Boolean)">
            <summary>
            Returns the equality comparer that compares two <see cref="T:System.Collections.Generic.ISet`1"/> instances structurally,
            meaning items at equal indexes to equal (using the <paramref name="itemComparer"/> to compare items).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2">
            <summary>
             Red-black tree implementation. Not thread-safe
             Sorted map, can be used for imprecise search
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.#ctor(System.Collections.Generic.IComparer{`0})">
            <summary>
            Creates an instance of this class.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Count">
            <summary>
            The number of nodes contained in the tree.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Clear">
            <summary>
            Clears the tree.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.IsEmpty">
            <summary>
            Returns true if the tree is empty.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMinKey">
            <summary>
            Returns the minimum key value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMaxKey">
            <summary>
            Returns the maximum key value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMinValue">
            <summary>
            Returns the object having the minimum key value.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetMaxValue">
            <summary>
            Returns the object having the maximum key.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.FindNode(`0)">
            <summary>
            Gets node for the specified key or null if not found.
            WARNING: This is hackish. Use it only when you really need it and understand all side-effects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetFloorNode(`0,System.Boolean)">
            <summary>
            Gets node associated with largest key less than or equal to the given key or null if not found.
            WARNING: This is hackish. Use it only when you really need it and understand all side-effects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetCeilingNode(`0,System.Boolean)">
            <summary>
            Gets node associated with smallest key greater than or equal to the given key or null if not found.
            WARNING: This is hackish. Use it only when you really need it and understand all side-effects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetNode(`0)">
            <summary>
            Gets node for the specified key, throws if not found.
            WARNING: This is hackish. Use it only when you really need it and understand all side-effects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.GetData(`0)">
            <summary>
            Gets the data object associated with the specified key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.TryGetFloorData(`0,System.Boolean,`1@)">
            <summary>
            Gets the data object associated with largest key less than or equal to the given key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.TryGetCeilingData(`0,System.Boolean,`1@)">
            <summary>
            Gets the data object associated with the smallest key greater than or equal to the given key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.InplaceReplace(`0,`0,`1)">
            <summary>
             This method updates key and value for existing node.
             WARNING: It doesn't check that replaced key is in correct place! Use this method only if you are shifting keys and you're sure that this won't cause any corruption to the tree!
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RotateLeft(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
             Rebalance the tree by rotating the nodes to the left.
            </summary>        
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RotateRight(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
             Rebalance the tree by rotating the nodes to the right.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Remove(`0)">
            <summary>
            Removes the key and data object (delete).
            </summary>
            <param name="key"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Nodes(System.Boolean)">
            <summary>
            Returns an enumerator that returns nodes in order.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Keys(System.Boolean)">
            <summary>
            Returns keys in order as specified in parameter.
            </summary>
            <param name="ascending"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Values(System.Boolean)">
            <summary>
            Returns all the values in the tree in order as specified in the parameter.
            </summary>
            <param name="ascending"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Elements(System.Boolean)">
            <summary>
            Returns an enumeration of the data objects in order as specified in the parameter.
            </summary>
            <param name="ascending"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RestoreAfterInsert(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            RestoreAfterInsert
            Additions to red-black trees usually destroy the red-black 
            properties. Examine the tree and restore. Rotations are normally 
            required to restore it
            </summary>
            <param name="x"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.RestoreAfterDelete(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            Deletions from red-black trees may destroy the red-black 
            properties. Examine the tree and restore. Rotations are normally 
            required to restore it.
            </summary>
            <param name="x"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.Delete(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            Deletes a node from the tree and restores red black properties.
            </summary>
            <param name="node"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.System#ICloneable#Clone">
            <summary>
            Creates a new object that is a copy of the current instance.
            </summary>
            <returns>
            A new object that is a copy of this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTree`2.KeyValuePairs(System.Boolean)">
            <summary>
            Returns an enumerator that returns the key-value pairs in order.
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2">
            <summary>
            The JetBinaryTreeEnumerator class returns the keys or data objects of the treap in sorted order. 
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.#ctor(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1},System.Boolean,JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
             Determine order, walk the tree and push the nodes onto the stack
            </summary>
             <param name="node"></param>
             <param name="ascending"></param>
             <param name="sentinelNode"></param>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.Key">
            <summary>
             Key.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.Value">
            <summary>
             The data or value associated with the key.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.Node">
            <summary>
             The data or value associated with the key.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.InsertNewNode(JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode{`0,`1})">
            <summary>
            Use depth-first traversal to push nodes into stack the lowest node will be at the top of the stack.
            </summary>
            <param name="node"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.NextElement">
            <summary>
             Next element.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.HasMoreElements">
            <summary>
             Has more elements.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeEnumerator`2.MoveNext">
            <summary>
             Move next.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2">
            <summary>
            A single node that is encapsulated in a red black tree data structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.#ctor">
            <summary>
            Creates an instance of this class.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Color">
            <summary>
             Color - used to balance the tree.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Left">
            <summary>
             Left node.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Right">
            <summary>
             Right node.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Parent">
            <summary>
            Parent node.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Key">
            <summary>
             Key provided by the calling class.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.JetBinaryTree.JetBinaryTreeNode`2.Data">
            <summary>
             Data available in this node
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.NodeColor">
            <summary>
            A node in a red black tree can have one of the following two colors.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.JetBinaryTree.TextRangeTree`1">
            <summary>
            Works only with range lists where ranges cannot strictly intersect with each other and that are normalized
            </summary>
            <typeparam name="TData"></typeparam>
        </member>
        <member name="T:JetBrains.Util.Collections.JetEqualityComparer">
            <summary>
            Factory for anonymous <see cref="T:System.Collections.Generic.IEqualityComparer`1" /> implementations based on delegates provided.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetEqualityComparer.FromAnotherComparer``2(System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
            <summary>
            Returns equality comparer implementation projecting values to some keys using the delegate rule provided
            and comparing those keys with custom or default equality comparer for key type.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.JetEqualityComparer.FromFunctions``1(System.Func{``0,``0,System.Boolean},System.Func{``0,System.Int32})">
            <summary>
            Returns equality comparer implementation from pair of delegates.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.LimitedDictionary`2">
            <summary>
            Cache of most recently used items.
            No position update on access.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.ObjectPool`1">
            <remarks>
            All methods of this class are thread safe
            </remarks>>
            <typeparam name="T">The type of the entities in the pool</typeparam>
        </member>
        <member name="M:JetBrains.Util.Collections.ObjectPool`1.GetObject(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Gets an object from the pool. Object is returned to the pool as lifetime is terminated.
            If there are no vacant objects the new one is created using the factory passed to the constructor
            </summary>
            <param name="lifetime">Lifetime of the object using, terminate it when finish using of the object in order to return it to the pool</param>
            <returns>Return an object from the pool</returns>
        </member>
        <member name="M:JetBrains.Util.Collections.ObjectPool`1.GetObject">
            <summary>
            Gets an object from the pool. Object must be returned to the pool via <see cref="M:JetBrains.Util.Collections.ObjectPool`1.ReturnObject(`0)"/> method.
            If there are no vacant objects the new one is created using the factory passed to the constructor
            </summary>
            <returns>Return an object from the pool</returns>
        </member>
        <member name="M:JetBrains.Util.Collections.ObjectPool`1.CreateAndGetObject(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Creates the new object using factory passed to the constructor and returns it
            </summary>
            <param name="lifetime"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Collections.ObjectPool`1.AddObjectToPool(`0)">
            <summary>
            Adds another object to the pool
            </summary>
            <param name="object"></param>
        </member>
        <member name="M:JetBrains.Util.Collections.ObjectPool`1.ReturnObject(`0)">
            <summary>
            Return the object taken with <see cref="M:JetBrains.Util.Collections.ObjectPool`1.GetObject"/> method to the pool. 
            If there are no vacant objects the new one is created using the factory passed to the constructor
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.Add(`0,`1,System.Int32)">
            <summary>
            Add specified numbers of <paramref name="item"/> in counting set for <paramref name="key"/>.
            Note: If <paramref name="count"/> less than zero, removed method will be called
            </summary>
            <param name="key">Points to counting set</param>
            <param name="item">Points to value in counting set which count will be incremented</param>
            <param name="count">Count to add</param>
            <returns>The new number of items</returns>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.Remove(`0,`1,System.Int32)">
            <summary>
            Removes specified numbers of <paramref name="item"/> in counting set for <paramref name="key"/>
            </summary>
            <param name="key">Points to counting set</param>
            <param name="item">Points to value in counting set which will be decremented</param>
            <param name="count">Count to remove</param>
            <returns>The remaining number of items</returns>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.Remove(`0)">
            <summary>
            Removes key from collection
            </summary>
            <returns>True if element was presented in collection, otherwise false</returns>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.ContainsKey(`0)">
            <summary>
            Is <paramref name="key"/> presented in collection
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.GetCount(`0,`1)">
            <summary>
            Returns count for <paramref name="value"/> in counting set for <paramref name="key"/>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Collections.OneToCompactCountingSet`2.Item(`0)">
            <summary>
            Gets IReadonlyCountingSet for specified key. Throws exception when key is not presented in collection
            </summary>
            <param name="key">Key</param>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown when key is not presented in collection</exception>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.TryGetValue(`0,JetBrains.Util.Collections.IReadonlyCountingSet{`1}@)">
            <summary>
            Tries to get IReadonlyCountingSet for specified key. Returns false when key is not presented in collection
            </summary>
            <param name="key">Key</param>
            <param name="value">Value</param>
        </member>
        <member name="P:JetBrains.Util.Collections.OneToCompactCountingSet`2.Keys">
            <summary>
            Return all keys from collection
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.GetOrEmpty(`0)">
            <summary>
            Gets IReadonlyCountingSet for specified key. If key is not presented in collection, empty set will be returned
            </summary>
            <param name="key">Key</param>
            <returns>IReadonlyCountingSet for specified key if it is presented in collection, otherwise false</returns>
        </member>
        <member name="P:JetBrains.Util.Collections.OneToCompactCountingSet`2.Count">
            <summary>
            Gets the number of elements contained in the collection
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.OneToCompactCountingSet`2.Clear">
            <summary>
            Remove all elements from collection
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.PartialSorter">
            <summary>
            Lazy sorting utility: the input list would be sorted inplace during the enumeration of returned enumerator,
            resulting in performance benefit if you only interesting in some relatively small amount of top elements.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Collections.UnsafeBitArray">
             <summary>
              Unsafe method for operations with bit masks.
             </summary>
            
        </member>
        <member name="M:JetBrains.Util.Collections.UnsafeBitArray.#ctor(System.Void*,System.Int32)">
            <param name="ptr"> Pointer to storage </param>
            <param name="lengthBits">Length in bits. Should be aligned to sizeof(int) bytes</param>
        </member>
        <member name="M:JetBrains.Util.Collections.UnsafeBitArray.Set(System.Void*,System.Int32,System.Boolean)">
            <summary>
            Sets the flag and return if flag value was actually changed.
            Consider using <see cref="M:JetBrains.Util.Collections.UnsafeBitArray.Raise(System.Int32)"/> or lower <see cref="M:JetBrains.Util.Collections.UnsafeBitArray.Lower(System.Int32)"/> directly if you don't need return 
            </summary>
        </member>
        <member name="M:JetBrains.Util.Collections.UnsafeBitArray.Set(System.Int32,System.Boolean)">
            <summary>
             Sets the flag and return if flag value was actually changed.
            Consider using <see cref="M:JetBrains.Util.Collections.UnsafeBitArray.Raise(System.Int32)"/> or lower <see cref="M:JetBrains.Util.Collections.UnsafeBitArray.Lower(System.Int32)"/> directly if you don't need return value
            </summary>
        </member>
        <member name="T:JetBrains.Util.CollectionAdapter`1">
            <summary>
            Adapts a generic collection so that it can be handled as a non-generic collection.
            </summary>
            <typeparam name="T">Type of the generic collection.</typeparam>
        </member>
        <member name="M:JetBrains.Util.CollectionAdapter`1.CopyTo(System.Array,System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.ICollection"></see> to an <see cref="T:System.Array"></see>, starting at a particular <see cref="T:System.Array"></see> index.
            </summary>
            
            <param name="array">The one-dimensional <see cref="T:System.Array"></see> that is the destination of the elements copied from <see cref="T:System.Collections.ICollection"></see>. The <see cref="T:System.Array"></see> must have zero-based indexing. </param>
            <param name="index">The zero-based index in array at which copying begins. </param>
            <exception cref="T:System.ArgumentNullException">array is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than zero. </exception>
            <exception cref="T:System.ArgumentException">array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source <see cref="T:System.Collections.ICollection"></see> is greater than the available space from index to the end of the destination array. </exception>
            <exception cref="T:System.InvalidCastException">The type of the source <see cref="T:System.Collections.ICollection"></see> cannot be cast automatically to the type of the destination array. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.Util.CollectionAdapter`1.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.ICollection"></see>.
            </summary>
            
            <returns>
            The number of elements contained in the <see cref="T:System.Collections.ICollection"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.Util.CollectionAdapter`1.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"></see>.
            </summary>
            
            <returns>
            An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.Util.CollectionAdapter`1.IsSynchronized">
            <summary>
            Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection"></see> is synchronized (thread safe).
            </summary>
            
            <returns>
            true if access to the <see cref="T:System.Collections.ICollection"></see> is synchronized (thread safe); otherwise, false.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.CollectionAdapter`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            
            <returns>
            An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.Util.DictionaryWrapper`2">
            <summary>
            Dictionary with <see cref="F:JetBrains.Util.DictionaryWrapper`2.Statistics"/> for each operation. Can be serialized/deserialized seamlessly.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:JetBrains.Util.EmptyDictionary`2">
            <summary>
            Reuses the single read-only instance of an empty dictionary (one per type).
            </summary>
        </member>
        <member name="T:JetBrains.Util.IEquatableList`1">
            <summary>
            A list whose <see cref="M:System.Object.Equals(System.Object)"/> compares the items in their exact sequence
            (<see cref="M:System.Linq.Enumerable.SequenceEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/>).
            </summary>
        </member>
        <member name="T:JetBrains.Util.EquatableList`1">
            <summary>
            A list whose <see cref="M:System.Object.Equals(System.Object)"/> compares the items in their exact sequence
            (<see cref="M:System.Linq.Enumerable.SequenceEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/>).
            </summary>
        </member>
        <member name="M:JetBrains.Util.EquatableList`1.#ctor(System.Collections.Generic.IList{`0})">
            <summary>
            A list whose <see cref="M:System.Object.Equals(System.Object)"/> compares the items in their exact sequence
            (<see cref="M:System.Linq.Enumerable.SequenceEqual``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/>).
            </summary>
        </member>
        <member name="F:JetBrains.Util.StrongToWeakDictionary`2.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.StrongToWeakDictionary`2.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:JetBrains.Util.StrongToWeakDictionary`2.Entry.PrevEntryIndex">
            <summary>
            Index of previous entry in the chain of keys with the same hashcodes (modulo size), -1 means first
            </summary>
        </member>
        <member name="T:JetBrains.Util.TypeHierarchyMap`1">
             <summary>
             Represents the dictionary of <typeparamref name="TValue"/> values accessed via <see cref="T:System.Type"/> keys.
             Allows using derived/implementing types as a keys for lookup by trying to find the "best" matching registration
             of <typeparamref name="TValue"/> given some <see cref="T:System.Type"/> instance.
            
             There are disambiguation rules if key K matches both A and B key types, in a following order:
             * If type A is assignable from B, type B will be chosen as more specific;
             * Otherwise if there is no subtyping relationship between A and B, the type key registered first will be chosen.
            
             Example:
               Given {IComparable,object} map, 'IComparable' will be chosen for 'int' key (first rule)
             </summary>
        </member>
        <member name="T:JetBrains.Util.WeakCollection`1">
            <summary>
            Represents collection of items that doesn't strongly hold items
            </summary>
        </member>
        <member name="P:JetBrains.Util.WeakCollection`1.Capacity">
            <summary>
            Gets the approximate number of elements contained in the <see cref="T:JetBrains.Util.WeakCollection`1"></see>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.Add(`0)">
            <summary>
            Adds an weak reference to item to the <see cref="T:JetBrains.Util.WeakCollection`1"></see>.
            </summary>
            <param name="item">The object to add to the <see cref="T:JetBrains.Util.WeakCollection`1"></see>.</param>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.Remove(`0)">
             <summary>
             Removes the first occurrence of a specific object from the <see cref="T:JetBrains.Util.WeakCollection`1"></see>.
             </summary>
             <returns>
             true if item was successfully removed from the <see cref="T:JetBrains.Util.WeakCollection`1"></see>; otherwise, false.
             This method also returns false if item is not found in the original <see cref="T:JetBrains.Util.WeakCollection`1"></see>.
            </returns>
            <param name="item">The object to remove from the <see cref="T:JetBrains.Util.WeakCollection`1"></see>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:JetBrains.Util.WeakCollection`1"></see> is read-only.</exception>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.Contains(`0)">
            <summary>Determines whether the <see cref="T:JetBrains.Util.WeakCollection`1"></see> contains a specific value.</summary>
            <returns>true if item is found in the <see cref="T:JetBrains.Util.WeakCollection`1"></see>; otherwise, false.</returns>
            <param name="item">The object to locate in the <see cref="T:JetBrains.Util.WeakCollection`1"></see>.</param>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.First">
            <summary>
            Returns the first live element from collection
            </summary>
            <returns>The first live element from collection</returns>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.First(System.Func{`0,System.Boolean})">
            <summary>
            Returns the first live element from collection that satisfies a specified condition
            </summary>
            <returns>The first live element from collection that satisfies a specified condition</returns>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.Last">
            <summary>
            Returns the last live element from collection
            </summary>
            <returns>The last live element from collection</returns>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.Last(System.Func{`0,System.Boolean})">
            <summary>
            Returns the last live element from collection that satisfies a specified condition
            </summary>
            <returns>The last live element from collection that satisfies a specified condition</returns>
        </member>
        <member name="M:JetBrains.Util.WeakCollection`1.Sweep">
            <summary>
            Removes garbage from the list
            </summary>
        </member>
        <member name="M:JetBrains.Util.WeakHashSet`1.#ctor(System.Collections.Generic.ICollection{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakHashSet`1.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakHashSet`1.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakHashSet`1.Entry.PrevEntryIndex">
            <summary>
            Index of previous entry in the chain of keys with the same hashcodes (modulo size), -1 means first
            </summary>
        </member>
        <member name="T:JetBrains.Util.WeakToStrongDictionary`2">
            <summary>
            Collection similar to <see cref="T:System.Runtime.CompilerServices.ConditionalWeakTable`2"/>, but unlike in CWT:
            - Values are referenced via strong references, not dependent handles.
            - Housekeeping is performed only in lookup/remove/resize-rehash operations,
              meaning the values will not be reclaimed by the GC if this collection remains untouched.
            - If <typeparamref name="TValue"/> references the <typeparamref name="TKey"/> via strong reference,
              the whole entry will never be collected, resulting in memory leak.
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakToStrongDictionary`2.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakToStrongDictionary`2.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakToStrongDictionary`2.Entry.PrevEntryIndex">
            <summary>
            Index of previous entry in the chain of keys with the same hashcodes (modulo size), -1 means first
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakToWeakDictionary`2.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakToWeakDictionary`2.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="F:JetBrains.Util.WeakToWeakDictionary`2.Entry.PrevEntryIndex">
            <summary>
            Index of previous entry in the chain of keys with the same hashcodes (modulo size), -1 means first
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineBuilderJet">
            <summary>
            Mimics the MSBuild's <c>CommandLineBuilder</c> by its API over our <see cref="T:JetBrains.Util.CommandLineUtil" /> so that to avoid references to MSBuild utils.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineBuilderJet.AppendParameterWithQuoting(System.String)">
            <summary>
            Appends a separate command line parameter, quoting it if required for consistent parsing.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineBuilderJet.AppendSwitch(System.String)">
            <summary>
            Appends a chunk of text to the command line WITHOUT any treatment, AS IS.
            If you have spaces in the string, it might result in multiple arguments being parsed from the result.
            This is suitable for appending either trivial switch names or whole pieces of already escaped command lines (e.g. result of another builder).
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineBuilderJet.op_Implicit(JetBrains.Util.CommandLineBuilderJet)~System.String">
            <summary>
            Turns into a command line string.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractGroupAttribute.HelpText">
            <summary>
            Help text.
            </summary>
            <remarks>
            Inside help string it is possible to use macros, e.g. ${AppName}<br/>
            For available macros see <see cref="M:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator.DefineGlobalMacros(JetBrains.Util.CommandLineMapper.FormattedTextBuilder,System.Type)"/>.     
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractGroupDefinitionAttribute.HelpText">
            <summary>
            Help text.
            </summary>
            <remarks>
            Inside help string it is possible to use macros, e.g. ${AppName}<br/>
            For available macros see <see cref="M:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator.DefineGlobalMacros(JetBrains.Util.CommandLineMapper.FormattedTextBuilder,System.Type)"/>.     
            </remarks>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.AbstractMapperAttribute">
            <summary>
            Base class for all command line mapper's attributes.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.IsKeyed">
            <summary>
            Whether option is keyed or non-keyed. If keyed then <c>Key</c>, <c>Shortcut</c> and <c>GetKeyDefinition</c> must not return null or throw.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Key">
            <summary>
            Key name.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Shortcut">
            <summary>
            Key shortcut. Default: '\x0' (means no shortcut).
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.NonKeyedIndex">
            <summary>
            0-based index for non-keyed option.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.IsNonKeyedTail">
            <summary>
            If set to true then all non-keyed arguments starting from <c>NonKeyedIndex</c> considered as multi value for this option.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.IsRequired">
            <summary>
            Whether option is required or not.
            </summary>
            <remarks>
            IMPORTANT! If <c>IsRequired</c> <c>true</c> then option MUST BE specified and <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.DefaultValue"/> is always ignored,
            but <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.EmptyValue"/> still usable.
            <br/>
            For example, <c>[StringOption("opt", IsRequired = true, EmptyValue = "awesome")]</c> requires <c>opt</c> to be specified,
            but it can be specified with or without value: <c>--opt</c> /* will have "awesome" value */ or <c>--opt == my-value</c>.
            <br/>
            <br/>
            IMPORTANT! <c>IsRequired</c> has additional meaning for <c>ImplicitGroup</c>-s: "option required to activate implicit group".
            <br/>
            For example, [BoolOption(..., IsRequired = true)] <i>outside</i> implicit group is useless (because value always will be true), 
            but <i>inside</i> implicit group it means 'if this option is specified then appropriate implicit group activated'.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.DefaultValue">
            <summary>
            The value which is set when no option specified at all.
            If option without value specified then <c>EmptyValue</c> is set.
            </summary>
            <remarks>
            Default value must be the same type as option's <c>ValueType</c> or <c>MultiValueType</c> or be the <c>String</c>. 
            String value will be converted via <c>ConvertValue</c> method.
            </remarks>
            <seealso cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.EmptyValue"/>    
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.EmptyValue">
            <summary>
            The value which is set when option without value specified.
            If option isn't specified at all then <c>DefaultValue</c> is set.
            If <c>EmptyValue</c> is <c>null</c> and option specified without value then error will be reported.
            </summary>
            <remarks>
            Empty value must be the same type as option's <c>ValueType</c> or <c>MultiValueType</c> or be the <c>String</c>. 
            String value will be converted via <c>ConvertValue</c> method.
            </remarks>
            <seealso cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.DefaultValue"/>    
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Alias">
            <summary>
            Alternative name for keyed option.
            </summary>
            <remarks>
            Might be used in transition period when you rename some options.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.SymbolicValue">
            <summary>
            Symbolic value like &lt;value> or &lt;path>.
            </summary>
            <remarks>
            Used in usage and help generation.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.HelpText">
            <summary>
            Help text.
            </summary>
            <remarks>
            Inside help string it is possible to use macros, e.g. ${AppName}<br/>
            For available macros see <see cref="M:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator.DefineGlobalMacros(JetBrains.Util.CommandLineMapper.FormattedTextBuilder,System.Type)"/> and <see cref="M:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator.DescriptionGenerator.DefineOptionMacros(JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute)"/>.     
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Separator">
            <summary>
            Separator for multi-value. Default: '\0' which means that separator is not available.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.GetKeyDefinition">
            <summary>
            Returns definition for keyed-option. Must not be null if <c>IsKeyed</c> true.
            </summary>
            <remarks>
            Default implementation returns definition with expected value, value is required if no default one provided.
            </remarks>    
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.FormatValues(System.Object,System.Boolean)">
            <summary>
            Formats option value to string presentation.
            </summary>
            <remarks>
            If <c>value</c> is a single-value then single string is returned.<br/>
            <br/>
            If <c>value</c> is a multi-value and <c>Separator</c> is defined for this option then single string of joined single-values is returned.<br/>
            If <c>Separator</c> IS NOT defined then sequence of single-value strings is returned (necessary to support '--key=value1 --key=value2 ...' syntax).<br/>    
            </remarks>    
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionFilterAttribute">
            <summary>
            Used to mark the option or set of options as supported by particular platform only.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.AppNameAttribute">
            <summary>
            Specifies app name which is used in help/example/command line generation.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Attributes.AppNameAttribute.#ctor(System.String,System.Type)">
            <summary>
            Specifies app name for options model class.
            </summary>
            <param name="nameWithoutExt">app name without extension</param>
            <param name="optionFilterTypeAttribute">type of the option filter attribute, must be the type derived from <see cref="T:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionFilterAttribute"/></param>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.ExplicitGroupDefinitionAttribute.Key">
            <summary>
            The key defining explicit group. Must be the same as specified in appropriate [ExplicitGroup] attribute.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.ExplicitGroupDefinitionAttribute.Value">
            <summary>
            The value of <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.ExplicitGroupDefinitionAttribute.Key"/> defining this explicit group. 
            </summary>
            <remarks>
            The following types are supported: <c>string</c>, <c>int</c>, <c>enum</c>.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Attributes.ExplicitGroupDefinitionAttribute.IsDefault">
            <summary>
            Whether group default or not?
            </summary>
            <remarks>
            The default group is mapped when defining key-value is omitted in command line.<br/>
            <br/>
            IMPORTANT! If appropriate [ExplicitGroup] attribute specified with <c>IsRequired = true</c> then default mapping is ignored. 
            </remarks>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.OptionDefaultValueAttribute">
            <summary>
            Used to specify platform dependent default value.
            </summary>
            <seealso cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.DefaultValue"/>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.OptionEmptyValueAttribute">
            <summary>
            Used to specify platform dependent empty value.
            </summary>
            <seealso cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.EmptyValue"/>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.OptionOrderAttribute">
            <summary>
            Defines option order number. 
            </summary>
            <remarks>
            Options are stable sorted ascendingly by this number. If no attribute specified then 0 order number supposed.<br/>
            Affects options order inside single class only but including all base classes.<br/>
            <br/>
            By default options defined in base class will precede options from derived one. Using <c>OptionOrderAttribute</c> it's possible to override this order. 
            </remarks>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Attributes.OptionSpecialValueAttribute">
            <summary>
            Used to specify platform dependent default value.
            </summary>
            <seealso cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.DefaultValue"/>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.CommandLineArgument">
            <summary>
            Represents parsed command line argument either keyed with optional value or non-keyed.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.CommandLineException">
            <summary>
            Represents command line parsing/mapping error which should be shown to end-user.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.GroupSignature">
            <summary>
            Represents group signature which is set of required options.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.ICommandLineBuilder`1">
            <summary>
            Builds command line from typed options model.
            </summary>
            <typeparam name="TOptions"></typeparam>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.ICommandLineMapper`1">
            <summary>
            Maps <c>CommandLineArgument</c>-s to typed options model.
            </summary>
            <remarks>
            Features:<br/>
             * supports types: string, int, bool, enum, TimeSpan, FileSystemPath<br/>
             * extensible: easy to map custom types<br/>
             * supports collection assignable from T[]<br/>
             * supports multi-value specified via separator or repeating key (e.g. '--list=a,b,c' or '--list=a --list=b --list=c')<br/>
             * supports commands (a-la 'git push')<br/>
             * supports implicit group deduced on the set of provided arguments<br/>
             * supports mutually exclusive groups and multi-groups<br/>
             * provides auto-help generation<br/>
             * supports sample generation from options model<br/>
             * supports raw command line tail: useful for passing arguments to started child-process<br/>
            </remarks>
            See <c>CommandLineMapperExamples</c> in test-project.
            <typeparam name="TOptions"></typeparam>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.ICommandLineMapper`1.HelpGenerator">
            <summary>
            Current help generator.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.ICommandLineMapper`1.GetKeyDefinitions">
            <summary>
            Returns <c>KeyDefinition</c>-s built by options model.
            </summary>
            <remarks>
            Key definitions are used by parser to support feature 'space as value separator'.
            <br/>
            E.g. -f &lt;file-name>
            <br/>
            If -f option expects a value then &lt;file-name> is a value for keyed option 'f' otherwise &lt;file-name> is a non-keyed option.
            </remarks>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.ICommandLineMapper`1.Map(JetBrains.Util.CommandLineMapper.ICommandLineParser,System.Action{System.String})">
            <summary>
            Maps <c>CommandLineArgument</c>-s to typed options model with auto-processing of help keys and/or command.   
            If command line doesn't contain any argument then also help is displayed.
            Returns null if help was displayed.
            </summary>
            <param name="parser"></param>
            <param name="displayHelp"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.ICommandLineMapper`1.Map(JetBrains.Util.CommandLineMapper.ICommandLineParser)">
            <summary>
            Maps <c>CommandLineArgument</c>-s to typed options model.
            Returns null if and only if command line doesn't contain any argument.
            </summary>
            <param name="parser"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.ICommandLineParser">
            <summary>
            Parses command line, resolves shortcut and alias to key name and provides sequence of <c>CommandLineArgument</c>-s.
            </summary>
            <seealso cref="T:JetBrains.Util.CommandLineMapper.CommandLineArgument"/>
            <seealso cref="T:JetBrains.Util.CommandLineMapper.Impl.AbstractParser"/>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.ICommandLineParser.GetArguments(JetBrains.Util.CommandLineMapper.KeyDefinitionSet)">
            <summary>
            Parses command line according to provided key definitions and returns sequence of <c>CommandLineArgument</c>-s.    
            </summary>
            <param name="keyDefinitions"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.IExampleFormatter">
            <summary>
            Provides method to format sample options as command line.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IExampleFormatter.Format(System.Object,JetBrains.Util.CommandLineMapper.ExampleFormatFlags)">
            <summary>
            Formats a command line according to passed options.
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.IHelpGenerator">
            <summary>
            Generates help by options object model.
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IHelpGenerator.GenerateHelp">
            <summary>
            Generates generic help for options model.
            </summary>
            <remarks>
            Generic help includes only command names with description but without detailed options.
            </remarks>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IHelpGenerator.GenerateHelp(System.String)">
            <summary>
            Generates help for specific command/group.
            </summary>
            <param name="groupName"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.AbstractParser">
            <summary>
            Basic implementation which able to parse the following cases:
            <br/>
            &lt;non-keyed-value>
            <br/>
            &lt;key-marker>&lt;key>
            <br/>
            &lt;key-marker>&lt;key>:&lt;value>
            <br/>
            &lt;key-marker>&lt;key>=&lt;value>
            <br/>
            &lt;key-marker>&lt;key> &lt;value>  // if 'space-as-value-separator' feature enabled
            <br/>
            &lt;shortcut-marker>&lt;shortcut>[&lt;shortcut>...]
            <br/>
            &lt;shortcut-marker>&lt;shortcut>[&lt;shortcut>...]:&lt;value>
            <br/>
            &lt;shortcut-marker>&lt;shortcut>[&lt;shortcut>...]=&lt;value>
            <br/>
            &lt;shortcut-marker>&lt;shortcut>[&lt;shortcut>...] &lt;value>   // if 'space-as-value-separator' feature enabled
            <br/>
            &lt;shortcut-marker>&lt;shortcut>[&lt;shortcut>...]&lt;value>
            <br/>
            where &lt;shortcut> is a single char
            <br/><br/>
            Also supports &lt;non-keyed-mark> after wich all following arguments are treated as non-keyed.
            <br/>
            See: https://en.wikipedia.org/wiki/Command-line_interface#Option_conventions_in_Unix-like_systems
            </summary>
            <seealso cref="T:JetBrains.Util.CommandLineMapper.Impl.UnixStyleParser"/>
            <seealso cref="T:JetBrains.Util.CommandLineMapper.Impl.UniversalParser"/>
        </member>
        <member name="F:JetBrains.Util.CommandLineMapper.Impl.AbstractParser.mySortedKeyMarks">
            <summary>
            We have to sort all KeyMarks by their length so that if both '--' and '-' are present in KeyMarks and the
            command line fragment is '--foo' the TrimShortcutMark will return 'foo' rather than '-foo'
            if in KeyMarks the '-' mark is specified before '--' mark
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.BackwardCompatibilityParser">
            <summary>
            Treats - (single dash) as key marker but not a shortcut. Under Windows / (slash) also treated as key marker.<br/>
            <br/>
            &lt;key-marker> ::= -- | / | - <br/>
            &lt;shortcut-marker> ::= (none) <br/>
            &lt;non-keyed-mark> ::= -- <br/>
            <br/>
            Examples: --name=value --name:value /name=value /name:value -name=value -name:value -- -non-keyed --non-keyed
            </summary>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.TreatUndefinedKeyAsIs">
            <summary>
            If enabled then keys which haven't definition will be converted to <c>CommandLineArgument</c> with given name and without alias/shortcut resolving.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.TreatSpaceAsValueSeparator">
            <summary>
            If enabled then non-keyed value followed key expecting value will be parsed as value of this key.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.WhenKeyFound(System.Action{System.String,System.String})">
            <summary>
            Sets callback when keyed-option found by its original name. Might be used to display deprecation warning.
            </summary>
            <param name="callback"><c>void OnKeyFound(string prefix, string key)</c></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.WhenUndefinedKeyFound(System.Action{System.String,System.String})">
            <summary>
            Sets callback when <c>TreatUndefinedKeyAsIs</c> enabled and undefined keyed-option found. Might be used to display deprecation warning.
            </summary>
            <param name="callback"><c>void OnUndefinedKeyFound(string prefix, string key)</c></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.WhenShortcutFound(System.Action{System.String,System.Char,System.String})">
            <summary>
            Sets callback when keyed-option found by its shortcut. Might be used to display deprecation warning.
            </summary>
            <param name="callback"><c>void OnShortcutFound(string prefix, char shortcut, string key)</c></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.WhenUndefinedShortcutFound(System.Action{System.String,System.Char})">
            <summary>
            Sets callback when <c>TreatUndefinedKeyAsIs</c> enabled and undefined shortcut found. Might be used to display deprecation warning.
            </summary>
            <param name="callback"><c>void OnUndefinedShortcutFound(string prefix, char shortcut)</c></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.Builder.WhenAliasFound(System.Action{System.String,System.String,System.String})">
            <summary>
            Sets callback when keyed-option found by its alias. Might be used to display deprecation warning.
            </summary>
            <param name="callback"><c>void OnAliasFound(string prefix, string alias, string key)</c></param>
            <returns></returns>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.OnKeyFound">
            <summary>
            Called when keyed-option found by its original name.<br/>
            <c>void OnKeyFound(string prefix, string key)</c>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.OnUndefinedKeyFound">
            <summary>
            Called when <c>TreatUndefinedKeyAsIs = true</c> and undefined keyed-option found.<br/>
            <c>void OnUndefinedKeyFound(string prefix, string key)</c>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.OnShortcutFound">
            <summary>
            Called when keyed-option found by its shortcut.<br/>
            <c>void OnShortcutFound(string prefix, char shortcut, string key)</c>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.OnUndefinedShortcutFound">
            <summary>
            Called when <c>TreatUndefinedKeyAsIs = true</c> and undefined shortcut found.<br/>
            <c>void OnUndefinedShortcutFound(string prefix, char shortcut)</c>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.CommandLineParserSettings.OnAliasFound">
            <summary>
            Called when keyed-option found by its alias.<br/>
            <c>void OnAliasFound(string prefix, string alias, string key)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.CompactHelpGenerator">
            <summary>
            Generates help expanding groups inplace. Might be useful for tools with simple command line.
            </summary>
            <example>
            TODO: provide example here
            </example>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator">
            <summary>
            Default implementation of help generator.
            </summary>
            <example>
            <![CDATA[
            Usage: dotMem [--log-level[=ERROR|WARN|INFO]] [--log-file=<file-path>] [--save-to=<dir-path>] <command>
            
            [--log-level[=ERROR|WARN|INFO]] logging level
            [--log-file=<file-path>]        log file path
            [--save-to=<dir-path>]          folder path to save workspace to
            
            <command>
            help                            Display help related to specified command.
              get-snapshot                    Get snapshot of running .NET process.
              start                           Start standalone application under profiling and get snapshot by triggers.  
            ]]>
            </example>
            
            <example>
            <![CDATA[
            get-snapshot                    Get snapshot of running .NET process.
            Usage: dotMem get-snapshot <process-spec> [--as-admin]
            
            <process-spec> ::= <pid-spec> | <name-spec>
            
              <pid-spec> ::= --pid|-i=<pid>
              Specify process by PID.
            
                --pid|-i=<pid>                  process identifier
            
              <name-spec> ::= --name|-n=<process-name> [--with-max-mem] [--all]
              Specify process by name with some optional conditions.
            
                --name|-n=<process-name>        process name with optional extension
                [--with-max-mem]                snapshot a process with max memory consumption
                [--all]                         snapshot all processes with specified name
            
            [--as-admin]                    elevate to admin privileges
            
            E.g: dotMem get-snapshot --pid=2025
                 Get snapshot of process with PID 2025.
            
            E.g: dotMem get-snapshot --name=PaintDotNet --all
                 Get snapshot of all processes with name PaintDotNet.
            
            E.g: dotMem get-snapshot --name=PaintDotNet --with-max-mem
                 Get snapshot of process with name PaintDotNet, if several instances are running pick one which consumes max memory.
            ]]>
            </example>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator.DescriptionGenerator.DefineOptionMacros(JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute)">
            <summary>
            The following macros defined for current option:<br/>
            ${Key} - <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Key"/> without key marker; only defined if option keyed<br/>
            ${Shortcut} - <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Shortcut"/> without shortcut marker; only defined if option has shortcut<br/>
            ${Alias} - <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Alias"/> without marker; only defined if option has alias<br/>
            ${DefaultValue} - <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.DefaultValue"/>; only defined if default value was specified<br/>
            ${EmptyValue} - <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.EmptyValue"/>; only defined if default value was specified<br/>
            ${FormattedKey} - key and shortcut with appropriate markers, something like `--key|-k`
            ${sep} - <see cref="P:JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute.Separator"/>; only defined if separator was specified
            </summary>      
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.Impl.DefaultHelpGenerator.DefineGlobalMacros(JetBrains.Util.CommandLineMapper.FormattedTextBuilder,System.Type)">
            <summary>
            ${AppName} - application name<br/>
            ${AppNameDotExe} - application name with `.exe` suffix<br/>
            ${EnvTempDir} - temp path environment variable (%Temp% or $TMPDIR) depending on running platform<br/>
            ${ExitCode.Failure} - value of <see cref="F:JetBrains.Util.CommandLineMapper.CLI.ExitCode.Failure"/><br/>
            ${ExitCode.Success} - value of <see cref="F:JetBrains.Util.CommandLineMapper.CLI.ExitCode.Success"/><br/>
            ${--} - key marker (`--` or `/`)<br/>
            ${-} - shortcut marker (`-`)<br/>
            ${=} - value separator (`=` or `:`)<br/>
            ${/} - path separator (`/` or `\`) depending on running platform<br/>
            ${Help} - name of help command or formatted help key<br/>
            </summary>    
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.ExampleFormatter">
            <summary>
            Default implementation of <c>IExampleFormatter</c>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.IOptionMarkers.DefaultKeyMarker">
            <summary>
            Key marker.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.IOptionMarkers.DefaultShortcutMarker">
            <summary>
            Shortcut marker. '\x0' if not supported.
            </summary>    
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.IOptionMarkers.DefaultNonKeyedMarker">
            <summary>
            Marker which means 'all followed arguments are non-keyed'. Usually -- (double dash).
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.Impl.IOptionMarkers.DefaultValueSeparator">
            <summary>
            Name-value separator.
            </summary>    
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.UniversalParser">
            <summary>
            Treats -- (double dash) and / (slash) on Windows as key markes, - (single dash) as shortcut marker.<br/>
            <br/>
            &lt;key-marker> ::= -- | / <br/>
            &lt;shortcut-marker> ::= - <br/>
            &lt;non-keyed-mark> ::= -- <br/><br/>
            Examples: --name=value --name:value /name=value /name:value -n=value -abc -- -non-keyed --non-keyed
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.Impl.UnixStyleParser">
            <summary>
            &lt;key-marker> ::= --
            <br/>
            &lt;shortcut-marker> ::= -
            <br/>
            &lt;non-keyed-mark> ::= --
            <br/><br/>
            Examples: --name=value --name:value --name value -n=value -n:value -n value -nvalue -abcn=value -- -non-keyed --non-keyed
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.IOptionFormatter">
            <summary>
            Provides set of methods which format option declared in object model in some specific style. E.g. --option or /option or -o etc.
            </summary>
            <remarks>
            Used to generate help, usage hints, usage samples and to format error messages which contain reference to some option.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.IOptionFormatter.KeyMarker">
            <summary>
            Key marker.
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.IOptionFormatter.ShortcutMarker">
            <summary>
            Shortcut marker. '\x0' if not supported.
            </summary>    
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.IOptionFormatter.NonKeyedMarker">
            <summary>
            Marker which means 'all followed arguments are non-keyed'. Usually -- (double dash).
            </summary>
        </member>
        <member name="P:JetBrains.Util.CommandLineMapper.IOptionFormatter.ValueSeparator">
            <summary>
            Name-value separator.
            </summary>    
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IOptionFormatter.Format(JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute,System.Boolean)">
            <summary>
            Formats option like this: '--option|-o[=&lt;value>[,&lt;value>,...]]'.
            </summary>
            <remarks>
            Used to generate help or usage hints.
            </remarks>    
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IOptionFormatter.Format(JetBrains.Util.CommandLineMapper.Attributes.AbstractGroupAttribute,System.Boolean)">
            <summary>
            Formats group like this: '&lt;group> [&lt;group>...]'.
            </summary>
            <remarks>
            Used to generate help or usage hints.
            </remarks>    
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IOptionFormatter.Format(JetBrains.Util.CommandLineMapper.Attributes.AbstractGroupDefinitionAttribute)">
            <summary>
            Formats group definition like this: 'command' or this '--group=group-def'.
            </summary>
            <remarks>
            Used to generate help or usage hints.
            </remarks>    
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IOptionFormatter.Format(JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute,System.Object,System.Boolean@)">
            <summary>
            Formats option with specified value(s) like this: '--option=value' or '--option=value1 --option=value2'.
            </summary>
            <remarks>
            Used to generate usage samples.
            </remarks>    
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IOptionFormatter.FormatName(JetBrains.Util.CommandLineMapper.Attributes.AbstractOptionAttribute)">
            <summary>
            Formats option name like this: '--option|-o'.
            </summary>
            <remarks>
            Used to generate help or usage hints.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.IOptionFormatter.FormatName(JetBrains.Util.CommandLineMapper.Attributes.AbstractGroupAttribute)">
            <summary>
            Formats group name like this: '&lt;group>'.
            </summary>
            <remarks>
            Used to generate help or usage hints.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.CommandLineMapper.ISupportRawCommandLine.GetNonKeyedTailRaw(System.Int32)">
            <summary>
            Returns command line tail (in raw form) starting from given non-keyed parameter. Raw means 'as was provided by caller'.
            </summary>    
            <remarks>
            Command line raw tail used when we need to bypass part of original command line to sub-process as-is.
            </remarks>
            <param name="startNonKeyedParamIndex"></param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.ISupportRawValueFormat">
            <summary>
            Mix-in interface for option which able to return raw value (raw means no additional quoting required).
            </summary>
        </member>
        <member name="T:JetBrains.Util.CommandLineMapper.WildcardedPath">
            <summary>
            A special stub class to assign to field marked as [FileSetOption] in order to build command line from model.
            </summary>
            <remarks>
            Members of <c>IReadOnlyList</c> not supported by this stub and throws an exception.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.CompanySpecificFolderLocations.LocalAppdata">
            <summary>
            The non-Roaming Application Data, shared for all company data.
            Usually it's <code>Environment.SpecialFolder.LocalApplicationData / CompanyInfo.Name</code>, but can be overridden by the value of the environment variable <see cref="F:JetBrains.Util.CompanySpecificFolderLocations.JET_LOCAL_APPDATA_DIR"/>.
            <para>This environment variable won't be inherited by child processes after first calculation of this property</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CompanySpecificFolderLocations.RoamingAppdata">
            <summary>
            The Roaming Application Data, shared for all company data.
            Usually it's <code>Environment.SpecialFolder.RoamingApplicationData / CompanyInfo.Name</code> but can be overridden by the value of the environment variable <see cref="F:JetBrains.Util.CompanySpecificFolderLocations.JET_ROAMING_APPDATA_DIR"/>.
            <para>This environment variable won't be inherited by child processes after first calculation of this property</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.CompanySpecificFolderLocations.TempFolder">
            <summary>
            Temp folder, shared for all company data.
            Usually it's <code>TEMP / CompanyInfo.Name</code> but can be overridden by the value of the environment variable <see cref="F:JetBrains.Util.CompanySpecificFolderLocations.JET_TEMP_DIR"/>.
            <para>This environment variable won't be inherited by child processes after first calculation of this property</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.ContinuousIntegration.Internal">
            <summary>
              Using internal resources for running tests, requires authorization.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ContinuousIntegration.External">
            <summary>
              Using external resources for running tests, no authorization required.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ConvertableEnumPattern`1">
             <summary>
             An EnumPattern implementation which supports conversion from a text string.
             </summary>
             <remarks>
             The internal dictionary is typically populated lazily by static constructors of classes, which may be located in
             different assemblies. That means that it is not guaranteed that at any moment of time the internal dictionary are
             aware of all possible patterns. When you ask for named EnumPattern you can be the first one, who even asked for
             such pattern and you have to provide a way to construct the pattern object itself by providing a factory method.
            
             For example, in serialization scenarios the deserialization may be happened before static constructor invocation
             of a different class in the other assembly.
            
             For this reason, it is advised against using the FromString method.
             </remarks>
        </member>
        <member name="T:JetBrains.Util.ConvertableEnumPatternConverter`1">
            <summary>
            A TypeConverter implementation for the ConvertableEnumPattern type.
            </summary>
            <remarks>
            Methods CanConvertTo and ConvertTo are not implemented, cause the base implementations do all we need.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DataFlow.Extension.ListValidator">
            <summary>
            Validates collections by preventing certain values from being added or removed.
            Note that for the validator to attach, the original values must all pass the validation.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataFlow.Extension.ListValidator.EnsureReadonly``1(JetBrains.DataFlow.ListEvents{``0},JetBrains.Lifetimes.Lifetime,JetBrains.DataFlow.StandardPreconditions.ReadonlyToken)">
            <summary>
            Makes a readonly list. All the legitimate modifiers must pass the <paramref name="token"/> as an argument.
            If the <paramref name="token"/> is invalid, an exception is thrown.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataFlow.Extension.ListValidator.EnsureThisThread``1(JetBrains.DataFlow.ListEvents{``0})">
            <summary>
            Ensures the <paramref name="listEvents"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataFlow.Extension.ListValidator.EnsureThisThread``1(JetBrains.DataFlow.ListEvents{``0},JetBrains.Lifetimes.Lifetime)">
            <summary>
            Ensures the <paramref name="listEvents"/> is modified only on the thread this function was called on.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple">
            <summary>
            A stream which allows to access memory outside the process' virtual address space. That would be RAM if enough is available, or it might be paged out to disk.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.DefaultBankSizeExponent">
            <summary>
            The default exponent (base is 2) for the bank size.
            1MB in 32bit, 16MB in 64bit.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.DefaultOpenBanksLimit">
            <summary>
            The default number of banks which can be mapped into process memory at the same time.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myBankSizeExponent">
            <summary>
            The exponent (base is 2) for the bank size.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myGlobalStateFlags">
            <summary>
            Must be protected with <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myLockStreamsList" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myImmutableSubstreamsWeak">
            <summary>
            List of immutable substreams currently opened within the body of the main stream, which have a fixed length and cannot be grown. Stores those which do not have a lifetime but are garbage collected, so held by weak reference and removed by collection logic when the reference invalidates.
            Must be protected with <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myLockStreamsList" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.mySubstreamAppending">
            <summary>
            At most one substream currently writing at the end of the main stream; this one has a growing length.
            Must be protected with <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myLockStreamsList" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.mySubstreamsFixedLengthLifetimed">
            <summary>
            List of substreams currently opened within the body of the main stream, which have a fixed length and cannot be grown. Stores those which have a limiting lifeitme, removed upon termination.
            Must be protected with <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myLockStreamsList" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myWrittenLengthExceptForActiveAppending">
            <summary>
            The fixed-length data part. To get the full written length, append the length of <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.mySubstreamAppending" />, if any.
            Must be protected with <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.myLockStreamsList" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.#ctor(JetBrains.Lifetimes.Lifetime,System.UInt64,JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSpec)">
            <summary>
            </summary>
            <param name="lifetime">The lifetime for unmanaged resources behind the stream.</param>
            <param name="qwLengthLimit">The maximum length of the stream. This memory is not initially committed. Must be a multiple of the bank size.</param>
            <param name="bankspec">Bank fine tuning.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.#ctor(JetBrains.Lifetimes.Lifetime,System.Void*,System.UInt64,System.UInt64,JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSpec)">
            <summary>
            </summary>
            <param name="lifetime">The lifetime for unmanaged resources behind the stream.</param>
            <param name="hExternalMmf">An externally-created MMF, to attach to, or NULL to create a new one.</param>
            <param name="qwLengthLimit">The maximum length of the stream (this memory is not initially committed), if no external MMF is specified. Otherwise it's assumed to be the size of the pre-allocated MMF. Must be a multiple of the bank size.</param>
            <param name="qwWrittenLength">This number of bytes at the beginning of the <see cref="!:hExternalMmf" /> is considered as already written. Stream <see cref="!:Length" /> returns this value.</param>
            <param name="bankspec">Bank fine tuning.</param>
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.CanOpenSubstreamForAppendingNow">
            <summary>
            As only one appender substream can be opened at any given time, tells whether the <see cref="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenSubstreamForAppending(JetBrains.Lifetimes.Lifetime)" /> option is available.
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.CommittedLength">
            <summary>
            Length of the fixed-length part of the stream. If there is an append-mode stream open, does not include it.
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.LengthLimit">
            <summary>
            Gets the maximum <see cref="!:Length" /> this object is allowed to reach.
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.UncommittedLength">
            <summary>
            Full length of the stream, including the parts being written at the moment.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.AppendSubstreamFixedLength(JetBrains.Lifetimes.Lifetime,System.UInt64)">
            <summary>
            Extends a body of this stream by the given length, and opens the new bytes as a fixed-length substream. The variable-length writre must not be opened.
            Writable and readonly streams must not intersect.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Attach(JetBrains.Lifetimes.Lifetime,System.Void*,System.UInt64,System.UInt64,JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSpec)">
            <summary>
            Attaches to an existing memory-mapped file.
            </summary>
            <param name="lifetime">Stream lifetime, and lifetime of all the MMF views it opens. The MMF itself isn't destroyed when the lifetime ends.</param>
            <param name="hExistingMmf">An already-open MMF of size <paramref name="qwMmfSize" />.</param>
            <param name="qwMmfSize">Total size of the <paramref name="hExistingMmf" />. Must be a multiple of the bank size.</param>
            <param name="qwWrittenLength">This number of bytes at the beginning of the <see cref="!:hExistingMmf" /> is considered as already written. Stream <see cref="!:Length" /> returns this value.</param>
            <param name="bankspec">Bank fine tuning.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.CreateStandardMmf(JetBrains.Lifetimes.Lifetime,System.UInt64)">
            <summary>
            Allocates an MMF the standard way, just as this object would do by default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenFullStream(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Opens a view on the whole stream which can change the length freely to grow or shring. There might be at most one such view. No other substreams are allowed: no tail-growing substreams (because this one is essentialyl tail-growing as well); no immutable substreams (obviously); no fixed-length substreams (because this stream might shring past them, and when created, it resets committed length to zero, so no other streams might exist).
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenImmutableStreamWithGc(System.UInt64,System.UInt64)">
            <summary>
              <para>Opens an immutable stream without a lifetime. Effectively, the lifetime of the <see cref="T:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple" /> class still limits the usable lifetime of the stream, so you have to make sure all active uses fall within. Other than that, the stream is “closed” as soon as it's garbage collected.</para>
              <para>Stream instances are not reused because they have to have independent positioning, but they reuse some of the data to make sure digest is not calculated anew for each clone.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenImmutableSubstreamWithLifetime(JetBrains.Lifetimes.Lifetime,System.UInt64,System.UInt64)">
            <summary>
            Opens an immutable stream which looks on a view within the body of this stream.
            The stream is considered closed when its lifetime ends. Each call opens a new stream with its own lifetime.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenSubstreamFixedLength(JetBrains.Lifetimes.Lifetime,System.UInt64,System.UInt64,JetBrains.Util.Storage.StructuredStorage.StreamOpenFlags.ReadWrite)">
            <summary>
            Opens a stream which looks on a view within the body of this stream.
            Cannot change its length. Writable and readonly streams must not intersect.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenSubstreamForAppending(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Opens an initially empty stream which writes to the end of this stream. Can grow both its length and the parent stream length. Can't have more than one such. Always RW.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ReadAt(System.UInt64,System.Void*,System.UInt32)">
            <summary>
            Reads a sequence of bytes from the current memory stream holder without allocating a substream — same as opening a fixed-length readonly substream for the range and reading, but skips the checks and creation. Cannot read from within the current appending stream, only <see cref="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.CommittedLength" /> part is available. If <see cref="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.OpenFullStream(JetBrains.Lifetimes.Lifetime)" /> is active, then no memory is available for reads here.
            </summary>
            <param name="ulOffset">The stream offset to start reading at.</param>
            <param name="pv">Points to the first byte of the destination buffer.</param>
            <param name="cb">The number of bytes to copy.</param>
            <remarks>There's no <c>WriteAt</c> because it'd still have to do all the slow checks on if there're any conflicting immutable streams, so create a substream for that.</remarks>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ReleaseBanks">
            <summary>
            You can call this if you're not going to be using this object for some time. They'll be reopened automatically.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Bank.RefCount">
            <summary>
            Incremented (thread-safely) for the time smb is using the bank for operations. Prevents releasing the bank view.
            Zero means the bank is not in use, available for use, and can be freed.
            A very negavtive value (like, MinValue) is set atomically before releasing the bank, to make sure noone locks it for use.
            Upon creation, the bank gets a valid view and a ref count of 1, assuming the bank is initially in use and shan't be freed, don't forget to decrease.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Bank.ReleaseIfNotInUse">
            <summary>
            Releases and NULLs the view, unless in use.
            </summary>
            <returns><c>True</c> if released now. A released bank always returns <c>True</c>.</returns>
        </member>
        <member name="T:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSpec">
            <summary>
            Defines how many banks and of which size this stream should use for accessing the memory.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSpec.wBankSizeExponent">
            <summary>
            Optional. Allows to change the exponent (base 2) of the bank size. Zero means use default <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.DefaultBankSizeExponent" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSpec.wOpenBanksLimit">
            <summary>
            Optional. Max number of banks which can be mapped into process memory at the same time.  Zero means use default <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.DefaultOpenBanksLimit" />.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher">
            <summary>
            Caches a few open banks, closes the oldest ones, opens new ones.
            Must be fully thread-safe.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.myBanksByGeneration">
            <summary>
            A copy of <see cref="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.myBanksByStartOffset" />, but ordered for removal of oldest.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.myBanksByStartOffset">
            <summary>
            Caches a few open banks.
            The idea is that the structured storage file system managing code would be writing the content and the filesystem tables intermittently, so the file tables' banks better be left open.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.myBankSizeExponent">
            <summary>
            The exponent (base is 2) for the bank size.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.myLock">
            <summary>
            Protects all free-threaded operations on this object.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.myOpenBanksLimit">
            <summary>
            The number of banks which can be mapped into process memory at the same time.
            Might be violated if all of the opened banks are locked for use and we need even more.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.GetBankByViewPointerAndAddRef(System.UInt64)">
            <summary>
            Gets the cached or openes a new bank whose view starts at the given offset (must be a multiple of the bank size).
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.BankSwitcher.ReleaseAllBanks">
            <summary>
            You can call this if you're not going to be using this object for some time. They'll be reopened automatically.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.GlobalStateFlags.IsFrozen">
            <summary>
            <see cref="M:JetBrains.Util.Collections.IFreezable.Freeze" /> has been called.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.myFirstClone">
            <summary>
            For a tree of clones, tracks the original root instance.
            Main use with GC-tarcked streams, any clones keep the original pinned.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.#ctor(JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessData,JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream)">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.CanTimeout">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.Length">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.Position">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.Read(System.Byte[],System.Int32,System.Int32)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.ReadByte">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.Seek(System.Int64,System.IO.SeekOrigin)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.ShallowClone">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.ImmutableSubstream.WithNoLifetime">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessData.GlobalEnd">
            <summary>
            End of the current stream view, in MMF-relative coordinates.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessData.GlobalLengthLimit">
            <summary>
            Global length limit in MMF-relative coordinates.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessData.GlobalPosition">
            <summary>
            The current position of this stream, in MMF-relative coordinates.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessData.GlobalStart">
            <summary>
            Start of the current stream view, in MMF-relative coordinates.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessFlags.IsFrozen">
            <summary>
            <see cref="M:JetBrains.Util.Collections.IFreezable.Freeze" /> has been called, here or on parent.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.StreamAccessFlags.IsFixedLength">
            <summary>
            This stream can't grow by writing.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream">
            <summary>
            An effective stream on subrange, in that it does not add an extra layer of calls.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.WriteAt(System.UInt64,System.Void*,System.UInt32)">
            <summary>
            Writes a sequence of bytes to the current stream at the specified position without touching the stream <see cref="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.Position" /> value. The stream <see cref="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.Length" /> might however increase.
            </summary>
            <param name="ulOffset">The stream offset to start writing at. The <see cref="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.Position" /> is not considered or modified by this call.</param>
            <param name="pv">Points to the first byte of the source buffer.</param>
            <param name="cb">The number of bytes to copy.</param>
            <returns>We don't return the number of written bytes because reading less than requested is a failure HR and will be thrown out as an exception.</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.ReadAt(System.UInt64,System.Void*,System.UInt32)">
            <summary>
            Reads a sequence of bytes from the current stream at the specified position without touching the stream <see cref="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.Position" /> value.
            </summary>
            <param name="ulOffset">The stream offset to start reading at. The <see cref="P:JetBrains.Util.dataStructures.BankSwitchingMemoryStreamSimple.Substream.Position" /> is not considered or modified by this call.</param>
            <param name="pv">Points to the first byte of the destination buffer.</param>
            <param name="cb">The number of bytes to copy.</param>
        </member>
        <member name="T:JetBrains.Util.dataStructures.BidirectionalMapOnCompactMap`2">
            <summary>
              <para>Mapping from one family of objects into another and vice versa.</para>
              <para>Uses the Compact Map inside. This consumes less memory and won't hit the LOH, but is a few times slower. So in perf-critical scenarios without big mem pressure choose the <see cref="T:JetBrains.Util.dataStructures.BidirectionalMapOnDictionary`2" />.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.BidirectionalMapOnCompactMap`2.Count">
            <summary>
            Get the number of mappings.
            As we implement the identity mapping, the number of items on both sides is always in sync.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BidirectionalMapOnCompactMap`2.Add(`0,`1)">
            <summary>
            Adds a new mapping to the map. Both ends must be unique in their maps.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.BidirectionalMapOnCompactMap`2.SetMapping(`0,`1,System.Boolean)">
            <summary>
            Adds a new mapping to the map. You should use <see cref="M:JetBrains.Util.dataStructures.BidirectionalMapOnCompactMap`2.Add(`0,`1)" /> whenever possible, as it throws on dpulicate keys.
            </summary>
            <param name="left">Left key.</param>
            <param name="right">Right key.</param>
            <param name="bIgnoreConflicts">Whether to ignore duplicate keys in left and right collections silently. Not recommended. The conflicting mappings will be dropped.</param>
        </member>
        <member name="T:JetBrains.Util.dataStructures.Boxed`1">
            <summary>
            Turns a value type into a reference type — similarly to <see cref="T:System.Nullable`1"/>,
            but the resulting type is a reference type not a value type.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.Boxed`1.#ctor(`0)">
            <summary>
            Turns a value type into a reference type — similarly to <see cref="T:System.Nullable`1"/>,
            but the resulting type is a reference type not a value type.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.Boxed">
            <summary>
            Supports <see cref="T:JetBrains.Util.dataStructures.Boxed`1"/>, mostly taken from <see cref="T:System.Nullable"/>.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.ConciseBitArray">
            <summary>
            Effective replace of <see cref="T:System.Collections.BitArray"/> for sparse and almost filled set. Effective for density of 1-s between 0 and 0.1, and beween 0.9 and 1.
            Inspired by http://ricerca.mat.uniroma3.it/users/colanton/docs/concise.pdf
            Non thread-safe
            </summary>
        </member>
        <member name="P:JetBrains.Util.dataStructures.ConciseBitArray.Count">
            <summary>
            Slow implementation, no memoization
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.FibFinder">
            <summary>
            Utility for fibbonacci number 
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.FibFinder.NextFib(System.Int32)">
            <summary>
            Find minimal fib number larger or equal to give
            </summary>
            <returns>lowest fibbonaci number greater or equal to given</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.FibFinder.NextFibIndex(System.Int32)">
            <summary>
            Searches index <b>idx</b> in array <see cref="F:JetBrains.Util.dataStructures.FibFinder.FibSeq"/> such as <b>idx</b> - lowest possible number that satisfies <see cref="F:JetBrains.Util.dataStructures.FibFinder.FibSeq"/>[<b>idx</b>] >= <b>x</b>.
            </summary>
            <param name="x">Input value</param>
            <returns>Index in  <see cref="F:JetBrains.Util.dataStructures.FibFinder.FibSeq"/> </returns>
        </member>
        <member name="T:JetBrains.Util.dataStructures.IntSet">
            <summary>
            Hash set for ints. Internally contains a single array so memory usage is low (but loadfactor is 0.75 to provide high speed for Add, Contains and Remove operations).
            The set is initialized with so-called marker element (0 by default) which is always contained in this set (you can't remove it). So set minimum size (<see cref="P:JetBrains.Util.dataStructures.IntSet.Count"/>) is 1.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.IntSet.NextBucketShift">
            <summary>
            Not equal to any number obtained by <see cref="M:JetBrains.Util.DataStructures.PrimeFinder.NextPrime(System.Int32)"/> 
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.NaturalSort">
            <summary>
            Compares strings by their natural sorting order, which is, case-insensitively and treating digits and numbers, where 2 goes before 10.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ValueRefEntry.SizeNBits">
            <summary>
            26 bits for size means we one key can hold from 0 to 67,108,864 values exclusively.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.ValueRefEntry.CapacityNBits">
            <summary>
            Capacity for a given key is a log2 for #fibbonacci_number (0 is reserved for exact fit capacity). So maximum capacity is fib(64) which is
            far larger than maximum count (as per <see cref="F:JetBrains.Util.dataStructures.ValueRefEntry.SizeNBits"/>).
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.MultimapStorage`1">
            <summary>
            Analogous to <see cref="T:JetBrains.Util.DataStructures.ChunkList`1"/> but correctly handles <see cref="M:JetBrains.Util.dataStructures.MultimapStorage`1.set_Item(System.Int32,`0)"/> with index greater than the current capacity.
            Also includes some additional
            facilities like <see cref="M:JetBrains.Util.dataStructures.MultimapStorage`1.CompactToNewCount(System.Int32)"/> which is used in enclosing map's compaction procedure.
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="T:JetBrains.Util.dataStructures.MultimapValueCollectionEnumerator`1">
            <summary>
            Struct enumerator to reduce memory traffic
            </summary>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="F:JetBrains.Util.dataStructures.KeyToEntryMap`1.NextBucketShift">
            <summary>
            Not equal to any number obtained by <see cref="M:JetBrains.Util.DataStructures.PrimeFinder.NextPrime(System.Int32)"/>
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.IValueConsumer`2.Consume(`0,`1)">
            <returns>True if further search is not needed</returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.OneToListMultimap`2.Compact">
            <summary>
            Compacts and returns number of compacted entries.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.dataStructures.OneToListMultimap`2.CompactConditionally">
            <summary>
            Compacts if CompactionPolicy is met.
            </summary>
            <returns>Number of compacted entries or -1 if CompactionPolicy is not met</returns>
        </member>
        <member name="P:JetBrains.Util.dataStructures.OneToListMultimap`2.Item(`0)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <returns>
            The element with the specified key.
            </returns>
            <param name="key">The key of the element to get or set.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is null.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key"/> is not found.</exception>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SafeUnmanagedMemory">
            <summary>
            Unmanaged piece of memory that MUST be taken by <code>using (var mem = SafeUnmanagedMemory.Alloc(sizeInBytes) {...}</code> construct.
            Works faster then <see cref="T:JetBrains.Util.UnmanagedBlock"/> because doesn't use <see cref="T:System.Runtime.InteropServices.SafeHandle"/> utility inside.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SimpleTrie`2">
            <summary>
            A trie which stores hierarchically nodes whose keys are lists of <typeparamref name="TKey" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.dataStructures.SimpleTrie`2.myRootNode">
            <summary>
            Synthetic root.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SimpleTrie`2.AddOrUpdateValue``2(JetBrains.Util.dataStructures.SimpleTrie{`0,`1}.KeyEnumerator{``0,``1},JetBrains.Util.dataStructures.SimpleTrie{`0,`1}.AddOrUpdateHandler{``0},``0)">
            <summary>
            Sets a value to the trie, possibly updating an existing value.
            </summary>
            <typeparam name="TContext"></typeparam>
            <typeparam name="TState"></typeparam>
            <param name="keys">An enumerator which produces the keys for the path in the trie.</param>
            <param name="value">The value to be set. A <c>NULL</c> value would be set as any value, the node would not be deleted.</param>
            <param name="context">User-defined context for the <paramref name="keys" /> enumerator function.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SimpleTrie`2.RemoveAllKeyPrefixes(System.Collections.Generic.IList{`0})">
            <summary>
            Removes all nodes on any possible prefixes of <paramref name="keys" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SimpleTrie`2.SetValue``2(JetBrains.Util.dataStructures.SimpleTrie{`0,`1}.KeyEnumerator{``0,``1},`1,``0)">
            <summary>
            Sets a value to the trie.
            </summary>
            <typeparam name="TContext"></typeparam>
            <typeparam name="TState"></typeparam>
            <param name="keys">An enumerator which produces the keys for the path in the trie.</param>
            <param name="value">The value to be set. A <c>NULL</c> value would be set as any value, the node would not be deleted.</param>
            <param name="context">User-defined context for the <paramref name="keys" /> enumerator function.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SimpleTrie`2.TryGetValue``2(JetBrains.Util.dataStructures.SimpleTrie{`0,`1}.KeyEnumerator{``0,``1},`1@,``0)">
            <summary>
            Gets a value from the trie if it is defined.
            </summary>
            <typeparam name="TContext"></typeparam>
            <typeparam name="TState"></typeparam>
            <param name="keys">An enumerator which produces the keys for the path in the trie.</param>
            <param name="value">The value, if set; <c>NULL</c> otherwise.</param>
            <param name="context">User-defined context for the <paramref name="keys" /> enumerator function.</param>
            <returns>Whether the value were set and is returned in <paramref name="value" />.</returns>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SimpleTrie`2.AddOrUpdateHandler`1">
            <summary>
            Adds a new value or updates an existing one.
            </summary>
            <typeparam name="TContext"></typeparam>
            <param name="isExistingValue">
              <para>If <c>True</c>, <paramref name="existingOrNull" /> has the existing value you would be updating.</para>
              <para>If <c>False</c>, the node had no existing value, <paramref name="existingOrNull" /> is <c>NULL</c>, and you should return the new value.</para>
            </param>
            <param name="existingOrNull">The existing value of the node, if there were such (and <paramref name="isExistingValue" /> is <c>True</c>). <c>NULL</c> otherwise.</param>
            <param name="context">The user-defined context.</param>
            <returns>The value to set to the node.</returns>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SimpleTrie`2.KeyEnumerator`2">
            <summary>
              <para>A non-allocating compound key producer function, as an alternative to passing the <see cref="T:System.Collections.Generic.List`1" /> of keys as the compound key.</para>
              <para>Defines the path in the trie.</para>
              <para>To produce the keys in the path, an algorithm will call <see cref="T:JetBrains.Util.dataStructures.SimpleTrie`2.KeyEnumerator`2" /> repeatedly.</para>
            </summary>
            <typeparam name="TContext"></typeparam>
            <typeparam name="TState"></typeparam>
            <param name="context">The static context. This is passed thru as is from algorithm user to the algorithm and by the algorithm to the key enumerator function. Not supposed to change with iteration, though it's up to key enumerator implemenation. Example: the string on which to enumerate parts.</param>
            <param name="state">The state of the enumerator. Passed by reference. On the first call, would be NULL. On each call the key enumerator implementation is expected to change this state so that on the next call it returned the next part.</param>
            <param name="key">The next key, if return value is <c>True</c>. Undefined otherwise.</param>
            <returns>Whether this iteration produced a valid item. <c>True</c> means <paramref name="key" /> is the next valid key. <c>False</c> means the iteration has gone out of bounds and is over, <paramref name="key" /> is an undefined value, iteration should now stop.</returns>
            <remarks>The iteration is not guaranteed to be completed by the caller (might abort after few first items). There is no “enumeration dispose” call.</remarks>
        </member>
        <member name="T:JetBrains.Util.dataStructures.StringConcat">
            <summary>
            Represents string that consists of other strings. The way of avoiding string concatenation and high memory traffic.
            Works fast for small number of parts. Typical replace for: namespace + "." + typeName
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.StringDotConcat">
            <summary>
            Represents string that consists of other strings. The way of avoiding string concatenation and high memory traffic.
            Works fast for small number of parts. Typical replace for: namespace + "." + typeName
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.SubStream">
            <summary>
            Sometimes we have to trick some feature into thinking that it works on its own stream, while actually it gets only a substream from some other larger stream (or file).
            An example would be features like ZIP which would seek into beginning and the end.
            Another case is appending to a larger stream, while some features would like to rewind first.
            And it also won't dispose the underlying stream on close.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SubStream.#ctor(System.IO.Stream,System.Int64,System.Nullable{System.Int64},System.IO.FileAccess)">
            <summary>
            </summary>
            <param name="stream">The underlying stream. Won't be disposed of!</param>
            <param name="start">Start of the view.</param>
            <param name="length">Length of the view. A nonnegative number means a fixed length, and <c>NULL</c> means “to the current end of the underlying stream”, and it allows growing the stream on write.</param>
            <param name="rwfilter">Allows to limit operations on the underlying stream.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.SubStream.Append(System.IO.Stream)">
            <summary>
            Creates a substream for appending to the end of another stream.
            Writable, growable, asserts at end.
            </summary>
        </member>
        <member name="T:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1">
            <summary>
            Represents an integer value with specific semantics that cannot be freely assigned to/from other ints.
            </summary>
            <typeparam name="TType">This type is not used for storing data values. It it solely used for distinguishing between typed intrinsics.</typeparam>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.Limited(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{`0},JetBrains.Util.dataStructures.TypedIntrinsics.Int32{`0})">
            <summary>
            Limits the current value. Returns a copy that's guaranteed to be in the <c>[</c><paramref name="minInclusive"/><c>, </c><paramref name="maxExclusive"/><c>)</c> limits.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.Minus1">
            <summary>
            Subtracts one from the current value.
            Does not modify the original object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.Plus1">
            <summary>
            Adds one to the current value.
            Does not modify the original object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.AtMost(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{`0})">
            <summary>
            Truncates the value to be at most the given maximum.
            Does not modify the original object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.AtLeast(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{`0})">
            <summary>
            Truncates the value to be at least the given minimum.
            Does not modify the original object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.Equals(System.Object)">
            <summary>
            Indicates whether this instance and a specified object are equal.
            </summary>
            <returns>
            true if <paramref name="obj"/> and this instance are the same type and represent the same value; otherwise, false.
            </returns>
            <param name="obj">Another object to compare to. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer that is the hash code for this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IComparable#CompareTo(System.Object)">
            <summary>
            Compares the current instance with another object of the same type.
            </summary>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than <paramref name="obj"/>. Zero This instance is equal to <paramref name="obj"/>. Greater than zero This instance is greater than <paramref name="obj"/>.
            </returns>
            <param name="obj">An object to compare with this instance. </param><exception cref="T:System.ArgumentException"><paramref name="obj"/> is not the same type as this instance. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IComparable{JetBrains#Util#dataStructures#TypedIntrinsics#Int32{TType}}#CompareTo(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{`0})">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the <paramref name="other"/> parameter.Zero This object is equal to <paramref name="other"/>. Greater than zero This object is greater than <paramref name="other"/>.
            </returns>
            <param name="other">An object to compare with this object.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for this instance.
            </summary>
            <returns>
            The enumerated constant that is the <see cref="T:System.TypeCode"/> of the class or value type that implements this interface.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToBoolean(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent Boolean value using the specified culture-specific formatting information.
            </summary>
            <returns>
            A Boolean value equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToByte(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 8-bit unsigned integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 8-bit unsigned integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToChar(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent Unicode character using the specified culture-specific formatting information.
            </summary>
            <returns>
            A Unicode character equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToDateTime(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent <see cref="T:System.DateTime"/> using the specified culture-specific formatting information.
            </summary>
            <returns>
            A <see cref="T:System.DateTime"/> instance equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToDecimal(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent <see cref="T:System.Decimal"/> number using the specified culture-specific formatting information.
            </summary>
            <returns>
            A <see cref="T:System.Decimal"/> number equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToDouble(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent double-precision floating-point number using the specified culture-specific formatting information.
            </summary>
            <returns>
            A double-precision floating-point number equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToInt16(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 16-bit signed integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 16-bit signed integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToInt32(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 32-bit signed integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 32-bit signed integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToInt64(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 64-bit signed integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 64-bit signed integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToSByte(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 8-bit signed integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 8-bit signed integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToSingle(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent single-precision floating-point number using the specified culture-specific formatting information.
            </summary>
            <returns>
            A single-precision floating-point number equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToString(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent <see cref="T:System.String"/> using the specified culture-specific formatting information.
            </summary>
            <returns>
            A <see cref="T:System.String"/> instance equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToType(System.Type,System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an <see cref="T:System.Object"/> of the specified <see cref="T:System.Type"/> that has an equivalent value, using the specified culture-specific formatting information.
            </summary>
            <returns>
            An <see cref="T:System.Object"/> instance of type <paramref name="conversionType"/> whose value is equivalent to the value of this instance.
            </returns>
            <param name="conversionType">The <see cref="T:System.Type"/> to which the value of this instance is converted. </param><param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToUInt16(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 16-bit unsigned integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 16-bit unsigned integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToUInt32(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 32-bit unsigned integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 32-bit unsigned integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IConvertible#ToUInt64(System.IFormatProvider)">
            <summary>
            Converts the value of this instance to an equivalent 64-bit unsigned integer using the specified culture-specific formatting information.
            </summary>
            <returns>
            An 64-bit unsigned integer equivalent to the value of this instance.
            </returns>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.Equals(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{`0})">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <returns>
            true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
            </returns>
            <param name="other">An object to compare with this object.</param>
        </member>
        <member name="M:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Formats the value of the current instance using the specified format.
            </summary>
            <returns>
            A <see cref="T:System.String"/> containing the value of the current instance in the specified format.
            </returns>
            <param name="format">The <see cref="T:System.String"/> specifying the format to use.-or- null to use the default format defined for the type of the <see cref="T:System.IFormattable"/> implementation. </param><param name="formatProvider">The <see cref="T:System.IFormatProvider"/> to use to format the value.-or- null to obtain the numeric format information from the current locale setting of the operating system. </param><filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.Util.dataStructures.UncloseableStream">
            <summary>
            Wraps a <see cref="T:System.IO.Stream" /> instance and does not the consumer of this class to close that instance.
            </summary>
        </member>
        <member name="T:JetBrains.Util.BidirectionalMap`2">
            <summary>
            Mapping from one family of objects into another and vice versa.
            </summary>
        </member>
        <member name="P:JetBrains.Util.BidirectionalMap`2.Count">
            <summary>
            Get the number of mappings.
            As we implement the identity mapping, the number of items on both sides is always in sync.
            </summary>
        </member>
        <member name="M:JetBrains.Util.BidirectionalMap`2.Add(`0,`1)">
            <summary>
            Adds a new mapping to the map. Both ends must be unique in their maps.
            </summary>
        </member>
        <member name="M:JetBrains.Util.BidirectionalMap`2.SetMapping(`0,`1,System.Boolean)">
            <summary>
            Adds a new mapping to the map. You should use <see cref="M:JetBrains.Util.BidirectionalMap`2.Add(`0,`1)"/> whenever possible, as it throws on dpulicate keys.
            </summary>
            <param name="left">Left key.</param>
            <param name="right">Right key.</param>
            <param name="bIgnoreConflicts">Whether to ignore duplicate keys in left and right collections silently. Not recommended. The conflicting mappings will be dropped.</param>
        </member>
        <member name="T:JetBrains.Util.DataStructures.ChunkHashMap`2">
            <summary>
            Reimplementation of Dictionary.
            </summary>
            <typeparam name="TKey"></typeparam>
            <typeparam name="TValue"></typeparam>
        </member>
        <member name="F:JetBrains.Util.DataStructures.ChunkHashMap`2.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.DataStructures.ChunkHashMap`2.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkHashSet`1.#ctor(System.Collections.Generic.ICollection{`0},System.Collections.Generic.IEqualityComparer{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkHashSet`1.SetEquals(JetBrains.Util.DataStructures.ChunkHashSet{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkHashSet`1.IsSupersetOf(System.Collections.Generic.ICollection{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkHashSet`1.IsSupersetOf(JetBrains.Util.DataStructures.ChunkHashSet{`0})">
            <summary>
            Static overload to prevent runtime type checks.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DataStructures.ChunkHashSet`1.Entry.HashCode">
            <summary>
            Cached hash code of the key, -1 means entry is free
            </summary>
        </member>
        <member name="F:JetBrains.Util.DataStructures.ChunkHashSet`1.Entry.NextEntryIndex">
            <summary>
            Index of next entry in the chain of keys with the same hashcodes (modulo size), -1 means last
            </summary>
        </member>
        <member name="T:JetBrains.Util.DataStructures.ChunkPackedIntArray">
            <summary>
             Presents <c>uint[]</c> (this) packed into <c>uint[][]</c> (myChunks). Each chunk is <c>UncheckedPackedIntArray</c> which supplies compression.
             Chunks are used to avoid LOH.
             
            To take <c>i</c>-th element of 'this', invoke <c>GetItem(i, valueBits, 0)</c>. You can also use <c>this[ith]</c> to get/set values with array of one element (in case
            of <c>valueBits</c> less than '32'.
            
            One can increase or reduce size of elem by invocation of <c>IncreaseValueBits(ChunkPackedIntArray oldArray, int newValueBits)</c>
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkPackedIntArray.GetItem(System.Int32,System.Int32)">
            <summary>
            Returns the first element of <see cref="P:JetBrains.Util.DataStructures.ChunkPackedIntArray.Item(System.Int32)"/> array
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.ChunkSparseArray`1.#ctor(System.Int32)">
            <summary>
            Create chunk array with pre-allocated given size
            </summary>
            <param name="initialSize"></param>
        </member>
        <member name="T:JetBrains.Util.DataStructures.HybridCollection`1">
            <summary>
            Collection which optimized to store single item without allocating array.
            The collection cannot contain <c>null</c> elements!
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.HybridCollection`1.Equals(JetBrains.Util.DataStructures.HybridCollection{`0})">
            <summary>
            IT'S NOT A STRUCTURAL EQUALITY! Only here to get rid of default struct equality
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.HybridDistinctCollection`1.Add(`0)">
            <summary>
            Adds an item into the collection if it does not exist
            </summary>
            <param name="item">Item to add</param>
            <returns>true if item added, false if it existed previously</returns>
        </member>
        <member name="T:JetBrains.Util.DataStructures.LocalChunkArray`1">
            <summary>
            This collection after moving from dotCommon lost calculation of the chunk size and became a STRUCT.
            It is used only in <see cref="T:JetBrains.Util.DataStructures.ChunkHashMap`2"/> and <see cref="T:JetBrains.Util.DataStructures.ChunkHashSet`1"/> which do not have any tests.
            Please do not make it public and do not use it in the any new code, use normal <see cref="T:JetBrains.Util.DataStructures.ChunkArray`1"/> instead.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.LocalChunkArray`1.#ctor(System.Int32,System.Int32)">
            <summary>
            Creates array that can exceed 2Gb per object limit of .NET
            </summary>
            <param name="length">The length of the array</param>
            <param name="chunkLength">The length of the one chunk. Must be pow of 2</param>
        </member>
        <member name="M:JetBrains.Util.DataStructures.LocalChunkArray`1.#ctor(System.Int32)">
            <summary>
            Creates array with guarantee that data will not be allocated in LOH
            </summary>
            <param name="length">The count of array elements</param>
        </member>
        <member name="M:JetBrains.Util.DataStructures.RegistrySettingsTable.Load(System.Action{System.Version})">
            <summary>
            Returns false if the expected key does not exist in the registry
            or exceprion is thrown
            </summary>
        </member>
        <member name="T:JetBrains.Util.DataStructures.UncheckedPackedIntArray">
            <summary>
            Presents <c>uint[]</c> (this) packed into another <c>uint[]</c> (myData). <c>valueBits</c> parameter for each method denotes size in bits of one element of 'this'
            Can be much or less than '32' bits, which is the size of myData element. No range checks are performed.
            
            To take <c>i</c>-th element of 'this', invoke <c>GetItem(i, valueBits, 0)</c>. You can also use <c>this[ith]</c> to get/set values with array of one element (in case
            of <c>valueBits</c> less than '32'.
            
            One can increase or reduce size of elem by invocation of <c>IncreaseValueBits(UncheckedPackedIntArray oldArray, int length, int oldValueBits, int newValueBits)</c>
            </summary>
        </member>
        <member name="M:JetBrains.Util.DataStructures.UncheckedPackedIntArray.GetItem(System.Int32,System.Int32,System.Int32)">
            <summary>
            Calculates this[iSubItem]
            </summary>
        </member>
        <member name="T:JetBrains.Util.Comparator`1">
            <summary>
            A delegate for a <see cref="M:System.Collections.Generic.IComparer`1.Compare(`0,`0)"/>-like method.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ListUtil.SubtractSortedInplace``1(System.Collections.Generic.List{``0},System.Collections.Generic.List{``0})">
            <summary>
            Subtracts the <paramref name="subtrahend"/> from the <paramref name="minuend"/>, the difference is written into the <see cref="!:minuend"/>, inplace, so that the original list is destoryed.
            </summary>
            <returns>The difference, in the <paramref name="minuend"/> instance.</returns>
        </member>
        <member name="P:JetBrains.Util.QualifiedNamesTrieBase`2.ITrieNode.ChildrenUnsafe">
            return interator from internal storage. Trie cannot be modified while enumerating
        </member>
        <member name="P:JetBrains.Util.RecentItemsList`1.Items">
            <summary>
            Returns snapshot of the stored items. 
            </summary>
        </member>
        <member name="T:JetBrains.Util.DevEnv.Debugger.IDebuggerHostApi">
            <summary>
            Shared API to the <see cref="!:DebuggerHostServer"/>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.IDebuggerHostApi.AttachToProcess(System.UInt32)">
            <summary>
            Instructs the debugger to attach to the process with the PID <paramref name="pid"/>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.IDebuggerHostApi.AttachToRemoteProcess(System.String,System.UInt32)">
            <summary>
            Instructs the debugger to attach to the process with the PID <paramref name="pid"/> on machine <paramref name="remoteAddr"/>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.IDebuggerHostApi.DetachAll">
            <summary>
            Instructs the debugger to detach from all the debuggee processes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.VsDebuggerHostClient.AttachDebugger(System.Diagnostics.Process,System.Diagnostics.Process)">
            <summary>
            Instructs the remote (or local) <see cref="!:DebuggerHostServer"/> in the <paramref name="debugger"/> process to attach to the <paramref name="debuggee"/> process.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.VsDebuggerHostClient.AttachDebuggerRemote(System.Diagnostics.Process,System.Diagnostics.Process,System.String)">
            <summary>
            Instructs the remote (or local) <see cref="!:DebuggerHostServer"/> in the <paramref name="debugger"/> process to attach to the <paramref name="debuggee"/> process.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.VsDebuggerHostClient.DetachAll(System.Diagnostics.Process)">
            <summary>
            Instructs the remote (or local) <see cref="!:DebuggerHostServer"/> in the <paramref name="debugger"/> process to detach from all the debuggee processes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.Debugger.VsDebuggerHostClient.GetRunningDebuggerHostServerInstance(System.UInt32)">
            <summary>
            Gets the API to the debugger host running in the given process as a late-bound <see cref="T:System.Object"/>.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DevEnv.DevenvHostDiscovery">
            <summary>
            Shares some Devenv discovery code which is also required in non-devenv-specific code, like installers and assembly resolvers.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.VisualStudioRegistryPathNoHive">
            <summary>
            Gets the version-independent Registry Visuyal Studio path prefix.
            Currently, <c>"Software\Microsoft\VisualStudio"</c>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.VsOutOfGacAssemblyFoldersUnderInstalldir">
            <summary>
            The subfolders under VS InstallDir which might contain those DLLs previously in the GAC which are now side-by-side shipped within VS 15+ without a global registration.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.VsClassicVersionsWhiteList">
            <summary>
            This skips VS6 which is still found in the wild(!) [RSRP-462081] and would be useless on our discovered VSes list.
            This skips VS13 which has never been released and 14 goes after 12
            This skips classic VS15 that's obsolete.
            This skips VS15 when VS discovering is called inside the process with loaded registry detour hive.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVs">
            <summary>
            Enumerates Visual Studio versions found installed on this machine. This should include side-by-side installations of the new VSes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVs(JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsFlags)">
            <summary>
            Enumerates Visual Studio versions found installed on this machine. This should include side-by-side installations of the new VSes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetMsEnvDllPath">
            <summary>
            Knowing that VS environment is based on <c>msenv.dll</c>, gets the path of the loaded module.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetVsRegistryPath(JetBrains.Util.DevEnv.VsHive)">
            <summary>
            Gets the Visual Studio registry path prefix for a specific Registry hive.
            Example: <c>“Software\Microsoft\VisualStudio\8.0ReSharper”</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetVsRegistryConfigPath(JetBrains.Util.DevEnv.VsHive)">
            <summary>
            Gets the Visual Studio registry path prefix for a specific registry config hive.
            Example: <c>“Software\Microsoft\VisualStudio\14.0ReSharper_Config”</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetVsAppDataPath(System.Environment.SpecialFolder,JetBrains.Util.DevEnv.VsHive)">
            <summary>
            Gets the path to the Visual Studio local/roaming/common appdata folder for the given VS Hive.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetVsAppDataRootPath(System.Environment.SpecialFolder)">
            <summary>
            Gets the root path to the Visual Studio local/roaming/common appdata folder.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetVsInstallDir(JetBrains.Util.DevEnv.VsHive,JetBrains.Util.OnError)">
            <summary>
            Retrieves the Devenv InstallDir for the specific hive.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetVsInstallDirFromRegistryRaw(JetBrains.Util.BackSlashSeparatedRelativePath,JetBrains.Util.OnError)">
            <summary>
            Reads the Registry Hive at the supplied Registry path to read the InstallDir.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetRegistryHiveDetourFileForVs15(JetBrains.Util.DevEnv.VsHive)">
            <summary>
            Return the path to the "privateregistry.bin" file.
            </summary>
            <returns>
            If the VS does not use regsitry detouring, returns an empty path.
            If the file exists, returns the file.
            If the file does not exist, tries to guess its name.
            </returns>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.TryGetVsVersionFromDllVersion">
            <summary>
            As recommended by MSFT, tries to get the full 4-component VS version from fileversion of <c>msenv.dll</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.IsSinceVs15DiscoveryAvailable">
            <summary>
            Determine whether we are able to discover VS15+ instances.
            </summary>
            <returns>S_OK discovery available; S_FALSE VS15+ not installed; E_ACCESSDENIED elevation probably required; or another error code.</returns>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsCore(JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsFlags,JetBrains.Util.OnError)">
            <summary>
            Enumerates Visual Studio versions installed on this machine. This should include side-by-side installations of the new VSes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.DevenvHostDiscovery.GetInstalledVs15Lightweight_Build_2016_07_07(JetBrains.Util.OnError)">
            <summary>
            VS 15 lt Preview 3 on 2016-07-07.
            </summary>
            <param name="onerror"></param>
            <returns></returns>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsFlags.AddInstalledPackages">
            <summary>
            Fills the <see cref="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.PackagesIfKnown" /> list for those VS versions which expose this information.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsFlags.AddExtendedInfoSinceVs15">
            <summary>
            Get VS15+ extended info: preview, nickname
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsFlags.IncludeAllInstancesSinceVs15">
            <summary>
            Include non-VS instances (e.g. Microsoft.VisualStudio.Product.BuildTools, Microsoft.VisualStudio.Product.TestProfessional).
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.Version4">
            <summary>
            The full 4-component VS version, which does not correspond to the hive name anymore even in the first components (e.g. 15.7.x.y is hive 15.0), for the hive version look into <see cref="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.Hive"/>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.DisplayNameLong">
            <summary>
            The long display name for descriptions and tooltips.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.DisplayNameShort">
            <summary>
            The short display name for list items.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.Hive">
            <summary>
            The VS Hive, which consists of a two-component version and optional instance id and root suffix.
            This is enough for identifying the VS instance in most of the cases.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.InstallDir">
            <summary>
            InstallDir of VS, which is the directory with <c>devenv.exe</c>, <c>$(InstallRoot)/Common7/IDE</c>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.PackagesIfKnown">
            <summary>
            Gets the list of VS packages. <c>NULL</c> if not known. Empty if known to be empty.
            This info is only available for VS 15 RC and later, and if the <see cref="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.EnumInstalledVsFlags.AddInstalledPackages" /> were specified.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.IsIncomplete">
            <summary>
            VS installation is incomplete. Applicable to VS 2017+ only.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.IsPreview">
            <summary>
            channelId contains "Preview" substring (examples of channels: "VisualStudio.15.Preview", "VisualStudio.15.Release")
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.Nickname">
            <summary>
            VS15+ instance nickname given by the user at the installation.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.ProductRootDir">
            <summary>
            The path to the installation root of the product.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.DisplayVersion">
            <summary>
            VS15+ display version. E.g. Version4="15.7.27703.2000" is "15.7.1".
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVs.State">
            <summary>
            VS15+ state of the VS instance.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.Id">
            <summary>
            General package identifier.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.RawVersion">
            <summary>
            Package version. Have not bothered to parse the format yet.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.Type">
            <summary>
            Package type, see <see cref="T:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.WellKnownTypes" /> for reference.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.UniqueId">
            <summary>
            Unique package identifier (consisting of all defined tokens).
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.WellKnownTypes.Product">
            <summary>
            Should be the only Product component, identifies the installation itself.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.DevenvHostDiscovery.InstalledVsPackage.WellKnownTypes.Workload">
            <summary>
            Workloads are big buttons in the installer to select the roles.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DevEnv.DevenvHostDiscovery.VsSetupConfigurationInterop">
            <summary>
            Calls into the VS Setup Configuration COM Object, if present on this machine.
            This should serve VS instances starting with VS15 RC.
            Brought into a separate class to help with containing possible JIT-time exceptions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.EnvDteUtil.GetRunningDteInstances">
            <summary>
            Get the map of VS process ids to DTE objects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.EnvDteUtil.ExecuteCommandWithBestDte(System.String)">
            <summary>
            Try to find the "best" VS DTE object and execute the command with it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.EnvDteUtil.ExecuteDteCommand(System.Object,System.String,System.String)">
            <summary>
            Try to execute a VS command using DTE object.
            </summary>
            <param name="dte">_DTE object. We cannot reference envdte.dll here, so we use dynamic.</param>
            <param name="command">VS command name.</param>
            <param name="args">Command arguments.</param>
            <returns>True if there was no exception. It does not mean that the command is executed, because it could be not available at the moment.</returns>
        </member>
        <member name="M:JetBrains.Util.DevEnv.IVsEnvironmentInformation.GetVsRegistryKey(JetBrains.Util.BackSlashSeparatedRelativePath)">
            <summary>
            Gets the Registry key path to the given subkey in the current VS Registry Hive.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.IVsEnvironmentInformation.GetVsAppDataPath(System.Environment.SpecialFolder)">
            <summary>
            Gets the path to the Visual Studio local/roaming/common appdata folder for the given VS Hive.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation">
            <summary>
            Provides info on the VS environment.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.DevEnvInstallDir">
            <summary>
            InstallDir of the current VS version.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.VsHive">
            <summary>
            Gets the VS Hive that consists of the VS Version, VS RootSuffix and (since VS15) VS Instance Id.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.VsVersion2">
            <summary>
            Gets the version of the Visual Studio we're running under, two components only, <c>Major.Minor</c>. Example: “8.0”.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.VsVersion4">
            <summary>
            Gets the version of the Visual Studio we're running under, the full 4-component thing. Example: “9.0.30729.1”.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.VsDisplayNameLong">
            <summary>
            The long display name for descriptions and tooltips.
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.VsDisplayVersion">
            <summary>
            The long display version for descriptions and tooltips, e.g. "16.11.0 Preview 1.0".
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.IsPreview">
            <summary>
            This is an instance of "Visual Studio Preview" (since VS15).
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.IVsEnvironmentStaticInformation.VisualStudioGlobalRegistryPath">
            <summary>
            Gets the Visual Studio registry path prefix for a specific Registry hive.
            Example: <c>“Software\Microsoft\VisualStudio\8.0Receptor”</c>.
            Note: this path is not redirected to the local hive of the current Visual Studio running instance.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DevEnv.VsEnvironmentInformationEmulated">
            <summary>
            Main implementation of <see cref="T:JetBrains.Util.DevEnv.IVsEnvironmentInformation" /> is VsEnvironmentInformation which relies on information from a live Visual Studio instance to function.
            If you'd like to emulate this behavior outside Visual Studio (e.g. to get vs-version-specific product settings location), create an instance of this object on explicitly-supplied parameters.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.VsEnvironmentInformationEmulated.#ctor(JetBrains.Util.DevEnv.VsHive,System.Boolean)">
            <summary>
            Supplies manual info about VS environment.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DevEnv.VsHive">
            <summary>
            A hive, e.g. in Visual Studio, is a two-component version number, plus an optional string for the root suffix.
            Starting VS15 it also contains the instance id.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DevEnv.VsHive.Version">
            <summary>
              <para>Visual Studio technical version.</para>
              <para>NOTE that its minor component is almost always zero (the only known exception is <c>v7.1</c>), even though the marketing version might have nonzero minors which do not take part in any folder or Registry composition.</para>
              <para>For example, for VS17 its technical version is always <c>v17.0</c>, while they've been marketed as <c>17.1</c>, <c>17.2</c>, …, <c>17.12</c> and still counting.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.DevEnv.VsHive.HiveString">
            <summary>
            Gets the canonical textual representation of the hive.
            Example: "15.0_a0848a47Exp", where VS version = "15.0", Instance Id = "a0848a47", Root Suffix = "Exp".
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.VsHive.NewWithRootSuffix(System.String)">
            <summary>
            Create a new hive with another root suffix.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.VsHive.Parse(System.String)">
            <summary>
            Parse the VS hive string, throw an exception if failed.
            </summary>
        </member>
        <member name="M:JetBrains.Util.DevEnv.VsHive.TryParse(System.String)">
            <summary>
            Try to parse the VS hive string.
            We assume that hive string is <c>{Version}[_{InstanceId}]{RootSuffix}</c>.
            </summary>
            <returns>
            If hive is parsed successfully, pair.First is the VS hive. Otherwise pair.First is null, and pair.Second is the error message.
            </returns>
        </member>
        <member name="M:JetBrains.Util.DevEnv.VsHive.FromVersionAndHive(JetBrains.Util.Version2,System.String)">
            <summary>
            Used for backward compatibility. HostInfo and Installer store hive strings withot VS version number.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Diagnostics.TimelineAPI.EventBegin(System.String,System.Object,System.String,JetBrains.Util.Media.JetRgbaColor)">
            <summary><inheritdoc cref="!:EventBegin(string,string,uint)"/></summary>
            <param name="idFormat">Identity of an event. Defines a call tree node name. Can be customized by <paramref name="idArg"/> </param>
            <param name="idArg">Optional arg for <paramref name="idFormat"/> customizing</param>
            <param name="description"><inheritdoc cref="!:EventBegin(string,string,uint)" path="/param[@name='description']"/></param>
            <param name="color"><inheritdoc cref="!:EventBegin(string,string,uint)" path="/param[@name='color']"/></param>
        </member>
        <member name="M:JetBrains.Util.Diagnostics.TimelineAPI.EventBegin(System.String,System.Object,System.Object,System.String,JetBrains.Util.Media.JetRgbaColor)">
            <summary><inheritdoc cref="!:EventBegin(string,string,uint)"/></summary>
            <param name="idFormat">Identity of an event. Defines a call tree node name. Can be customized by <paramref name="idArg1"/> and <paramref name="idArg2"/> </param>
            <param name="idArg1">Optional arg for <paramref name="idFormat"/> customizing</param>
            <param name="idArg2">Optional arg for <paramref name="idFormat"/> customizing</param>
            <param name="description"><inheritdoc cref="!:EventBegin(string,string,uint)" path="/param[@name='description']"/></param>
            <param name="color"><inheritdoc cref="!:EventBegin(string,string,uint)" path="/param[@name='color']"/></param>
        </member>
        <member name="M:JetBrains.Util.Diagnostics.TimelineAPI.EventBegin(System.String,System.String,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Writes a "begin event" to the ETW. All callstacks between "begin event" and next "end event" on one thread will be attached
            to their common ancestor.
            </summary>
            <param name="id">Identity of an event. Defines a call tree node name. </param>
            <param name="description">Description, additional info for filters and Events view. </param>
            <param name="color">Optional color. Will be displayed in filters. 0xAARRGGBB</param>
        </member>
        <member name="M:JetBrains.Util.Diagnostics.TimelineAPI.EventEnd">
            <summary>
            Writes an "end event" to the ETW. Duplicated end events are ignored by the dotTrace
            </summary>
        </member>
        <member name="T:JetBrains.Util.Diff.DiffFragment">
            <summary>
            Single frame after diffing two entities
            </summary>
        </member>
        <member name="M:JetBrains.Util.Diff.DiffFragment.#ctor(JetBrains.Util.TextRange,JetBrains.Util.TextRange,JetBrains.Util.Diff.DiffFragmentType)">
            <summary>
            Single frame after diffing two entities
            </summary>
        </member>
        <member name="T:JetBrains.Util.Diff.DiffFragmentType">
            <summary>
            Type of the single diff frame
            </summary>
        </member>
        <member name="T:JetBrains.Util.DirectoryScanner">
            <summary>
            Nant-syntax wildcard matcher on file system trees
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.IP6Address">
            <summary>
            Represents an IPv6 IP Address
            </summary>
            <remarks>
            This struct is used by various classes in
            the <see cref="!:Dns.Records"/> namespace to represent
            IPv6 addresses.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag1">
            <summary>
            IP fragment 1
            </summary>
            <remarks>
            IP fragment 1
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag2">
            <summary>
            IP fragment 2
            </summary>
            <remarks>
            IP fragment 2
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag3">
            <summary>
            IP fragment 3
            </summary>
            <remarks>
            IP fragment 3
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag4">
            <summary>
            IP fragment 4
            </summary>
            <remarks>
            IP fragment 4
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag5">
            <summary>
            IP fragment 5
            </summary>
            <remarks>
            IP fragment 5
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag6">
            <summary>
            IP fragment 6
            </summary>
            <remarks>
            IP fragment 6
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag7">
            <summary>
            IP fragment 7
            </summary>
            <remarks>
            IP fragment 7
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP6Address.IPFrag8">
            <summary>
            IP fragment 8
            </summary>
            <remarks>
            IP fragment 8
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.IP6Address.ToString">
            <summary>
            returns a string representation of the IP address v6
            </summary>
            <returns>a human readable ipv6 address</returns>
            <remarks>
            Used to display a human readable IPv6 address.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.IP4_Array">
            <summary>
            Represents an array of IP addresses
            </summary>
            <remarks>
            This struct is used by the DnsQuery API to hold the selected
            DNS servers to query.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP4_Array.AddrCount">
            <summary>
            Gets or sets the number of element in the 
            <see cref="F:JetBrains.Util.DnsAPI.IP4_Array.AddrArray"/> array.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.IP4_Array.AddrArray">
            <summary>
            Gets or sets the array of IP addresses
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsRecord">
            <summary>
            Represents a complete DNS record (DNS_RECORD)
            </summary>
            <remarks>
            This structure is used to hold a complete DNS record
            as returned from the DnsQuery API.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.Next">
            <summary>
            Gets or sets the next record.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.Name">
            <summary>
            Gets or sets the name of the record.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.RecordType">
            <summary>
            Gets or sets the type.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.DataLength">
            <summary>
            Gets or sets the data length.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsRecord.DnsRecordFlags">
            <summary>
            Represents the flags of a <see cref="T:JetBrains.Util.DnsAPI.DnsRecord"/>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.DnsRecordFlags.DW">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.DnsRecordFlags.S">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.Flags">
            <summary>
            Gets or sets the flags.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.Ttl">
            <summary>
            Gets or sets the TTL count
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecord.Reserved">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsQueryType">
            <summary>
            DNS query types
            </summary>
            <remarks>
            This enum is used by the DnsQuery API call to describe the
            options to be given to a DNS server along with a query.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.STANDARD">
            <summary>
            Standard
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.ACCEPT_TRUNCATED_RESPONSE">
            <summary>
            Accept truncated response
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.USE_TCP_ONLY">
            <summary>
            Use TCP only
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.NO_RECURSION">
            <summary>
            No recursion
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.BYPASS_CACHE">
            <summary>
            Bypass cache
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.NO_WIRE_QUERY">
            <summary>
            Cache only
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.NO_LOCAL_NAME">
            <summary>
            Directs DNS to ignore the local name.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.NO_HOSTS_FILE">
            <summary>
            Prevents the DNS query from consulting the HOSTS file.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.NO_NETBT">
            <summary>
            Prevents the DNS query from using NetBT for resolution.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.WIRE_ONLY">
            <summary>
            Directs DNS to perform a query using the network only, 
            bypassing local information.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.TREAT_AS_FQDN">
            <summary>
            Treat as FQDN
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.ALLOW_EMPTY_AUTH_RESP">
            <summary>
            Allow empty auth response
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.DONT_RESET_TTL_VALUES">
            <summary>
            Don't reset TTL values
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.RESERVED">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.CACHE_ONLY">
            <summary>
            obsolete.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryType.RETURN_MESSAGE">
            <summary>
            Directs DNS to return the entire DNS response message.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode">
            <summary>
            The possible return codes of the DNS API call. This enum can
            be used to decypher the <see cref="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode"/>
            property's return value.
            </summary>
            <remarks>
            This enum is used to describe a failed return code by the
            DnsQuery API used in the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> class.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.SUCCESS">
            <summary>
            Successful query
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.UNSPECIFIED_ERROR">
            <summary>
            Base DNS error code
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.MASK">
            <summary>
            Base DNS error code
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.FORMAT_ERROR">
            <summary>
            DNS server unable to interpret format.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.SERVER_FAILURE">
            <summary>
            DNS server failure.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NAME_ERROR">
            <summary>
            DNS name does not exist.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NOT_IMPLEMENTED">
            <summary>
            DNS request not supported by name server.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.REFUSED">
            <summary>
            DNS operation refused.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.YXDOMAIN">
            <summary>
            DNS name that ought not exist, does exist.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.YXRRSET">
            <summary>
            DNS RR set that ought not exist, does exist.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NXRRSET">
            <summary>
            DNS RR set that ought to exist, does not exist.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NOTAUTH">
            <summary>
            DNS server not authoritative for zone.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NOTZONE">
            <summary>
            DNS name in update or prereq is not in zone.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.BADSIG">
            <summary>
            DNS signature failed to verify.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.BADKEY">
            <summary>
            DNS bad key.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.BADTIME">
            <summary>
            DNS signature validity expired.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.PACKET_FMT_BASE">
            <summary>
            Packet format
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NO_RECORDS">
            <summary>
            No records found for given DNS query.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.BAD_PACKET">
            <summary>
            Bad DNS packet.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.NO_PACKET">
            <summary>
            No DNS packet.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.RCODE">
            <summary>
            DNS error, check rcode.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsQueryReturnCode.UNSECURE_PACKET">
            <summary>
            Unsecured DNS packet.
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsFreeType">
            <summary>
            Possible arguments for the DnsRecordListFree api
            </summary>
            <remarks>
            This enum is used by the DnsRecordListFree API.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsFreeType.FreeFlat">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsFreeType.FreeRecordList">
            <summary>
            Frees the record list returned by the DnsQuery API
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsException">
            <summary>
            Represents the exception that occurs when a <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/>
            fails.
            </summary>
            <remarks>
            <para>
            The exception that occurs when a DNS request fails at any level.
            </para>
            <para>
            This class is used to represent two broad types of exceptions:
            <list type="bullet">
               <item><description>Win32 API Exceptions that occurred when calling the DnsQuery API</description></item>
               <item><description>Exceptions of other types that occurred when working with
               the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
               classes.</description></item>
            </list>
            </para>
            <para>
            Win32 errors that are DNS specific are specified in the
            <see cref="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode"/> enumeration but if the 
            <see cref="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode"/> returned is not defined in that 
            enum then the number returned will be defined in WinError.h.
            </para>
            <para>
            Exceptions of other types are available through the 
            InnerException property.
            </para>
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsException.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsException"/>
            </summary>
            <remarks>
            Used to raise a <see cref="T:JetBrains.Util.DnsAPI.DnsException"/> with all the default
            properties. The message property will return: Unspecified
            DNS exception.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsException.#ctor(System.String)">
            <summary>
            Initializes a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsException"/>
            </summary>
            <param name="message">the human readable description of the problem</param>
            <remarks>
            Used to raise a <see cref="T:JetBrains.Util.DnsAPI.DnsException"/> where the only important
            information is a description about the error. The <see cref="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode"/>
            property will return 0 or SUCCESS indicating that the DNS API calls
            succeeded, regardless of whether they did or did not.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsException.#ctor(System.String,System.UInt32)">
            <summary>
            Initializes a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsException"/>
            </summary>
            <param name="message">the human readable description of the problem</param>
            <param name="errcode">the error code (<see cref="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode"/>)
            if the DnsQuery api failed</param>
            <remarks>
            Used to raise a <see cref="T:JetBrains.Util.DnsAPI.DnsException"/> where the underlying DNS
            API call fails. In this case, the <see cref="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode"/> property
            is the most important information about the exception. In most cases,
            the number returned is a value in the <see cref="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode"/>
            enum however, if it is not, the error is defined in WinError.h.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode">
            <summary>
            Gets the error code (<see cref="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode"/>)
            if the DnsQuery api failed. Will be set to success (0) if the API
            didn't fail but another part of the code did.
            </summary>
            <remarks>
            Win32 errors that are DNS specific are specified in the
            <see cref="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode"/> enumeration but if the 
            <see cref="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode"/> returned is not defined in that 
            enum then the number returned will be defined in WinError.h.
            </remarks>
            <value>Value will be defined in WinError.h if not defined in the
            <see cref="T:JetBrains.Util.DnsAPI.DnsQueryReturnCode"/> enum.</value>
            <example>
            This example shows how to decypher the return of the
            ErrorCode property.
            <code>
            try
            {
               ...
            }
            catch(DnsException dnsEx)
            {
               int errcode = dnsEx.ErrorCode;
               if (! Enum.IsDefined(typeof(DnsQueryReturnCode), errcode))
               {
                 //defined in winerror.h
                 Console.WriteLine("WIN32 Error: {0}", errcode);
                 return;
               }
               
               DnsQueryReturnCode errretcode = (DnsQueryReturnCode) errcode;
               if (errretcode == DnsQueryReturnCode.SUCCESS)
               {
                 //inner exception contains the goodies
                 Console.WriteLine(dnsEx.InnerException.ToString());
                 return;
               }
               
               //dns error
               Console.WriteLine("DNS Error: {0}", errretcode.ToString("g"));
            }
            </code>
            </example>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsException"/>
            </summary>
            <param name="message">the human readable description of the 
            problem</param>
            <param name="innerException">the exception that caused the 
            underlying error</param>
            <remarks>
            Used to raise a <see cref="T:JetBrains.Util.DnsAPI.DnsException"/> where the exception is
            some other type but a typeof(DnsException) is desired to be raised
            instead. In this case, the <see cref="P:JetBrains.Util.DnsAPI.DnsException.ErrorCode"/> property
            always returns 0 or SUCCESS and is a useless property.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsException"/> for <see cref="T:System.Runtime.Serialization.ISerializable"/>
            </summary>
            <param name="info">the serialization information</param>
            <param name="context">the context</param>
            <remarks>
            Used by the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsRecordType">
            <summary>
            DNS record types
            </summary>
            <remarks>
            This enum represents all possible DNS record types that
            could be returned by the DnsQuery API.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.A">
            <summary>
            Address record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.NS">
            <summary>
            Name Server record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MD">
            <summary>
            Obsolete
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MF">
            <summary>
            Obsolete
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.CNAME">
            <summary>
            Canonical Name record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.SOA">
            <summary>
            Start Of Authority record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MB">
            <summary>
            Mailbox record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MG">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MR">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.NULL">
            <summary>
            NULL data for a DNS resource record.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.WKS">
            <summary>
            Well-Known Service record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.PTR">
            <summary>
            Pointer record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.HINFO">
            <summary>
            Host Information record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MINFO">
            <summary>
            mail information (MINFO) record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MX">
            <summary>
            Mail Exchange record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.TEXT">
            <summary> 
            Text record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.RP">
            <summary>
            Responsible Person record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.AFSDB">
            <summary>
            AFS Data Base location record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.X25">
            <summary>
            X25
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.ISDN">
            <summary>
            ISDN
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.RT">
            <summary>
            Route Through
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.NSAP">
            <summary>
            Network service access point address record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.NSAPPTR">
            <summary>
            Obsolete
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.SIG">
            <summary>
            Cryptographic signature record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.KEY">
            <summary>
            Public key record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.PX">
            <summary>
            Pointer to X.400/RFC822 information record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.GPOS">
            <summary>
            Geographical position record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.AAAA">
            <summary>
            IPv6 address record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.LOC">
            <summary>
            Location record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.NXT">
            <summary>
            Next record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.SRV">
            <summary>
            Server record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.ATMA">
            <summary>
            ATM address (ATMA) record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.TKEY">
            <summary>
            TKEY resource record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.TSIG">
            <summary>
            secret key transaction authentication (TSIG) record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.IXFR">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.AXFR">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MAILB">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.MAILA">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.ALL">
            <summary>
            All records
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.ANY">
            <summary>
            Any records
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.WINS">
            <summary>
            WINS record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.WINSR">
            <summary>
            Windows Internet Name Service reverse-lookup record
            </summary>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsRecordType.NBSTAT">
            <summary>
            Windows Internet Name Service reverse-lookup record
            </summary>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsServerCollection">
            <summary>
            Represents a collection of servers by hostname or ip address.
            </summary>
            <remarks>
            Represents a collection of DNS servers that were specified as
            hostnames or ip addresses. Regardless of the way the server
            was entered, it is resolved to an <see cref="T:System.Net.IPAddress"/> object
            internally.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsServerCollection.#ctor">
            <summary>
            Creates a new instance of the collection.
            </summary>
            <remarks>
            This initializer creates an instance of the collection.
            The collection will be empty and contain 0 items.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsServerCollection.Add(System.String)">
            <summary>
            Adds a new hostname or ip address representing a DNS server
            to the collection.
            </summary>
            <param name="host">The ip address or hostname of a DNS server
            to add to the collection</param>
            <remarks>
            Adds a DNS server to the collection. The hostname or ip address
            is first resolved to one or more <see cref="T:System.Net.IPAddress"/> instances
            and then added to the collection. If a given hostname resolves
            to 10 ip addresses, those 10 addresses will be added to the collection.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsServerCollection.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:System.Net.IPAddress"/> instance found at the current
            index of the collection.
            </summary>
            <remarks>
            Gets the <see cref="T:System.Net.IPAddress"/> at the specified index of the
            collection.
            </remarks>
            <param name="idx">The index of the <see cref="T:System.Net.IPAddress"/> to 
            retrieve from the collection.</param>
            <value>The <see cref="T:System.Net.IPAddress"/> at the specified index.</value>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsWrapper">
            <summary>
            Represents a container for a DNS record of any type
            </summary>
            <remarks>
            The <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType"/> property's value
            helps determine what type real type of the 
            <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/> property returns as
            noted in this chart:
            <list type="table">
               <listheader>
                 <term>RecordType</term>
                 <description>RecordData</description>
               </listheader>
               <item>
                 <term>A</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.ARecord"/></description>
               </item>
               <item>
                 <term>CNAME</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MB</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MD</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MF</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MG</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MR</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>NS</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>PTR</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>HINFO</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TXTRecord"/></description>
               </item>
               <item>
                 <term>ISDN</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TXTRecord"/></description>
               </item>
               <item>
                 <term>X25</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TXTRecord"/></description>
               </item>
               <item>
                 <term>MINFO</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MINFORecord"/></description>
               </item>
               <item>
                 <term>RP</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MINFORecord"/></description>
               </item>
               <item>
                 <term>MX</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MXRecord"/></description>
               </item>
               <item>
                 <term>AFSDB</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MXRecord"/></description>
               </item>
               <item>
                 <term>RT</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MXRecord"/></description>
               </item>
               <item>
                 <term>NULL</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.NULLRecord"/></description>
               </item>
               <item>
                 <term>SOA</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.SOARecord"/></description>
               </item>
               <item>
                 <term>WKS</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.WKSRecord"/></description>
               </item>
               <item>
                 <term>AAAA</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.AAAARecord"/></description>
               </item>
               <item>
                 <term>ATMA</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.ATMARecord"/></description>
               </item>
               <item>
                 <term>NBSTAT</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.WINSRRecord"/></description>
               </item>
               <item>
                 <term>SRV</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.SRVRecord"/></description>
               </item>
               <item>
                 <term>TKEY</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TKEYRecord"/></description>
               </item>
               <item>
                 <term>TSIG</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TSIGRecord"/></description>
               </item>
               <item>
                 <term>WINS</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.WINSRecord"/></description>
               </item>
               <item>
                 <term>LOC</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.LOCRecord"/></description>
               </item>
               <item>
                 <term>AXFR</term>
                 <description>null</description>
               </item>
               <item>
                 <term>GPOS</term>
                 <description>null</description>
               </item>
               <item>
                 <term>IXFR</term>
                 <description>null</description>
               </item>
               <item>
                 <term>KEY</term>
                 <description>null</description>
               </item>
               <item>
                 <term>MAILA</term>
                 <description>null</description>
               </item>
               <item>
                 <term>MAILB</term>
                 <description>null</description>
               </item>
               <item>
                 <term>NSAP</term>
                 <description>null</description>
               </item>
               <item>
                 <term>NSAPPTR</term>
                 <description>null</description>
               </item>
               <item>
                 <term>NXT</term>
                 <description>null</description>
               </item>
               <item>
                 <term>PX</term>
                 <description>null</description>
               </item>
               <item>
                 <term>SIG</term>
                 <description>null</description>
               </item>
               <item>
                 <term>TEXT</term>
                 <description>null</description>
               </item>
            </list>
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType">
            <summary>
            Gets or sets the type of DNS record contained in the 
            <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/> property.
            </summary>
            <remarks>
            This property indicates the type of DNS record
            that the <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/> property is
            holding.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData">
            <summary>
            Gets or sets the DNS record object as denoted in the 
            <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType"/> field.
            </summary>
            <remarks>
            This property holds the actual DNS record.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsWrapper.Equals(JetBrains.Util.DnsAPI.DnsRecordType)">
            <summary>
            Determines whether or not this <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/>
            instance is equal to a specific <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/>
            by comparing the <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType"/> property of the
            current <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> against the 
            <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/> argument.
            </summary>
            <param name="type">The <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/> to compare to.</param>
            <returns>A boolean indicating whether or not this <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/>
            object contains a DNS record matching the entered type.</returns>
            <remarks>
            Determines if this <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> is of a specific
            <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/>. The comparison does not test the
            <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/> field.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsWrapper.Equals(System.Object)">
            <summary>
            Determines whether or not this <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> instance
            is equal to another <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> or to a 
            <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/> instance.
            </summary>
            <param name="obj">The object to compare to this instance.</param>
            <returns>A boolean indicating whether or not this <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/>
            object equals the entered object.</returns>
            <remarks>
            Determines if this <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> instance is equal to
            an object. If the object is a <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/>, the
            <see cref="M:JetBrains.Util.DnsAPI.DnsWrapper.Equals(JetBrains.Util.DnsAPI.DnsRecordType)"/> method is used to determine
            equality based on the record type. If the object is a <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/>
            object, the <see cref="M:JetBrains.Util.DnsAPI.DnsWrapper.CompareTo(System.Object)"/> method is used to determine
            equality. If the object is any other type, the <see cref="T:System.Object"/>
            class's Equal method is used for comparison.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsWrapper.GetHashCode">
            <summary>
            Serves as a hash function for a particular type, suitable 
            for use in hashing algorithms and data structures like a 
            hash table.
            </summary>
            <returns>Integer value representing the hashcode of this 
            instance of <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/>.</returns>
            <remarks>
            The GetHashCode method uses the hash codes of the <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/>
            and <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType"/> properties to generate a unique code
            for this particular record type/data combination.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsWrapper.CompareTo(System.Object)">
            <summary>
            Compares the current instance with another object of the same type.
            </summary>
            <param name="obj">The object to compare with this instance.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the 
            comparands. The return value has these meanings:
            <list type="table">
               <listheader>
                 <term>Value</term>
                 <description>Meaning</description>
               </listheader>
               <item>
                 <term>Less than zero</term>
                 <description>This instance is less than obj. The <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/>
                 types do not match.</description>
               </item>
               <item>
                 <term>Zero</term>
                 <description>This instance is equal to obj. </description>
               </item>
               <item>
                 <term>Greater than zero</term>
                 <description>This instance is greater than obj. The <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType"/>
                 do not match.</description>
               </item>
            </list>
            </returns>
            <remarks>
            Compares a <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> to this instance by its
            <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordType"/> and <see cref="F:JetBrains.Util.DnsAPI.DnsWrapper.RecordData"/> properties.
            </remarks>
            <exception cref="T:System.ArgumentException">
            obj is not the same type as this instance.
            </exception>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsWrapperCollection">
            <summary>
            Represents a collection of <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> objects.
            </summary>
            <remarks>
            The DnsWrapperCollection is a collection of <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/>
            objects. The resultant collection represents all of the DNS records
            for the given domain that was looked up. This class cannot be directly
            created - it is created by the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and
            <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> classes to hold the returned DNS
            records for the given domain.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsWrapperCollection.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> at the specified
            ordinal in the collection
            </summary>
            <remarks>
            Gets the <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> at the specified
            index of the collection.
            </remarks>
            <param name="i">The index to retrieve from the collection.</param>
            <value>The <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> at the specified index of
            the collection.</value>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsRequest">
            <summary>
            Represents one DNS request. Allows for a complete DNS record lookup 
            on a given domain using the Windows API.
            </summary>
            <remarks>
            <para>
            The DnsRequest class represents a complete DNS request for a given
            domain on a specified DNS server, including all options. The
            DnsRequest class uses the Windows API to do the query and the dlls
            used are only found on Windows 2000 or higher machines. The class
            will throw a <see cref="T:System.NotSupportedException"/> exception if run
            on an machine not capable of using the APIs that are required.
            </para>
            <para>
            Version Information
            </para>
            <para>
                 3/8/2003 v1.1 (C#) - Released on 5/31/2003
             </para>
             <para>
            Created by: Bill Gearhart. Based on code by Patrik Lundin. 
            See version 1.0 remarks below. Specific attention was given
            to the exposed interface which got a 110% overhaul.
            </para>
            <para>
            Notable changes from the previous version:
            <list type="bullet">
              <item>
                <description>
                  structs filled with constants were changed to enums
                </description>
              </item>
              <item>
                <description>
                  .net datatypes were changed to c# datatypes
                </description>
              </item>
              <item>
                <description>
                  every object is now in it's own *.cs file 
                </description>
              </item>
              <item>
                <description>
                  custom collections and exceptions added 
                </description>
              </item>
              <item>
                <description>
                  better object orientation - request and response classes 
                  created for the dns query request/response session so that 
                  it follows the .NET model
                </description>
              </item>
              <item>
                <description>
                  eliminated duplicate recs returned by an ALL query
                </description>
              </item>
              <item>
                <description>
                  bad api return code enumeration added
                </description>
              </item>
              <item>
                <description>
                  ToString() overridden to provide meaningful info for many 
                  of the dns data structs
                </description>
              </item>
              <item>
                <description>
                  documentation and notes were created for all classes
                </description>
              </item>
              <item>
                <description>
                  added check to ensure code only runs on w2k or better
                </description>
              </item>
              <item>
                <description>
                  obsolete DNS record types are now marked as such
                </description>
              </item>
              <item>
                <description>
                  newer enum values added to DnsQueryType enum
                </description>
              </item>
              <item>
                <description>
                  compiled html documentation was written which always takes
                  20 times longer than writing the code does.
                </description>
              </item>
              <item>
                <description>
                  this list of changes was compiled by your's truly...
                </description>
              </item>
              <item>
                <description>
                  smoothed out object and member names so they were more 
                  intuitive - for instance: DNS_MX_DATA became MXRecord
                </description>
              </item>
              <item>
                <description>
                  added call to DnsRecordListFree API to free resources after 
                  DnsQuery call
                </description>
              </item>
              <item>
                <description>
                  altered DnsQuery API call to allow for servers other than the 
                  local DNS server from being queried
                </description>
              </item>
            </list>
            </para>
            <para>
              4/15/2002 v1.0 (C#)
            </para>
            <para>
            Created by: Patrik Lundin
            </para>
            <para>
            Based on code found at: 
            <a href="http://www.c-sharpcorner.com/Code/2002/April/DnsResolver.asp">http://www.c-sharpcorner.com/Code/2002/April/DnsResolver.asp</a>
                
            <list type="bullet">
              <item>
                <description>
                  Initial implementation.
                </description>
              </item>
            </list>
            </para>
            </remarks>
            <example>
            Use the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> objects
            together to get DNS information for aspemporium.com from the nameserver
            where the site is hosted.
            <code>
            using System;
            using netlib.Dns;
            using netlib.Dns.Records;
            
            namespace ClassLibrary1
            {
              class __loader
              {
                static void Main()
                {
                  try
                  {
                    DnsRequest request = new DnsRequest();
                    request.TreatAsFQDN=true;
                    request.BypassCache=true;
                    request.Servers.Add("dns.compresolve.com");
                    request.Domain = "aspemporium.com";
                    DnsResponse response = request.GetResponse();
            
                    Console.WriteLine("Addresses");
                    Console.WriteLine("--------------------------");
                    foreach(ARecord addr in response.ARecords)
                      Console.WriteLine("\t{0}", addr.ToString());
                    Console.WriteLine();
            
                    Console.WriteLine("Name Servers");
                    Console.WriteLine("--------------------------");
                    foreach(PTRRecord ns in response.NSRecords)
                      Console.WriteLine("\t{0}", ns.ToString());
                    Console.WriteLine();
            
                    Console.WriteLine("Mail Exchanges");
                    Console.WriteLine("--------------------------");
                    foreach(MXRecord exchange in response.MXRecords)
                      Console.WriteLine("\t{0}", exchange.ToString());
                    Console.WriteLine();
            
                    Console.WriteLine("Canonical Names");
                    Console.WriteLine("--------------------------");
                    foreach(PTRRecord cname in response.GetRecords(DnsRecordType.CNAME))
                      Console.WriteLine("\t{0}", cname.ToString());
                    Console.WriteLine();
            
                    Console.WriteLine("Start of Authority Records");
                    Console.WriteLine("--------------------------");
                    foreach(SOARecord soa in response.GetRecords(DnsRecordType.SOA))
                      Console.WriteLine("\t{0}", soa.ToString());
                    Console.WriteLine();
            
                    //foreach(DnsWrapper wrap in response.RawRecords)
                    //{
                    //  Console.WriteLine(wrap.RecordType);
                    //}
            
                    response = null;
                    request = null;
                  }
                  catch(DnsException ex)
                  {
                    Console.WriteLine("EXCEPTION DOING DNS QUERY:");
                    Console.WriteLine("\t{0}", ((DnsQueryReturnCode) ex.ErrorCode).ToString("g"));
            
                    if (ex.InnerException != null)
                      Console.WriteLine(ex.InnerException.ToString());
                  }
                }
              }
            }
            
            </code>
            </example>
            
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsRequest.DnsQuery(System.String,JetBrains.Util.DnsAPI.DnsRecordType,JetBrains.Util.DnsAPI.DnsQueryType,System.IntPtr,System.IntPtr@,System.IntPtr)">
            <summary>
            http://msdn.microsoft.com/library/en-us/dns/dns/dnsquery.asp
            </summary>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsRequest.DnsRecordListFree(System.IntPtr,JetBrains.Util.DnsAPI.DnsFreeType)">
            <summary>
            http://msdn.microsoft.com/library/en-us/dns/dns/dnsrecordlistfree.asp
            </summary>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.Servers">
            <summary>
            Gets a collection of DNS servers to use for the current request.
            If the collection contains no items, the local DNS servers are used.
            </summary>
            <remarks>
            If the collection contains 0 <see cref="T:System.Net.IPAddress"/> references,
            the default DNS servers are used. Otherwise, servers are used in a 
            decending order from their ordinal position in the collection.
            You can add as many DNS Servers as you need to the collection by
            host name or IP address.
            </remarks>
            <value>A <see cref="T:JetBrains.Util.DnsAPI.DnsServerCollection"/> that can be used to 
            manage the DNS servers that will be used for the query.</value>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.UseTCPOnly">
            <summary>
            Gets or sets whether or not to use TCP only for the query.
            </summary>
            <value>Boolean indicating whether or not to use TCP instead of UDP for the query</value>
            <remarks>
            If set to true, the DNS query will be done via TCP rather than UDP. This
            is useful if the DNS service you are trying to reach is running on
            TCP but not on UDP.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.AcceptTruncatedResponse">
            <summary>
            Gets or sets whether or not to accept truncated results — 
            does not retry under TCP.
            </summary>
            <value>Boolean indicating whether or not to accept truncated results.</value>
            <remarks>
            Determines wherher or not the server will be re-queried in the event
            that a response was truncated.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.NoRecursion">
            <summary>
            Gets or sets whether or not to perform an iterative query
            </summary>
            <value>Boolean indicating whether or not to use recursion
            to resolve the query.</value>
            <remarks>
            Specifically directs the DNS server not to perform 
            recursive resolution to resolve the query.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.BypassCache">
            <summary>
            Gets or sets whether or not to bypass the resolver cache 
            on the lookup. This must be set to true if you specified
            a server in the <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.Servers"/> collection.
            </summary>
            <value>Boolean indicating whether or not to bypass the cache
            and use the list of servers in the <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.Servers"/>
            collection.
            </value>
            <remarks>
            Setting this to true allows you to specify one or more DNS servers
            to query instead of querying the local DNS cache and server.
            If false is set, the list of servers is ignored and the local DNS
            cache and server is used to resolve the query.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.QueryCacheOnly">
            <summary>
            Gets or sets whether or not to direct DNS to perform a 
            query on the local cache only
            </summary>
            <value>Boolean indicating whether or not to only use the
            DNS cache to resolve a query.</value>
            <remarks>
            This option allows you to query the local DNS cache only instead
            of making a DNS request over either UDP or TCP.
            This property represents the logical opposite of the
            <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.WireOnly"/> property.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.WireOnly">
            <summary>
            Gets or sets whether or not to direct DNS to perform a 
            query using the network only, bypassing local information.
            </summary>
            <value>Boolean indicating whether or not to use the
            network only instead of local information.</value>
            <remarks>
            This property represents the logical opposite of the
            <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.QueryCacheOnly"/> property.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.NoLocalName">
            <summary>
            Gets or sets whether or not to direct DNS to ignore the 
            local name.
            </summary>
            <value>Boolean indicating whether or not to ignore the local name.</value>
            <remarks>
            Determines how the DNS query handles local names.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.NoHostsFile">
            <summary>
            Gets or sets whether or not to prevent the DNS query from 
            consulting the HOSTS file.
            </summary>
            <value>Boolean indicating whether or not to deny access to
            the HOSTS file when querying.</value>
            <remarks>
            Determines how the DNS query handles accessing the HOSTS file when
            querying for DNS information.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.NoNetbt">
            <summary>
            Gets or sets whether or not to prevent the DNS query from 
            using NetBT for resolution.
            </summary>
            <value>Boolean indicating whether or not to deny access to
            NetBT during the query.</value>
            <remarks>
            Determines how the DNS query handles accessing NetBT when
            querying for DNS information.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.QueryReturnMessage">
            <summary>
            Gets or sets whether or not to direct DNS to return 
            the entire DNS response message.
            </summary>
            <value>Boolean indicating whether or not to return the entire
            response.</value>
            <remarks>
            Determines how the DNS query expects the response to be
            received from the server.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.TreatAsFQDN">
            <summary>
            Gets or sets whether or not to prevent the DNS 
            response from attaching suffixes to the submitted 
            name in a name resolution process.
            </summary>
            <value>Boolean indicating whether or not to allow
            suffix attachment during resolution.</value>
            <remarks>
            Determines how the DNS server handles suffix appending
            to the submitted name during name resolution.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.DontResetTTLValues">
            <summary>
            Gets or sets whether or not to store records 
            with the TTL corresponding to the minimum value 
            TTL from among all records
            </summary>
            <value>Boolean indicating whether or not to
            use TTL values from all records.</value>
            <remarks>
            Determines how the DNS query handles TTL values.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsRequest.Domain">
            <summary>
            Gets or sets the domain to query. The domain must be a hostname,
            not an IP address.
            </summary>
            <remarks>
            This method is expecting a hostname, not an IP address. The
            system will fail with a <see cref="T:JetBrains.Util.DnsAPI.DnsException"/> when
            <see cref="M:JetBrains.Util.DnsAPI.DnsRequest.GetResponse"/> is called if Domain is an IP address.
            </remarks>
            <value>String representing the domain that DNS information
            is desired for. This should be set to a hostname and not an
            IP Address.</value>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsRequest.#ctor">
            <summary>
            Creates a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/>
            </summary>
            <remarks>
            The <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.Domain"/> property is set to null
            and all other properties have their default value
            of false, except for <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.TreatAsFQDN"/> which has a value
            of true. The system is set to use the local DNS
            server for all queries.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsRequest.#ctor(System.String)">
            <summary>
            Creates a new instance of <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/>
            </summary>
            <remarks>
            The <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.Domain"/> property is set to the domain
            argument and all other properties have their default value
            of false, except for <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.TreatAsFQDN"/> which has a value
            of true. The system is set to use the local DNS
            server for all queries.
            </remarks>
            <param name="domain">The hostname that DNS information is desired for.
            This should not be an ip address. For example: yahoo.com</param>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsRequest.GetResponse">
            <summary>
            Queries the local DNS server for information about 
            this instance of <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and returns
            the response as a <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/>
            </summary>
            <returns>A <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> object containing the response 
            from the DNS server.</returns>
            <exception cref="T:System.NotSupportedException">
            The code is running on a machine older than Windows 2000
            </exception>
            <exception cref="T:System.ArgumentNullException">
            The <see cref="P:JetBrains.Util.DnsAPI.DnsRequest.Domain"/> property is null
            </exception>
            <exception cref="T:JetBrains.Util.DnsAPI.DnsException">
            The DNS query itself failed or parsing of the returned 
            response failed
            </exception>
            <remarks>
            Returns a <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> representing the response
            from the DNS server or one of the exceptions noted in the
            exceptions area, the most common of which is the
            <see cref="T:JetBrains.Util.DnsAPI.DnsException"/>.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.DnsResponse">
            <summary>
            Represents one DNS response. This class cannot be directly created - 
            it is returned by the <see cref="M:JetBrains.Util.DnsAPI.DnsRequest.GetResponse"/> method.
            </summary>
            <remarks>
            The DnsResponse class represents the information returned by a DNS 
            server in response to a <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/>. The DnsResponse
            class offers easy access to all of the returned DNS records for a given
            domain.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsResponse.RawRecords">
            <summary>
            Gets a <see cref="T:JetBrains.Util.DnsAPI.DnsWrapperCollection" /> containing
            all of the DNS information that the server returned about
            the queried domain.
            </summary>
            <remarks>
            Returns all of the DNS records retrieved about the domain
            as a <see cref="T:JetBrains.Util.DnsAPI.DnsWrapperCollection"/>. This property
            is wrapped by the <see cref="M:JetBrains.Util.DnsAPI.DnsResponse.GetRecords(JetBrains.Util.DnsAPI.DnsRecordType)"/> method, the
            <see cref="P:JetBrains.Util.DnsAPI.DnsResponse.ARecords"/>, <see cref="P:JetBrains.Util.DnsAPI.DnsResponse.MXRecords"/>, and
            <see cref="P:JetBrains.Util.DnsAPI.DnsResponse.NSRecords"/> properties.
            </remarks>
            <value>Gets a collection of <see cref="T:JetBrains.Util.DnsAPI.DnsWrapper"/> objects.</value>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.DnsResponse.GetRecords(JetBrains.Util.DnsAPI.DnsRecordType)">
            <summary>
            Returns a collection of DNS records of a specified
            <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/>. The collection's data type
            is determined by the type of record being sought in the
            type argument.
            </summary>
            <param name="type">A <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/> enumeration
            value indicating the type of DNS record to get from the list of
            all DNS records (available in the <see cref="P:JetBrains.Util.DnsAPI.DnsResponse.RawRecords"/>
            property.</param>
            <returns>an <see cref="T:System.Collections.ArrayList"/> of one of the types
            specified in the <see cref="!:Dns.Records"/> namespace based
            on the <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/> argument representing the
            type of DNS record desired.
            </returns>
            <remarks>
            It is recommended that you loop through the results of this
            method as follows for maximum convenience:
            <code>
            foreach (<see cref="!:Dns.Records"/> record in obj.GetRecords(<see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/>))
            {
               string s = record.ToString();
            }
            </code>
            The following table indicates the DNS record type you can expect to get
            back based on the <see cref="T:JetBrains.Util.DnsAPI.DnsRecordType"/> requested. Any items returning
            null are not currently supported.
            <list type="table">
               <listheader>
                 <term>DnsRecordType enumeration value</term>
                 <description>GetRecords() returns</description>
               </listheader>
               <item>
                 <term>A</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.ARecord"/></description>
               </item>
               <item>
                 <term>CNAME</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MB</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MD</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MF</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MG</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>MR</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>NS</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>PTR</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/></description>
               </item>
               <item>
                 <term>HINFO</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TXTRecord"/></description>
               </item>
               <item>
                 <term>ISDN</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TXTRecord"/></description>
               </item>
               <item>
                 <term>X25</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TXTRecord"/></description>
               </item>
               <item>
                 <term>MINFO</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MINFORecord"/></description>
               </item>
               <item>
                 <term>RP</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MINFORecord"/></description>
               </item>
               <item>
                 <term>MX</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MXRecord"/></description>
               </item>
               <item>
                 <term>AFSDB</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MXRecord"/></description>
               </item>
               <item>
                 <term>RT</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.MXRecord"/></description>
               </item>
               <item>
                 <term>NULL</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.NULLRecord"/></description>
               </item>
               <item>
                 <term>SOA</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.SOARecord"/></description>
               </item>
               <item>
                 <term>WKS</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.WKSRecord"/></description>
               </item>
               <item>
                 <term>AAAA</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.AAAARecord"/></description>
               </item>
               <item>
                 <term>ATMA</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.ATMARecord"/></description>
               </item>
               <item>
                 <term>NBSTAT</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.WINSRRecord"/></description>
               </item>
               <item>
                 <term>SRV</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.SRVRecord"/></description>
               </item>
               <item>
                 <term>TKEY</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TKEYRecord"/></description>
               </item>
               <item>
                 <term>TSIG</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.TSIGRecord"/></description>
               </item>
               <item>
                 <term>WINS</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.WINSRecord"/></description>
               </item>
               <item>
                 <term>LOC</term>
                 <description><see cref="T:JetBrains.Util.DnsAPI.LOCRecord"/></description>
               </item>
               <item>
                 <term>AXFR</term>
                 <description>null</description>
               </item>
               <item>
                 <term>GPOS</term>
                 <description>null</description>
               </item>
               <item>
                 <term>IXFR</term>
                 <description>null</description>
               </item>
               <item>
                 <term>KEY</term>
                 <description>null</description>
               </item>
               <item>
                 <term>MAILA</term>
                 <description>null</description>
               </item>
               <item>
                 <term>MAILB</term>
                 <description>null</description>
               </item>
               <item>
                 <term>NSAP</term>
                 <description>null</description>
               </item>
               <item>
                 <term>NSAPPTR</term>
                 <description>null</description>
               </item>
               <item>
                 <term>NXT</term>
                 <description>null</description>
               </item>
               <item>
                 <term>PX</term>
                 <description>null</description>
               </item>
               <item>
                 <term>SIG</term>
                 <description>null</description>
               </item>
               <item>
                 <term>TEXT</term>
                 <description>null</description>
               </item>
            </list>
            </remarks>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsResponse.ARecords">
            <summary>
            Gets all the <see cref="T:JetBrains.Util.DnsAPI.ARecord"/> for the queried domain.
            </summary>
            <remarks>
            Uses the <see cref="M:JetBrains.Util.DnsAPI.DnsResponse.GetRecords(JetBrains.Util.DnsAPI.DnsRecordType)"/> method to retrieve an
            array of <see cref="T:JetBrains.Util.DnsAPI.ARecord"/>s representing all the Address
            records for the domain.
            </remarks>
            <value>An array of <see cref="T:JetBrains.Util.DnsAPI.ARecord"/> objects.</value>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsResponse.MXRecords">
            <summary>
            Gets all the <see cref="T:JetBrains.Util.DnsAPI.MXRecord"/> for the queried domain.
            </summary>
            <remarks>
            Uses the <see cref="M:JetBrains.Util.DnsAPI.DnsResponse.GetRecords(JetBrains.Util.DnsAPI.DnsRecordType)"/> method to retrieve an
            array of <see cref="T:JetBrains.Util.DnsAPI.MXRecord"/>s representing all the Mail Exchanger
            records for the domain.
            </remarks>
            <value>An array of <see cref="T:JetBrains.Util.DnsAPI.MXRecord"/> objects.</value>
        </member>
        <member name="P:JetBrains.Util.DnsAPI.DnsResponse.NSRecords">
            <summary>
            Gets all the DNS name servers for the queried domain as an
            array of <see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/>s.
            </summary>
            <remarks>
            Uses the <see cref="M:JetBrains.Util.DnsAPI.DnsResponse.GetRecords(JetBrains.Util.DnsAPI.DnsRecordType)"/> method to retrieve an
            array of <see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/>s representing all the Name Server
            records for the domain.
            </remarks>
            <value>An array of <see cref="T:JetBrains.Util.DnsAPI.PTRRecord"/> objects.</value>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.WKSRecord">
            <summary>
            Represents a DNS Well Known Service record (DNS_WKS_DATA)
            </summary>
            <remarks>
            The WKSRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WKSRecord.IpAddress">
            <summary>
            Gets or sets the IP address
            </summary>
            <remarks>
            IP address, in the form of an IP4_ADDRESS structure. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WKSRecord.Protocol">
            <summary>
            Gets or sets the protocol
            </summary>
            <remarks>
            IP protocol for this record. Valid values are UDP or TCP. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WKSRecord.BitMask">
            <summary>
            Gets or sets the bitmask
            </summary>
            <remarks>
            Mask representing well known service being represented in the RR. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.WKSRecord.ToString">
            <summary>
            Returns a string representation of the service record
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            IP Address: [IPADDR] Protocol: [PROTO] BitMask: [BITMASK]
            where [IPADDR] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WKSRecord.IpAddress"/> as specified here <see cref="M:System.Net.IPAddress.ToString"/>
            and   [PROTO] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WKSRecord.Protocol"/>
            and   [BITMASK] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.WKSRecord.BitMask"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.WINSRRecord">
            <summary>
            Represents a DNS Windows Internet Name Service reverse-lookup 
            (WINSR) record (DNS_WINSR_DATA)
            </summary>
            <remarks>
            The WINSRRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRRecord.MappingFlag">
            <summary>
            Gets or sets the mapping flag
            </summary>
            <remarks>
            WINS mapping flag that specifies whether the record must be included 
            into the zone replication. It may have only two values: 0x80000000 
            and 0x00010000 corresponding to the replication and no-replication 
            (local record) flags, respectively. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRRecord.LookupTimeout">
            <summary>
            Gets or sets the lookup timeout
            </summary>
            <remarks>
            Time, in seconds, that a DNS Server attempts resolution using WINS 
            lookup. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRRecord.CacheTimeout">
            <summary>
            Gets or sets the cache timeout
            </summary>
            <remarks>
            Time, in seconds, that a DNS Server using WINS lookup may cache the 
            WINS Server's response. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRRecord.ResultDomain">
            <summary>
            Gets or sets the result domain name
            </summary>
            <remarks>
            Pointer to a string representing the domain name to append to the 
            returned NetBIOS name. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.WINSRRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            mapping flag: [FLAG] lookup timeout: [LOOKUP] cache timeout: [CACHE] result domain: [DOMAIN]
            where [FLAG] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRRecord.MappingFlag"/>
            and   [LOOKUP] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRRecord.LookupTimeout"/>
            and   [CACHE] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRRecord.CacheTimeout"/>
            and   [DOMAIN] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRRecord.ResultDomain"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.WINSRecord">
            <summary>
            Represents a DNS Windows Internet Name Service (WINS) record (DNS_WINS_DATA)
            </summary>
            <remarks>
            The WINSRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRecord.MappingFlag">
            <summary>
            Gets or sets the mapping flag
            </summary>
            <remarks>
            WINS mapping flag that specifies whether the record must be 
            included into the zone replication. It may have only two values: 
            0x80000000 and 0x00010000 corresponding to the replication and 
            no-replication (local record) flags, respectively. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRecord.LookupTimeout">
            <summary>
            Gets or sets the lookup timeout
            </summary>
            <remarks>
            Time, in seconds, that a DNS Server attempts resolution using 
            WINS lookup. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRecord.CacheTimeout">
            <summary>
            Gets or sets the cache timeout
            </summary>
            <remarks>
            Time, in seconds, that a DNS Server using WINS lookup may cache 
            the WINS Server's response. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRecord.ServerCount">
            <summary>
            Gets or sets the count of WINS servers
            </summary>
            <remarks>
            Number of WINS Servers listed in the WinsServers member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.WINSRecord.WinsServers">
            <summary>
            Gets or sets the WINS server array pointer
            </summary>
            <remarks>
            Array of WINS Servers, each of type int . 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.WINSRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            mapping flag: [FLAG] lookup timeout: [LOOKUP] cache timeout: [CACHE] server count: [SERVERCT] server ptr: [SERVERS]
            where [FLAG] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRecord.MappingFlag"/>
            and   [LOOKUP] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRecord.LookupTimeout"/>
            and   [CACHE] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRecord.CacheTimeout"/>
            and   [SERVERCT] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRecord.ServerCount"/>
            and   [SERVERS] = string representation of <see cref="F:JetBrains.Util.DnsAPI.WINSRecord.WinsServers"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.TXTRecord">
            <summary>
            Represents a DNS Text record (DNS_TXT_DATA)
            </summary>
            <remarks>
            The TXTRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TXTRecord.StringCount">
            <summary>
            Gets or sets the string count
            </summary>
            <remarks>
            Number of strings represented in pStringArray. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TXTRecord.StringArray">
            <summary>
            Gets or sets the string array
            </summary>
            <remarks>
            Array of strings representing the descriptive text of the 
            TXT resource record. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.TXTRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            string count: [COUNT] string array: [ARR]
            where [COUNT] = string representation of <see cref="F:JetBrains.Util.DnsAPI.TXTRecord.StringCount"/>
            and   [ARR] = string representation of <see cref="F:JetBrains.Util.DnsAPI.TXTRecord.StringArray"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.TSIGRecord">
            <summary>
            represents a secret key transaction authentication (TSIG) record (DNS_TSIG_DATA)
            </summary>
            <remarks>
            The TSIGRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.Algorithm">
            <summary>
            Gets or sets the name algorithm
            </summary>
            <remarks>
            Name of the key used in the domain name syntax. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.AlgorithmPacket">
            <summary>
            Gets or sets the algorithm packet
            </summary>
            <remarks>
            Pointer to the packet containing the algorithm. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.Key">
            <summary>
            Gets or sets the key
            </summary>
            <remarks>
            Pointer to the signature. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.OtherData">
            <summary>
            Gets or sets the other data
            </summary>
            <remarks>
            Pointer to other data. This member is empty unless a BADTIME error is returned.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.CreateTime">
            <summary>
            Gets or sets the create time
            </summary>
            <remarks>
            Time the key transaction authentication was created, expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.FudgeTime">
            <summary>
            Gets or sets the fudge time
            </summary>
            <remarks>
            Time, in seconds, from which the i64CreateTime may be in error. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.OriginalXid">
            <summary>
            Gets or sets the original XID
            </summary>
            <remarks>
            Original message identifier. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.Error">
            <summary>
            Gets or sets the error
            </summary>
            <remarks>
            Error, expressed in expanded RCODE that covers TSIG processing. See Remarks for more information about the TSIG resource record. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.KeyLength">
            <summary>
            Gets or sets the key length
            </summary>
            <remarks>
            Length, in bytes, of the pSignature member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.OtherLength">
            <summary>
            Gets or sets the other length
            </summary>
            <remarks>
            Length, in bytes, of the pOtherData member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.AlgNameLength">
            <summary>
            Gets or sets the algorithm length
            </summary>
            <remarks>
            Length, in bytes, of the pNameAlgorithm member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TSIGRecord.PacketPointers">
            <summary>
            Gets or sets whether or not to use packet pointers
            </summary>
            <remarks>
            Reserved for future use. 
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.TKEYRecord">
            <summary>
             Represents a DNS TKEY resource record, used to 
             establish and delete shared-secret keys between 
             a DNS resolver and server. (DNS_TKEY_DATA)
            </summary>
            <remarks>
            The TKEYRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.Algorithm">
            <summary>
            Gets or sets the name algorithm
            </summary>
            <remarks>
            Pointer to a string representing the name of the algorithm 
            used with the key. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.AlgorithmPacket">
            <summary>
            Gets or sets the algorithm packet.
            </summary>
            <remarks>
            Pointer to the packet containing the algorithm. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.Key">
            <summary>
            Gets or sets the key
            </summary>
            <remarks>
            Pointer to the key. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.OtherData">
            <summary>
            Gets or sets the other data
            </summary>
            <remarks>
            Reserved for future use. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.CreateTime">
            <summary>
            Gets or sets the create time
            </summary>
            <remarks>
            Date and time at which the key was created, expressed in seconds 
            since the beginning of January 1, 1970, Greenwich Mean Time (GMT), 
            excluding leap seconds. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.ExpireTime">
            <summary>
            Gets or sets the expire time
            </summary>
            <remarks>
            Expiration date of the key, expressed in seconds since the beginning 
            of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.Mode">
            <summary>
            Gets or sets the mode
            </summary>
            <remarks>
            Scheme used for key agreement or the purpose of the TKEY DNS Message. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.Error">
            <summary>
            Gets or sets the error
            </summary>
            <remarks>
            Error, expressed in expanded RCODE that covers TSIG processing and 
            TKEY processing. See Remarks. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.KeyLength">
            <summary>
            Gets or sets the key length
            </summary>
            <remarks>
            Length, in bytes, of the pSignature member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.OtherLength">
            <summary>
            Gets or sets the other length
            </summary>
            <remarks>
            Length, in bytes, of the pOtherData member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.AlgNameLength">
            <summary>
            Gets or sets the name algorithm's length
            </summary>
            <remarks>
            Length, in bytes, of the pNameAlgorithm member. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.TKEYRecord.PacketPointers">
            <summary>
            Gets or sets whether or not to use packet pointers
            </summary>
            <remarks>
            Reserved for future use. 
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.SRVRecord">
            <summary>
            Represents a DNS Server record. (DNS_SRV_DATA)
            </summary>
            <remarks>
            The SRVRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SRVRecord.NameNext">
            <summary>
            Gets or sets the name
            </summary>
            <remarks>
            Pointer to a string representing the target host. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SRVRecord.Priority">
            <summary>
            Gets or sets the priority
            </summary>
            <remarks>
            Priority of the target host specified in the owner name. Lower numbers imply higher priority. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SRVRecord.Weight">
            <summary>
            Gets or sets the weight
            </summary>
            <remarks>
            Weight of the target host. Useful when selecting among hosts with the same priority. The chances of using this host should be proportional to its weight. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SRVRecord.Port">
            <summary>
            Gets or sets the port
            </summary>
            <remarks>
            Port used on the target host for the service. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SRVRecord.Pad">
            <summary>
            Reserved.
            </summary>
            <remarks>
            Reserved. Used to keep pointers DWORD aligned. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.SRVRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            name next: [SERVER] priority: [PRIOR] weight: [WEIGHT] port: [PORT]
            where [SERVER] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SRVRecord.NameNext"/>
            and   [PRIOR] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SRVRecord.Priority"/>
            and   [WEIGHT] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SRVRecord.Weight"/>
            and   [PORT] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SRVRecord.Port"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.SOARecord">
            <summary>
            Represents a DNS Start Of Authority record (DNS_SOA_DATA)
            </summary>
            <remarks>
            The SOARecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.PrimaryServer">
            <summary>
            Gets or sets the primary server
            </summary>
            <remarks>
            Pointer to a string representing the name of the authoritative 
            DNS server for the zone to which the record belongs. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.Administrator">
            <summary>
            Gets or sets the name of the administrator
            </summary>
            <remarks>
            Pointer to a string representing the name of the responsible party 
            for the zone to which the record belongs. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.SerialNo">
            <summary>
            Gets or sets the serial number
            </summary>
            <remarks>
            Serial number of the SOA record. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.Refresh">
            <summary>
            Gets or sets the refresh
            </summary>
            <remarks>
            Time, in seconds, before the zone containing this record should be 
            refreshed. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.Retry">
            <summary>
            Gets or sets the retry count
            </summary>
            <remarks>
            Time, in seconds, before retrying a failed refresh of the zone to 
            which this record belongs 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.Expire">
            <summary>
            Gets or sets the expiration
            </summary>
            <remarks>
            Time, in seconds, before an unresponsive zone is no longer authoritative. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SOARecord.DefaultTtl">
            <summary>
            Gets or sets the default ttl
            </summary>
            <remarks>
            Lower limit on the time, in seconds, that a DNS server or caching 
            resolver are allowed to cache any RRs from the zone to which this 
            record belongs. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.SOARecord.ToString">
            <summary>
            Returns a string representation of the Start Of Authority record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            administrator: [ADMIN] TTL: [TTL] primary server: [SERVER] refresh: [REFRESH] retry: [RETRY] serial number: [SERIAL]
            where [ADMIN] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SOARecord.Administrator"/>
            and   [TTL] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SOARecord.DefaultTtl"/>
            and   [SERVER] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SOARecord.PrimaryServer"/>
            and   [REFRESH] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SOARecord.Refresh"/>
            and   [RETRY] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SOARecord.Retry"/>
            and   [SERIAL] = string representation of <see cref="F:JetBrains.Util.DnsAPI.SOARecord.SerialNo"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.SIGRecord">
            <summary>
            Represents a DNS Cryptographic signature record. (DNS_SIG_DATA)
            </summary>
            <remarks>
            The SIGRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.Signer">
            <summary>
            Gets or sets the signer.
            </summary>
            <remarks>
            Pointer to a string representing the name of the signer that 
            generated the record 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.TypeCovered">
            <summary>
            Gets or sets the type covered
            </summary>
            <remarks>
            Type of RR covered by the signature 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.Algorithm">
            <summary>
            Gets or sets the algorithm
            </summary>
            <remarks>
            Algorithm used with the key specified in the RR. The assigned values are shown in the following table. 
            
            <list type="table">
               <listheader>
                 <term>Value</term>
                 <description>Meaning</description>
               </listheader>
               <item>
                 <term>1</term>
                 <description>RSA/MD5 (RFC 2537)</description>
               </item>
               <item>
                 <term>2</term>
                 <description>Diffie-Hellman (RFC 2539)</description>
               </item>
               <item>
                 <term>3</term>
                 <description>DSA (RFC 2536)</description>
               </item>
               <item>
                 <term>4</term>
                 <description>Elliptic curve cryptography</description>
               </item>
            </list>
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.LabelCount">
            <summary>
            Gets or sets the label count
            </summary>
            <remarks>
            Number of labels in the original signature RR owner name. The count does not include the NULL label for the root, nor any initial wildcards. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.OriginalTtl">
            <summary>
            Gets or sets the original ttl
            </summary>
            <remarks>
            TTL value of the RR set signed by the signature RR. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.Expiration">
            <summary>
            Gets or sets the expiration
            </summary>
            <remarks>
            Expiration date, expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.TimeSigned">
            <summary>
            Gets or sets the time signed
            </summary>
            <remarks>
            Date and time at which the signature becomes valid, expressed in seconds since the beginning of January 1, 1970, Greenwich Mean Time (GMT), excluding leap seconds. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.KeyTag">
            <summary>
            Gets or sets the key tag
            </summary>
            <remarks>
            Method used to choose a key that verifies a signature. See RFC 2535, Appendix C for the method used to calculate a KeyTag.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.Pad">
            <summary>
            Reserved.
            </summary>
            <remarks>
            Reserved. Used to keep byte field aligned. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.SIGRecord.Signature">
            <summary>
            Gets or sets the signature
            </summary>
            <remarks>
            Signature, represented in base 64, formatted as defined in RFC 2535, Appendix A. 
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.PTRRecord">
            <summary>
            Represents the DNS pointer record (DNS_PTR_DATA)
            </summary>
            <remarks>
            The PTRRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.PTRRecord.HostName">
            <summary>
            Gets or sets the hostname of the record.
            </summary>
            <remarks>
            Pointer to a string representing the pointer (PTR) record data.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.PTRRecord.ToString">
            <summary>
            Returns a string representation of the pointer record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            Hostname: [HOST]
            where [HOST] = string representation of <see cref="F:JetBrains.Util.DnsAPI.PTRRecord.HostName"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.NXTRecord">
            <summary>
            Represents the DNS Next record. (DNS_NXT_DATA)
            </summary>
            <remarks>
            The NXTRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.NXTRecord.NameNext">
            <summary>
            Gets or sets the name.
            </summary>
            <remarks>
            Pointer to a string representing the name of the next domain. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.NXTRecord.TypeBitMap">
            <summary>
            Gets or sets the type bit map
            </summary>
            <remarks>
            Number of elements in the wTypes array. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.NXTRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            next: [NAME] type bitmap: [BITMAP]
            where [NAME] = string representation of <see cref="F:JetBrains.Util.DnsAPI.NXTRecord.NameNext"/>
            and   [BITMAP] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.NXTRecord.TypeBitMap"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.NULLRecord">
            <summary>
            Represents NULL data for a DNS resource record. (DNS_NULL_DATA)
            </summary>
            <remarks>
            The NULLRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.NULLRecord.ByteCount">
            <summary>
            Gets or sets the byte count.
            </summary>
            <remarks>
            Number of bytes represented in Data. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.NULLRecord.Data">
            <summary>
            Gets or sets the data.
            </summary>
            <remarks>
            Null data.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.NULLRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            byte count: [BYTECT] data: [DATA]
            where [BYTECT] = string representation of <see cref="F:JetBrains.Util.DnsAPI.NULLRecord.ByteCount"/>
            and   [DATA] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.NULLRecord.Data"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.MXRecord">
            <summary>
            Represents a DNS Mail Exchange record (DNS_MX_DATA).
            </summary>
            <remarks>
            The MXRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.MXRecord.Exchange">
            <summary>
            Gets or sets the exchange's host name
            </summary>
            <remarks>
            Pointer to a string representing the fully qualified domain name 
            (FQDN) of the host willing to act as a mail exchange. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.MXRecord.Preference">
            <summary>
            Gets or sets the preference of the exchange.
            </summary>
            <remarks>
            Preference given to this resource record among others at the same 
            owner. Lower values are preferred. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.MXRecord.Pad">
            <summary>
            Reserved.
            </summary>
            <remarks>
            Reserved. Used to keep pointers DWORD aligned. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.MXRecord.ToString">
            <summary>
            Returns a string representation of this mail exchange.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            exchange (preference): [EXCH] ([PREF])
            where [EXCH] = string representation of <see cref="F:JetBrains.Util.DnsAPI.MXRecord.Exchange"/>
            and   [PREF] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.MXRecord.Preference"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.MINFORecord">
            <summary>
            Represents a DNS mail information (MINFO) record (DNS_MINFO_DATA)
            </summary>
            <remarks>
            The MINFORecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.MINFORecord.Mailbox">
            <summary>
            Gets or sets the mailbox name
            </summary>
            <remarks>
            Pointer to a string representing the fully qualified domain name 
            (FQDN) of the mailbox responsible for the mailing list or mailbox 
            specified in the record's owner name. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.MINFORecord.ErrorsMailbox">
            <summary>
            Gets or sets the error mailbox name
            </summary>
            <remarks>
            Pointer to a string representing the FQDN of the mailbox to receive 
            error messages related to the mailing list. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.MINFORecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            mailbox: [MAILBOX] error mailbox: [ERRMAILBOX]
            where [MAILBOX] = string representation of <see cref="F:JetBrains.Util.DnsAPI.MINFORecord.Mailbox"/>
            and   [ERRMAILBOX] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.MINFORecord.ErrorsMailbox"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.LOCRecord">
            <summary>
            Represents a DNS Location record (DNS_LOC_DATA)
            </summary>
            <remarks>
            <para>
            The LOCRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </para>
            <para>
            For <see cref="F:JetBrains.Util.DnsAPI.LOCRecord.Altitude"/>, altitude above or 
            below sea level may be used as an approximation of altitude 
            relative to the [WGS 84] spheroid, however, there will be 
            differences due to the Earth's surface not being a perfect 
            spheroid. For example, the geoid (which sea level approximates) 
            for the continental US ranges from 10 meters to 50 meters below 
            the [WGS 84] spheroid. Adjustments to <see cref="F:JetBrains.Util.DnsAPI.LOCRecord.Altitude"/> 
            and/or <see cref="F:JetBrains.Util.DnsAPI.LOCRecord.VerPrec"/> will be necessary in most cases. 
            The Defense Mapping Agency publishes geoid height values relative 
            to the [WGS 84] ellipsoid.
            </para>
            <para>
            For more information about the LOC RR, see RFC 1876.
            </para>
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.Version">
            <summary>
            Gets or sets the version
            </summary>
            <remarks>
            Version number of the representation. Must be zero. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.Size">
            <summary>
            Gets or sets the size
            </summary>
            <remarks>
            Diameter of a sphere enclosing the described entity, in centimeters, 
            expressed as a pair of four-bit unsigned integers, each ranging from 
            zero to nine, with the most significant four bits representing the base 
            and the second number representing the power of ten by which to multiply 
            the base. This format allows sizes from 0e0 (&lt;1cm) to 9e9 (90,000km) 
            to be expressed. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.HorPrec">
            <summary>
            Gets or sets the horizontal precision
            </summary>
            <remarks>
            Horizontal precision of the data, in centimeters, expressed using the 
            same representation as wSize. This is the diameter of the horizontal 
            circle of error, rather than a plus or minus value. Matches the 
            interpretation of wSize; to get a plus or minus value, divide by 2. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.VerPrec">
            <summary>
            Gets or sets the vertical precision
            </summary>
            <remarks>
            Vertical precision of the data, in centimeters, expressed using the 
            same representation as wSize. This value represents the total potential 
            vertical error, rather than a plus or minus value. Matches the 
            interpretation of wSize; to get a plus or minus value, divide by 2. 
            If altitude above or below sea level is used as an approximation for 
            altitude relative to the [WGS 84] ellipsoid, the precision value should 
            be adjusted.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.Latitude">
            <summary>
            Gets or sets the latitude of the location
            </summary>
            <remarks>
            Latitude of the center of the sphere described by wSize, expressed as a 
            32-bit integer, with the most significant octet first (network standard 
            byte order), in thousandths of a second of arc. 2^31 represents the 
            equator, larger numbers are north latitude. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.Longitude">
            <summary>
            Gets or sets the longitude of the location
            </summary>
            <remarks>
            Longitude of the center of the sphere described by wSize, expressed as a 
            32-bit integer, most significant octet first (network standard byte order),
            in thousandths of a second of arc, rounded away from the prime meridian. 
            2^31 represents the prime meridian, larger numbers are east longitude.. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.LOCRecord.Altitude">
            <summary>
            Gets or sets the altitude of the location
            </summary>
            <remarks>
            Altitude of the center of the sphere described by wSize, expressed as a 
            32-bit integer, most significant octet first (network standard byte order),
            in centimeters, from a base of 100,000m below the [WGS 84] reference 
            spheroid used by GPS (semimajor axis a=6378137.0, reciprocal flattening 
            rf=298.257223563). See Remarks for more information. 
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.KEYRecord">
            <summary>
            Represents a Public key DNS record (DNS_KEY_DATA)
            </summary>
            <remarks>
            The KEYRecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.KEYRecord.Flags">
            <summary>
            Gets or sets the flags
            </summary>
            <remarks>
            Flags used to specify mapping, as described in IETF RFC 2535. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.KEYRecord.Protocol">
            <summary>
            Gets or sets the protocol
            </summary>
            <remarks>
            Protocol for which the key specified in the resource record can be used. The assigned values are shown in the following table. 
            
            <list type="table">
               <listheader>
                 <term>Value</term>
                 <description>Meaning</description>
               </listheader>
               <item>
                 <term>1</term>
                 <description>TLS</description>
               </item>
               <item>
                 <term>2</term>
                 <description>E-Mail</description>
               </item>
               <item>
                 <term>3</term>
                 <description>DNSSEC</description>
               </item>
               <item>
                 <term>4</term>
                 <description>IPSec</description>
               </item>
               <item>
                 <term>255</term>
                 <description>All protocols</description>
               </item>
            </list>
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.KEYRecord.Algorithm">
            <summary>
            Gets or sets the algorithm
            </summary>
            <remarks>
            Algorithm used with the key specified in the resource record. The assigned values are shown in the following table. 
            
            <list type="table">
               <listheader>
                 <term>Value</term>
                 <description>Meaning</description>
               </listheader>
               <item>
                 <term>1</term>
                 <description>RSA/MD5 (RFC 2537)</description>
               </item>
               <item>
                 <term>2</term>
                 <description>Diffie-Hellman (RFC 2539)</description>
               </item>
               <item>
                 <term>3</term>
                 <description>DSA (RFC 2536)</description>
               </item>
               <item>
                 <term>4</term>
                 <description>Elliptic curve cryptography</description>
               </item>
            </list>
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.KEYRecord.Key">
            <summary>
            Gets or sets the key
            </summary>
            <remarks>
            Public key, represented in base 64 as described in Appendix A of RFC 2535.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.KEYRecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            flags: [FLAGS] protocol: [PROTO] algorithm: [ALGOR] key: [KEY]
            where [FLAGS] = string representation of <see cref="F:JetBrains.Util.DnsAPI.KEYRecord.Flags"/>
            and   [PROTO] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.KEYRecord.Protocol"/>
            and   [ALGOR] = string representation of <see cref="F:JetBrains.Util.DnsAPI.KEYRecord.Algorithm"/>
            and   [KEY] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.KEYRecord.Key"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.ARecord">
            <summary>
            Represents a DNS Address record (DNS_A_DATA)
            </summary>
            <remarks>
            The ARecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.ARecord.Address">
            <summary>
            Gets or sets the ip address.
            </summary>
            <remarks>
            IPv4 address, in the form of an uint datatype. 
            <see cref="P:System.Net.IPAddress.Address"/> could be 
            used to fill this property.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.ARecord.ToString">
            <summary>
            Returns a string representation of the A Record
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            ip address: [ADDRESS]
            where [ADDRESS] = <see cref="M:System.Net.IPAddress.ToString"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.AAAARecord">
            <summary>
            Represents a IPv6 Address record (DNS_AAAA_DATA)
            </summary>
            <remarks>
            The AAAARecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.AAAARecord.Address">
            <summary>
            Gets or sets the ip6 address
            </summary>
            <remarks>
            IPv6 address, in the form of an <see cref="T:JetBrains.Util.DnsAPI.IP6Address"/> structure. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.AAAARecord.ToString">
            <summary>
            returns a string representation of this AAAA record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            Address: [ADDRESS]
            where [ADDRESS] = <see cref="M:JetBrains.Util.DnsAPI.IP6Address.ToString"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.DnsAPI.ATMARecord">
            <summary>
            Represents a DNS ATM address (ATMA) record (DNS_ATMA_DATA)
            </summary>
            <remarks>
            The ATMARecord structure is used in conjunction with 
            the <see cref="T:JetBrains.Util.DnsAPI.DnsRequest"/> and <see cref="T:JetBrains.Util.DnsAPI.DnsResponse"/> 
            classes to programmatically manage DNS entries.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.ATMARecord.AddressType">
            <summary>
            Gets or sets the address type
            </summary>
            <remarks>
            ATM address format. Two possible values are DNS_ATMA_FORMAT_E164 or DNS_ATMA_FORMAT_AESA. 
            </remarks>
        </member>
        <member name="F:JetBrains.Util.DnsAPI.ATMARecord.Address">
            <summary>
            Gets or sets the address
            </summary>
            <remarks>
            ATM address. For E164, represents a NULL-terminated string of less than DNS_ATMA_MAX_ADDR_LENGTH. For AESA, its length is exactly DNS_ATMA_AESA_ADDR_LENGTH. 
            </remarks>
        </member>
        <member name="M:JetBrains.Util.DnsAPI.ATMARecord.ToString">
            <summary>
            Returns a string representation of this record.
            </summary>
            <returns></returns>
            <remarks>
            The string returned looks like:
            <code>
            address type: [TYPE] address: [ADDRESS]
            where [TYPE] = hexadecimal representation of <see cref="F:JetBrains.Util.DnsAPI.ATMARecord.AddressType"/>
            and   [ADDRESS] = string representation of <see cref="F:JetBrains.Util.DnsAPI.ATMARecord.Address"/>
            </code>
            </remarks>
        </member>
        <member name="T:JetBrains.Util.Dotnet.Internal.SystemRuntimeVersioningBinaryCompatibility">
            <summary>
            Reports system binary compatibility readings.
            This affects generations of netfx behavior (sorting, URI escaping, etc — look for usages of the class reported here).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Dotnet.Internal.SystemRuntimeVersioningBinaryCompatibility.ReportBinaryCompatibilityFlags">
            <summary>
            Reads internal flags (if possible, shan't throw) and dumps in a structured text format. Mostly for dumping into tests for now.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Dotnet.MicrosoftDotNet.DotNetFrameworkGac.GacSubfolders20">
            <summary>
            Gets GAC subfolder names under the CLR2 GAC root dir.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Dotnet.MicrosoftDotNet.DotNetFrameworkGac.GacSubfolders40">
            <summary>
            Gets GAC subfolder names under the CLR4 GAC root dir.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Dotnet.MicrosoftDotNet.DotNetRuntimes">
            <summary>
            Windows, OS wide, .NET Frameworks installed on this machine.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Dotnet.MicrosoftDotNet.DotNetRuntimes.Instance">
            <summary>
            Current system bitness
            </summary>
        </member>
        <member name="P:JetBrains.Util.Dotnet.MicrosoftDotNet.DotNetRuntimes.Instances32">
            <summary>
            Current system when running 32 bits, Wow on 64 bits.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Dotnet.MicrosoftDotNet.ReferenceAssemblies.GetReferenceAssembliesFolder">
            <summary>
            discovers reference assemblies starting from 3.5 client profile.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Dotnet.Mono.MonoInstance">
            <summary>
            Instance of mono installation. Every mono instance is equivalent to the whole .net framework on windows.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Dotnet.TargetFrameworkIds.TargetFrameworkId">
            <summary>
            .kproj (ASP.NET 5.0 projects) may target different frameworks using different project properties and reference sets.
            The class is used to support it.
            Docs:
              https://docs.nuget.org/create/targetframeworks (general)
              https://github.com/dotnet/corefx/blob/master/Documentation/architecture/net-platform-standard.md (portable profiles)
              https://docs.microsoft.com/en-us/dotnet/articles/standard/library
              RSRP-459103 contains quite a few links and comments about it
              Xamarin/ Android: https://docs.microsoft.com/en-us/nuget/schema/target-frameworks
              netstandard: https://github.com/dotnet/standard/blob/master/docs/versions.md
            </summary>
        </member>
        <member name="F:JetBrains.Util.Dotnet.TargetFrameworkIds.TargetFrameworkId.Default">
            <summary>
            This is a temporary value used while refactoring. And now we have 300+ usages forever.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Dotnet.TargetFrameworkIds.TargetFrameworkId.AllowedToReferenceDefaultTargetFramework">
            <summary>
            DNX 4.5.1 is allowed to reference regular projects unlike all other combinations
            </summary>
        </member>
        <member name="T:JetBrains.Util.Dotnet.TargetFrameworkIds.TargetFrameworkUtil">
            <summary>
            Helper class to detect TargetFrameworkId from Roslyn project
            </summary>
        </member>
        <member name="M:JetBrains.Util.Frameworks.FrameworkDetectionUtils.TryGetDotNetFrameworkVersionString(JetBrains.Util.IInteractionContext)">
            <summary>
            Find .NET Framework version string in the registry. .NET Framework 4.5 and later.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Frameworks.FrameworkDetectionUtils.GetDotNetFrameworkReleaseNumber(JetBrains.Util.IInteractionContext)">
            <summary>
            Find .NET Framework release number in the registry. .NET Framework 4.5 and later.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Frameworks.FrameworkDetectionUtils.GetDotNetFrameworkVersionByReleaseNumber(System.UInt32)">
            <summary>
            Get .NET Framework version by release number. .NET Framework 4.5 and later.
            </summary>
            <remarks>
            See "https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed".
            </remarks>
        </member>
        <member name="T:JetBrains.Util.Frameworks.FrameworkRegistryData">
            <summary>
            Represents registry "Version" and "Release" keys that are necessary to built marketing version of .NET framework
            https://msdn.microsoft.com/en-us/library/hh925568.aspx 
            </summary>
        </member>
        <member name="P:JetBrains.Util.Frameworks.FrameworkRegistryData.Version">
            <summary>
            Raw value of "Version" registry key 
            </summary>
        </member>
        <member name="P:JetBrains.Util.Frameworks.FrameworkRegistryData.Release">
            <summary>
            Raw value of "Release" registry key
            </summary>
        </member>
        <member name="T:JetBrains.Util.EnsureWritableResult">
            <summary>
            Represents the result of an attempt to make files writable
            </summary>
        </member>
        <member name="F:JetBrains.Util.EnsureWritableResult.SUCCESS">
            <summary>
            All files were successfully made writable
            </summary>
        </member>
        <member name="F:JetBrains.Util.EnsureWritableResult.FAILURE">
            <summary>
            The attempt failed for some files
            </summary>
        </member>
        <member name="F:JetBrains.Util.EnsureWritableResult.CHANGES_DETECTED">
            <summary>
            Some files were modified as a result of the attempt to make them writable
            </summary>
        </member>
        <member name="F:JetBrains.Util.EnsureWritableResult.CANCELLED">
            <summary>
            Cancelled by user
            </summary>
        </member>
        <member name="T:JetBrains.Util.EnumPattern">
            <summary>
            Base class for all enum patterns
            </summary>
        </member>
        <member name="M:JetBrains.Util.Extension.AppDomainEx.CreateTemporaryAppDomain(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Util.Extension.AppDomainEx.JetAppDomainSetup,System.Security.Policy.Evidence)">
            <summary>
            Creates an application domain, destroys on termination of the lifetime.
            </summary>
            <param name="lifetime">Duration.</param>
            <param name="basename">Base name for the appdomain, an unique suffix would be added.</param>
            <param name="adsetup">Params, wrapped in a custom type so that this declaration could be accessible both in NetFX and NetCore.</param>
            <param name="evidence">Params.</param>
        </member>
        <member name="M:JetBrains.Util.Extension.AppDomainEx.InvokeCtorInAppdomain``1(System.AppDomain,System.Linq.Expressions.Expression{System.Func{``0}})">
            <summary>
            Calls the given ctor expression in the target appdomain, sending the given arguments.
            The argument instances cross the domain boundary according to their serialization/marshalling, safe if all of mscorlib types.
            If not for the reference you have to use in the Expression, it would have been fully isolated, meaning the same assembly does not have to be loaded into both.
            With an expression, obviously you need the type, but if you supply another path, it might be two different versions.
            If you take the code inside and call it manualy on strings and args without the help of the expression, then it would be fully isolated. Calling ctor is the only option to do so — managed APIs do not allow to call static methods without cross-loading assemblies in both appdomains, just ctors. Unfortunately, a ctor cannot return anything, assuming we cannot unwrap the object itself (and load its assembly): it ain't got any return value, and any ref/out parameters are NOT marshalled back.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Extension.AppDomainEx.WithTemporaryAppDomain(System.String,System.Action{System.AppDomain},JetBrains.Util.Extension.AppDomainEx.JetAppDomainSetup,System.Security.Policy.Evidence)">
            <summary>
            Creates an application domain, executes the action, destroys the appdomain.
            </summary>
            <param name="basename">Base name for the appdomain, an unique suffix would be added.</param>
            <param name="action">Runs arbitrary code with the new appdomain. Appdomain is destoryed when the function completes.</param>
            <param name="adsetup">Params, wrapped in a custom type so that this declaration could be accessible both in NetFX and NetCore.</param>
            <param name="evidence">Params.</param>
        </member>
        <member name="M:JetBrains.Util.Extension.JavaCompatibilityStringExtensions.ToRegistryValue(System.String)">
            Converts value string to it Windows representation.
            as a byte-encoded string.
            Encoding algorithm adds "/" character to capital letters, i.e.
            "A" is encoded as "/A". Character '\' is encoded as '//',
            '/' is encoded as  '\'.
            Then encoding scheme similar to jdk's native2ascii converter is used
            to convert java string to a byte array of ASCII characters.
        </member>
        <member name="M:JetBrains.Util.Extension.JavaCompatibilityStringExtensions.FromRegistryValue(System.String)">
            Converts value string from its Windows representation
            to java string.  See
            {@link #toWindowsValueString(String) toWindowsValueString()} for the
            description of the encoding algorithm.
        </member>
        <member name="M:JetBrains.Util.Extension.StringExtensions.WithExtraDiagForSubstring(System.Exception,System.String,System.String,System.StringComparison)">
            <summary>
            Extra diag for cases like RSRP-499395 startIndex cannot be larger than length of string. (Parameter 'startIndex')
            </summary>
            <remarks>My wild guess is that we were falling back to CurrentCulture finds when culture wasn't specified (now I'm updating this to Ordinal because mostly we use this for technical delimiters anyway, and Current has too many surprises), but the faulty code really does technical delimiters only.</remarks>
        </member>
        <member name="M:JetBrains.Util.Extension.ZipEntryEx.AsFileItem(ICSharpCode.SharpZipLib.Zip.ZipEntry,JetBrains.Lifetimes.Lifetime,ICSharpCode.SharpZipLib.Zip.ZipFile)">
            <summary>
            Represents a ZIP file entry as an immutable file item.
            You MUST NOT use the returned stream beyond the <paramref name="file" /> lifetime (pass it as the <paramref name="lifetime" /> to ensure). When used in the build system, this usually means opening zip files eternally (by GC).
            If the ZIP entry is not compressed, it's a direct view over the parent stream of the ZIP. Make sure it's immutable as well.
            If the entry is compressed, then it's lazy-decompressed up to the requested bytes. Beware that if the entry is also a nested ZIP file, then opening it would require reading the end of the file, for the dictionary.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Extension.ZipEntryEx.GetImmutableStream(ICSharpCode.SharpZipLib.Zip.ZipEntry,JetBrains.Lifetimes.Lifetime,ICSharpCode.SharpZipLib.Zip.ZipFile)">
            <summary>
            For a ZIP file entry, gets an immutable clonable stream over its body.
            You MUST NOT use the returned stream beyond the <paramref name="file" /> lifetime. When used in the build system, this usually means opening zip files eternally (by GC).
            If the ZIP entry is not compressed, it's a direct view over the parent stream of the ZIP. Make sure it's immutable as well.
            If the entry is compressed, then it's lazy-decompressed up to the requested bytes. Beware that if the entry is also a nested ZIP file, then opening it would require reading the end of the file, for the dictionary.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Extension.ZipEntryEx.GetImmutableStream(ICSharpCode.SharpZipLib.Zip.ZipEntry,JetBrains.Lifetimes.Lifetime,JetBrains.Util.dataStructures.ImmutableByteStream)">
            <inheritdoc cref="M:JetBrains.Util.Extension.ZipEntryEx.GetImmutableStream(ICSharpCode.SharpZipLib.Zip.ZipEntry,JetBrains.Lifetimes.Lifetime,ICSharpCode.SharpZipLib.Zip.ZipFile)"/>
        </member>
        <member name="M:JetBrains.Util.FEx.Return``1(System.Action{System.Func{System.Func{``0},System.Action}})">
            <summary>
            <para>Allows to pass a return value thru a void-result <see cref="T:System.Action"/>.</para>
            <para>Suppose the following piece of code that should be surrounded with some pre- and post-activity:</para>
            <code>
            int GetResult()
            {
              return 5;
            }
            </code>
            <para>If the activity is available as an <see cref="T:System.IDisposable"/>, the code is surrounded with <c>using</c> without any problem with <c>return</c> statement:</para>
            <code>
            int GetResult()
            {
              using(EnterScope())
              {
                return 5;
              }
            }
            </code>
            <para>Suppose that the surrounding activity is implemented as a function that takes an <see cref="T:System.Action"/> to execute in the scope (e.g. <see cref="M:JetBrains.Threading.ReentrancyGuard.Execute(System.String,System.Action,System.String,System.String)"/>):</para>
            <code>
            int GetResult()
            {
              ExecuteInScope(delegate
              {
                return 5;  // Compilation error
              });
            }
            </code>
            <para>This won't compile, because <c>ExecuteInScope</c> is <c>void</c> and the action that it takes to execute is also <c>void</c>.</para>
            <para>A temp local variable could be an option to use it for assignment, but it's hard to maintain in case the inner action has multiple returns against various code paths.</para>
            <para>This <see cref="M:JetBrains.Util.FEx.Return``1(System.Action{System.Func{System.Func{``0},System.Action}})"/> function wraps the <c>ExecuteInScope</c> call and gives you a functor that turns your <c>int</c>-returning inner code into a <c>void</c> action suitable for the executor:</para>
            <code>
            int GetResult()
            {
              return FEx.Return&lt;int&gt;(FR => ExecuteInScope(FR(() =>
              {
                return 5;
              })));
            }
            </code>
            </summary>
        </member>
        <member name="T:JetBrains.Util.FilePersistence.SafeFileThrowAwayAccess">
            <summary>
            Helper for reading and writing throw-away files (if the content is corrupted or there's an error reading it, it can be safely dropped and re-created (<c>False</c> result reported to caller).
            </summary>
        </member>
        <member name="T:JetBrains.Util.FolderContentCache">
            <summary>
            FolderContentCache is an utility class intended to use for folders that are 
            - never deleted
            - seldom change
            The cache should be cleared by it's creator.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Formats.AsmConfigFile.AssemblyBindingRedirections">
            <summary>
            Produces the default assembly binding redirections for a product assembly.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Formats.AsmConfigFile.Attr">
            <summary>
            Attribute names.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Formats.AsmConfigFile.Elem">
            <summary>
            Element names.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Formats.AsmConfigFile.Nsp">
            <summary>
            Namespace aliases.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Formats.AsmConfigFile.Xmlns">
            <summary>
            XML Namespaces.
            </summary>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.#ctor(System.String,System.IFormatProvider)">
            <summary>
            Constructor for TokenizerHelper which accepts an IFormatProvider.
            If the IFormatProvider is null, we use the thread's IFormatProvider info.
            We will use ',' as the list separator, unless it's the same as the
            decimal separator.  If it *is*, then we can't determine if, say, "23,5" is one
            number or two.  In this case, we will use ";" as the separator.
            </summary>
            <param name="str"> The string which will be tokenized. </param>
            <param name="formatProvider"> The IFormatProvider which controls this tokenization. </param>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.#ctor(System.String,System.Char,System.Char)">
            <summary>
            Initialize the TokenizerHelper with the string to tokenize,
            the char which represents quotes and the list separator.
            </summary>
            <param name="str"> The string to tokenize. </param>
            <param name="quoteChar"> The quote char. </param>
            <param name="separator"> The list separator. </param>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.Initialize(System.String,System.Char,System.Char)">
            <summary>
            Initialize the TokenizerHelper with the string to tokenize,
            the char which represents quotes and the list separator.
            </summary>
            <param name="str"> The string to tokenize. </param>
            <param name="quoteChar"> The quote char. </param>
            <param name="separator"> The list separator. </param>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.LastTokenRequired">
            <summary>
            Throws an exception if there is any non-whitespace left un-parsed.
            </summary>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.NextToken">
            <summary>
            Advances to the NextToken
            </summary>
            <returns>true if next token was found, false if at end of string</returns>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.NextToken(System.Boolean)">
            <summary>
            Advances to the NextToken
            </summary>
            <returns>true if next token was found, false if at end of string</returns>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.NextToken(System.Boolean,System.Char)">
            <summary>
            Advances to the NextToken.  A separator character can be specified
            which overrides the one previously set.
            </summary>
            <returns>true if next token was found, false if at end of string</returns>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.NextTokenRequired">
            <summary>
            Advances to the NextToken, throwing an exception if not present
            </summary>
            <returns>The next token found</returns>
        </member>
        <member name="M:JetBrains.Util.FormattingHelpers.TokenizerHelper.NextTokenRequired(System.Boolean)">
            <summary>
            Advances to the NextToken, throwing an exception if not present
            </summary>
            <returns>The next token found</returns>
        </member>
        <member name="M:JetBrains.Util.GcUtil.CreateSuppressGcCookie">
            <summary>
            Setting GC to LowLatency mode will force the GC to use NonConcurrent collection mode in some circumstances: RSRP-479493
            These methods are intentionally hidden to avoid such problems in future. If you are going to tweak any GC params
            please elaborate your desicion in public discussion with your team.
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.GenericIComparableCache">
            <summary>
              <para>Cached caller for generic <see cref="T:System.IComparable`1" /> interface on untyped objects.</para>
              <para>Caches call info so that not to use reflection when working on known types.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.GenericIComparableCache.ComparerHelperMethodGenericDefinition">
            <summary>
            Pre-calculated reflection object of <see cref="M:JetBrains.Util.GenericIComparableCache.InvokeCompareTo``1(System.Object,System.Object)" />, for making a delegate off it.
            </summary>
        </member>
        <member name="F:JetBrains.Util.GenericIComparableCache.myFGetComparableSpecializations">
            <summary>
            Cache fn.
            </summary>
        </member>
        <member name="F:JetBrains.Util.GenericIComparableCache.myFGetInvocation">
            <summary>
            Cache fn.
            </summary>
        </member>
        <member name="F:JetBrains.Util.GenericIComparableCache.myComparableSpecializations">
            <summary>
            Cache. Thread-static to avoid concurrency issues.
            </summary>
        </member>
        <member name="F:JetBrains.Util.GenericIComparableCache.myCompareInvocationsCache">
            <summary>
            Cache. Thread-static to avoid concurrency issues.
            </summary>
        </member>
        <member name="M:JetBrains.Util.GenericIComparableCache.TryCompare(System.Object,System.Object)">
            <summary>
              <para>Cached caller for generic <see cref="T:System.IComparable`1" /> interface on untyped objects.</para>
              <para>Caches call info so that not to use reflection when working on known types.</para>
            </summary>
            <param name="a">This is tested for <see cref="T:System.IComparable`1" /> interface.</param>
            <param name="b">This is passed into the <see cref="T:System.IComparable`1" /> of the first parameter, if matches the generic type.</param>
            <returns>NULL, if either <paramref name="a" /> does not implement <see cref="T:System.IComparable`1" />, or none of its <see cref="T:System.IComparable`1" /> can take <paramref name="b" /> as a parameter. The <see cref="M:System.IComparable`1.CompareTo(`0)" /> call result, otherwise.</returns>
        </member>
        <member name="M:JetBrains.Util.GenericIComparableCache.GetComparableSpecializations(System.Type)">
            <summary>
            Generic params of all the <see cref="T:System.IComparable`1" /> interfaces on this type.
            Cached per type per thread.
            </summary>
        </member>
        <member name="M:JetBrains.Util.GenericIComparableCache.GetInvocation(System.Type)">
            <summary>
            Creates a delegate for calling <see cref="M:System.IComparable`1.CompareTo(`0)" /> of a certain type without reflection.
            Cached per type per thread.
            </summary>
        </member>
        <member name="M:JetBrains.Util.GenericIComparableCache.InvokeCompareTo``1(System.Object,System.Object)">
            <summary>
            Helper method to lift the genericity off the <see cref="T:JetBrains.Util.GenericIComparableCache.CompareToDelegate" />, so that it could be cached and called with objects.
            </summary>
        </member>
        <member name="T:JetBrains.Util.GenericIComparableCache.CompareToDelegate">
            <summary>
            Delegate for <see cref="M:JetBrains.Util.GenericIComparableCache.InvokeCompareTo``1(System.Object,System.Object)" />.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ImmutableAttribute">
            <summary>
            Indicates that this class/property is immutable (you can't change its inner state with field assignments, setters, indexers, method calls an so on) an therefore safe for multithreaded usage.
            If certain methods of class are thread-unsafe (e.g. iterators in synchronized dictionaries), you can annotate this methods with <see cref="T:JetBrains.Util.ThreadUnsafeAttribute"/>
            </summary>
        </member>
        <member name="T:JetBrains.Util.IndexComparer`1">
            <summary>
            Compares elements by their positions in an ArrayList
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.Com.UnknownAddRef(System.Object)">
            <summary>
            Assumes the parameter is a COM object's RCW, or a managed COMable object. Does QueryInterface for IUnknown on it and returns the raw IUnknown pointer, which also adds one more reference on the object.
            </summary>
            <param name="comobj"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Interop.Com.ReleaseToken.Dispose">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Interop.DpiResolution">
            <summary>
            Specifies the DPI resolution of some device, or device-independent 96 DPI.
            </summary>
            <remarks>Being two-dimensional, resolution is not well-suited for linear comparison. But in the real world they're almost always uniform, so it's still sane to have them comparable.</remarks>
        </member>
        <member name="F:JetBrains.Util.Interop.DpiResolution.DeviceIndependent96Dpi">
            <summary>
            Gets the WPF-standard device-independent resolution of 96x96 DPI.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.DpiResolution.NotSure">
            <summary>
            Use this as a temporary placeholder when you're not sure which resolution is in effect. Such cases should be adressed later.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Interop.DpiResolution.DpiX">
            <summary>
            <para>Gets the resolution along the X-axis.</para>
            <para>Note that for an uninitialized structure this returns the device-independent DPI of 96.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Interop.DpiResolution.DpiY">
            <summary>
            <para>Gets the resolution along the X-axis.</para>
            <para>Note that for an uninitialized structure this returns the device-independent DPI of 96.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.DpiResolutionEx.FromDeviceToDeviceIndependentLength(System.Int32,System.Double)">
            <summary>
            Turns an int length into an Avalon double length, converting max-int to corresponding infinities.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.DpiResolutionEx.FromDeviceToDeviceIndependentLength(System.Double,System.Double)">
            <summary>
            Turns a float length into a double, Inf values are automatically OK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.DpiUtilObsoleteNonInteractive.GetBootTimeScreenDpi">
            <summary>
            Gets the system-wide boot-time (or logon-time) screen DPI which does not reflect dynamic and per-monitor DPI changes.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.ErrorLevelException">
            <summary>
            An exception upon the process exit code (ERRORLEVEL) indicating an error.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorIntsAndNames(System.UInt32)">
            <summary>
            Returns a string with this error level representations: hex, dec unsigned, dec signed, HRESULT names of this value, and WinError names of this value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorMessageIntsAndNames(System.Int32)">
            <inheritdoc cref="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorIntsAndNames(System.UInt32)" />
        </member>
        <member name="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorMessageIntsAndNames(JetBrains.Interop.WinApi.HResults)">
            <inheritdoc cref="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorIntsAndNames(System.UInt32)" />
        </member>
        <member name="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorMessageIntsAndNames(JetBrains.Interop.WinApi.WinError)">
            <inheritdoc cref="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorIntsAndNames(System.UInt32)" />
        </member>
        <member name="M:JetBrains.Util.Interop.ErrorLevelException.FormatErrorMessageIntsAndNames(System.UInt32)">
            <summary>
            Returns a string with this error level representations: hex, dec unsigned, dec signed, HRESULT names of this value, and WinError names of this value.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.FixedBuffer">
            <summary>
            Manages an unmanaged buffer with a fixed address in the memory.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.FixedBuffer.bInFinalizationQueue">
            <summary>
            GC can add to final-queue more than once, so track the state. 
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.FixedBuffer.#ctor">
            <summary>
            Constructs the object without any allocated memory.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.FixedBuffer.#ctor(System.Int32)">
            <summary>
            Constructs the object and allocates the desired length.
            The object must then be disposed of, to free the memory.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Interop.FixedBuffer.Address">
            <summary>
            Gets the fixed address of the allocated buffer (safe for passing into unmanaged funcs), throws if not allocated yet.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Interop.FixedBuffer.IsAllocated">
            <summary>
            Gets whether the buffer has been allocated, and its <see cref="P:JetBrains.Util.Interop.FixedBuffer.Length"/> and <see cref="P:JetBrains.Util.Interop.FixedBuffer.Address"/> properties can be accessed.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Interop.FixedBuffer.Length">
            <summary>
            Gets the length of the allocated buffer, throws if not allocated yet.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.FixedBuffer.Allocate(System.Int32)">
            <summary>
            Allocates or reallocates the buffer to fit the length specified.
            No attempts are currently made to minimize the number of resizes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.FixedBuffer.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.Util.Interop.ImportAddressTableHook">
            <summary>
            Provides for hooking into the Import Address Table (IAT) of a DLL.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.ImportAddressTableHook.IterationLimit">
            <summary>
            Limits the number or items in the list to guard off infinite loops.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.ImportAddressTableHook.Install(System.String,System.String,System.Void*,System.Delegate)">
            <summary>
            Installs an Import Address Table (IAT) hook.
            You choose a function (<paramref name="sFuncMod"/>, <paramref name="sFuncName"/>) whose entry will be replaced in the IAT of the specified module (<paramref name="hCallingMod"/>) to point to your own implementation (<see cref="!:pNewFunction"/>) instead.
            </summary>
            <param name="sFuncMod">Name of the module in which the function-to-be-hooked is defined. Example: <c>USER32.DLL</c>.</param>
            <param name="sFuncName">Name of the function to be hooked. Example: <c>SystemParametersInfoW</c>. Note that for the functions that have separate ANSI and Wide versions you must include a suffix in the function name. Must have the <c>stdcall</c> (<c>WINAPI</c>, <c>PASCAL</c>) calling convention.</param>
            <param name="hCallingMod">The module whose IAT is to be patched. Its calls to the Function will be intercepted.</param>
            <param name="pNewFunction">The new implementation to replace the Function, in view of <paramref name="hCallingMod"/>. The hook will hold a reference on the delegate. Note that it's up to you to provide the appropriate signature of the delegate, which must match the one of the Function. Pay attention to the charset and bitness issues.</param>
        </member>
        <member name="M:JetBrains.Util.Interop.ImportAddressTableHook.Install(System.String,System.String,System.String,System.Delegate)">
            <summary>
            Installs an Import Address Table (IAT) hook.
            You choose a function (<paramref name="sFuncMod"/>, <paramref name="sFuncName"/>) whose entry will be replaced in the IAT of the specified module (<paramref name="sCallingMod"/>) to point to your own implementation (<see cref="!:pNewFunction"/>) instead.
            </summary>
            <param name="sFuncMod">Name of the module in which the function-to-be-hooked is defined. Example: <c>USER32.DLL</c>.</param>
            <param name="sFuncName">Name of the function to be hooked. Example: <c>SystemParametersInfoW</c>. Note that for the functions that have separate ANSI and Wide versions you must include a suffix in the function name. Must have the <c>stdcall</c> (<c>WINAPI</c>, <c>PASCAL</c>) calling convention.</param>
            <param name="sCallingMod">The module whose IAT is to be patched. Its calls to the Function will be intercepted. Must be loadable with <c>LoadLibrary</c> (or already loaded).</param>
            <param name="pNewFunction">The new implementation to replace the Function, in view of <paramref name="sCallingMod"/>. The hook will hold a reference on the delegate. Note that it's up to you to provide the appropriate signature of the delegate, which must match the one of the Function. Pay attention to the charset and bitness issues.</param>
        </member>
        <member name="M:JetBrains.Util.Interop.ImportAddressTableHook.InstallCore(System.String,System.String,System.Void*,System.String,System.Delegate)">
            <summary>
            Impl for the <c>Install</c> family functions. <paramref name="hCallingMod"/> MUST be specified, while its name <paramref name="sCallingMod"/> is optional (for diag).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.ImportAddressTableHook.AssertNoWin32Error">
            <summary>
            Throw on GetLastError.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.ImportAddressTableHook.DelegateAddRef(System.Delegate)">
            <summary>
            Ensures the delegate would not be ever collected.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.ImportAddressTableHook.UnsafeNativeMethods">
            <summary>
            Personal declarations for the WinAPI calls.
            Not shared with WinAPI.Interop, as there're pointers where applicable instead of intptrs.
            Was written to be compatible with ANSI/Wide charsets and 32/64 bit systems.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.ImportAddressTableHook.UnsafeNativeMethods.IMAGE_THUNK_DATA">
            <summary>
            It's DWORD in 32bit and ULONGLONG in 64bit, so use void* for both.
            Yes, there's only one field unioned in there.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.NativeDll">
            <summary>
            Encapsulates a native DLL module. Use <see cref="T:JetBrains.Util.Interop.NativeDllsLoader"/> to get instances of this class.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDll.Handle">
            <summary>
            The DLL module handle.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDll.File">
            <summary>
            The absolute path to the DLL file on disk.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDll.#ctor(System.Void*,JetBrains.Util.Interop.NativeDllKey,JetBrains.Util.FileSystemPath,JetBrains.Util.Interop.IDllLoader)">
            <summary>
            Internal constructor. Used by <see cref="T:JetBrains.Util.Interop.NativeDllsLoader"/>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDll.myMethods">
            <summary>
            The table of loaded DLL entry points.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDll.ImportMethod``1(System.String)">
            <summary>
            Gets a delegate instance for the specified DLL entry point.
            </summary>
            <typeparam name="TDelegate">The delegate type a DLL entry point to be converted to.</typeparam>
            <param name="methodName">The name of a DLL entry point.</param>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDll.GetFunctionPointer(System.String)">
            <summary>
            Returns a function pointer for the specified DLL entry point.
            The result can be used to create C# 9.0+ "Function Pointer".
            See https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-9.0/function-pointers
            </summary>
            <param name="methodName">The name of a DLL entry point.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDll.CreateComObject(System.Guid)">
            <summary>
            Creates an instance of a COM object without the Registry information, by invoking its class factory.
            </summary>
            <param name="guidClsid">CLSID of the object to create.</param>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDll.CreateComObject``1">
            <summary>
            Creates an instance of a COM object without the Registry information, by invoking its class factory.
            </summary>
            <typeparam name="TType">The type of the object to create.</typeparam>
        </member>
        <member name="T:JetBrains.Util.Interop.NativeDll.DllGetClassObjectDelegate">
            <summary>
            A delegate for the DllGetClassObject function.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.NativeDll.ComObject">
            <summary>
            A wrapper for an instance of a COM object created by <see cref="M:JetBrains.Util.Interop.NativeDll.CreateComObject(System.Guid)"/>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDll.ComObject.Instance">
            <summary>
            The instance of a COM object.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDll.ComObject.CLSID">
            <summary>
            CLSID of the object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDll.ComObject.As``1">
            <summary>
            Casts the object to the specified interface type.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.NativeDllsLoader">
            <summary>
              Helps to load and work with native DLL modules.
            </summary>
            <remarks>
              Calling <c>LoadLibrary</c> increments the reference count.
              Calling the <c>FreeLibrary</c> or <c>FreeLibraryAndExitThread</c> function decrements the reference count.
              The system unloads a module when its reference count reaches zero or when the process terminates (regardless of the
              reference count).
            </remarks>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDllsLoader.Options.None">
            <summary>
              Nothing special
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDllsLoader.Options.Debug">
            <summary>
              Debug version of dlls
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.LoadDll(JetBrains.Lifetimes.Lifetime,JetBrains.Util.RelativePath,JetBrains.Util.Interop.NativeDllsLoader.Options)">
            <summary>
              Loads the DLL module and returns an instance of <see cref="T:JetBrains.Util.Interop.NativeDll" /> class.
            </summary>
            <param name="lifetime">Lifetime.</param>
            <param name="relativePathWithoutSuffix">The name of a DLL to load.</param>
            <param name="options">See <see cref="T:JetBrains.Util.Interop.NativeDllsLoader.Options" /></param>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.LoadDll(JetBrains.Lifetimes.Lifetime,JetBrains.Util.RelativePath,JetBrains.Util.FileSystemPath,JetBrains.Util.Interop.NativeDllsLoader.Options)">
            <summary>
              Loads the DLL module and returns an instance of <see cref="T:JetBrains.Util.Interop.NativeDll" /> class.
            </summary>
            <param name="lifetime">Lifetime.</param>
            <param name="relativePathWithoutSuffix">The name of a DLL to load.</param>
            <param name="root">Root directory where native DLL are placed</param>
            <param name="options">See <see cref="T:JetBrains.Util.Interop.NativeDllsLoader.Options" /></param>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.GetDllPath(JetBrains.Util.RelativePath,System.Boolean)">
            <summary>
            NOTE: for now, only uses <see cref="F:JetBrains.Util.Interop.NativeDllsLoader.RidDiskLayoutScheme.JbGen2" />, does not check file existence.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.GetDllPath(JetBrains.Util.RelativePath,JetBrains.Util.FileSystemPath,System.Boolean)">
            <summary>
            NOTE: for now, only uses <see cref="F:JetBrains.Util.Interop.NativeDllsLoader.RidDiskLayoutScheme.JbGen2"/>, does not check file existence.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.LoadDllExact(JetBrains.Lifetimes.Lifetime,JetBrains.Util.FileSystemPath)">
            <summary>
              Loads the DLL module and returns an instance of <see cref="T:JetBrains.Util.Interop.NativeDll" /> class.
            Unlike the <see cref="M:JetBrains.Util.Interop.NativeDllsLoader.LoadDll(JetBrains.Lifetimes.Lifetime,JetBrains.Util.RelativePath,JetBrains.Util.Interop.NativeDllsLoader.Options)"/>, does not apply the DLL location and suffices logic, but expects the have the exact DLL path here.
            </summary>
            <param name="lifetime">Lifetime.</param>
            <param name="pathExact">The exact file name of a DLL to load.</param>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.GetDllDirectory(JetBrains.Util.Interop.NativeDllsLoader.FolderChoice)">
            <summary>
              Returns the full path for DLLs of the specified processor architecture ("current assembly directory"\"processor
              architecture subdirectory").
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.GetDefaultRootFolder">
            <summary>
            Root folder for per-RID subfolder lookup, in case a custom folder hasn't been specified from outside.
            TODO: consider all BinDir folders, i.e. all local install folders from all packages (example: Rider Plugins installed to additional deployed packages folders)
            This only takes the "core bindir" which would work for _most_ cases.
            Clients pass their custom folder sometimes, but actually clients DO NOT know which folder to use, they work by assumption => should try all application packages.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Interop.NativeDllsLoader.FolderChoice">
            <summary>
            The specific folder where we should be looking up the DLL (unlike <see cref="T:JetBrains.Util.Interop.NativeDllsLoader.Options" /> which are just instructions).
            </summary>
            <param name="IsDebug">
            OFF: RTM version of native Profiler DLLs, and just regular versions of everything else.
            ON: DEBUG version of native Profiler DLLs; for third-parties, would fail to find them.
            </param>
            <param name="RidScheme">
            How folder/file naming accommodates for RID.
            </param>
        </member>
        <member name="M:JetBrains.Util.Interop.NativeDllsLoader.FolderChoice.#ctor(System.Boolean,JetBrains.Util.Interop.NativeDllsLoader.RidDiskLayoutScheme)">
            <summary>
            The specific folder where we should be looking up the DLL (unlike <see cref="T:JetBrains.Util.Interop.NativeDllsLoader.Options" /> which are just instructions).
            </summary>
            <param name="IsDebug">
            OFF: RTM version of native Profiler DLLs, and just regular versions of everything else.
            ON: DEBUG version of native Profiler DLLs; for third-parties, would fail to find them.
            </param>
            <param name="RidScheme">
            How folder/file naming accommodates for RID.
            </param>
        </member>
        <member name="P:JetBrains.Util.Interop.NativeDllsLoader.FolderChoice.IsDebug">
            <summary>
            OFF: RTM version of native Profiler DLLs, and just regular versions of everything else.
            ON: DEBUG version of native Profiler DLLs; for third-parties, would fail to find them.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Interop.NativeDllsLoader.FolderChoice.RidScheme">
            <summary>
            How folder/file naming accommodates for RID.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDllsLoader.RidDiskLayoutScheme.JbGen1">
            <summary>
              Flag in {BinDir}, rid is in naming variations of the DLL file suffix.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDllsLoader.RidDiskLayoutScheme.JbGen2">
            <summary>
              JB Gen2 convention: {BinDir}/{rid[.postfix][.dbg]}
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.NativeDllsLoader.RidDiskLayoutScheme.NugetRuntimes">
            <summary>
              NuGet runtimes convention: {BinDir}/runtimes/{rid}/native
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.OsVersionUtil.GetEnvironmentOsVersionNonVirtualized">
            <summary>
            Tries to break out of virtualization which limits the observed OS version number to the compatibility setting declared in the app manifest. This method should return the true OS version whenever possible.
            </summary>
            <returns></returns>
        </member>
        <member name="F:JetBrains.Util.Interop.ShellLinkHelper.ExtensionNoDot">
            <summary>
            Shell link file extension.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Interop.ShellLinkHelper.ExtensionWithDot">
            <summary>
            Shell link file extension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Interop.ShellLinkHelper.CreateLink(JetBrains.Util.FileSystemPath,JetBrains.Util.FileSystemPath)">
            <summary>
            Creates a new Shell Link.
            </summary>
            <param name="pathLnkFile">The location of the newly-created .LNK file.</param>
            <param name="pathLinkTarget">The target this .LNK file will be pointing to.</param>
        </member>
        <member name="M:JetBrains.Util.Interop.ShellLinkHelper.ResolveLinkTarget(JetBrains.Util.FileSystemPath)">
            <summary>
            Given a path to an .LNK file, reads the target path of the shell link.
            </summary>
            <param name="pathLnk"></param>
            <returns></returns>
        </member>
        <member name="F:JetBrains.Util.IsDisposedState.Live">
            <summary>
            The object is live and running.
            </summary>
        </member>
        <member name="F:JetBrains.Util.IsDisposedState.Disposing">
            <summary>
            The object is still valid, but has entered the disposal routine. Used to prevent the <see cref="M:System.IDisposable.Dispose"/> from reentrancy.
            </summary>
        </member>
        <member name="F:JetBrains.Util.IsDisposedState.Disposed">
            <summary>
            The object has been disposed of.
            </summary>
        </member>
        <member name="M:JetBrains.Util.JetSemanticVersion.ToVersion4Lossy">
            <summary>
            Throws out all other information but for the version number.
            ACHTUNG! <see cref="T:System.Version"/> might have <c>-1</c> for components which were omitted when parsing the text version! We might want to change this behavior to real zeroes!
            </summary>
        </member>
        <member name="M:JetBrains.Util.JetSemanticVersion.ToVersion2Lossy">
            <summary>
            Throws out all other information but for the version number.
            </summary>
        </member>
        <member name="M:JetBrains.Util.JetSemanticVersion.ToVersion4Exact">
            <summary>
            For a semantic version which has only the version number, returns the version number.
            ACHTUNG! <see cref="T:System.Version"/> might have <c>-1</c> for components which were omitted when parsing the text version! We might want to change this behavior to real zeroes!
            </summary>
        </member>
        <member name="P:JetBrains.Util.JetSemanticVersion.IsVersionNumberOnly">
            <summary>
            Gets whether this semantic version has no info besides the version number.
            </summary>
        </member>
        <member name="T:JetBrains.Util.LocateFileUtil">
            <summary>
            Utility class for locating and opening files on the current operating system.
            </summary>
        </member>
        <member name="M:JetBrains.Util.LocateFileUtil.OpenFile(JetBrains.Util.FileSystemPath)">
            <summary>
            Opens the specified file using the appropriate command for the current operating system.
            </summary>
            <param name="file">The file to open.</param>
            <remarks>
            On Linux, this method will open the file using the <c>xdg-open</c> command.
            On macOS, this method will open the file using the <c>open</c> command.
            On Windows, this method will open the file using the default program associated with the file type.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.LocateFileUtil.OpenFile(System.String)">
            <summary>
            Opens the specified file using the appropriate command for the current operating system.
            </summary>
            <param name="file">The file path to open.</param>
            <remarks>
            On Linux, this method will open the file using the <c>xdg-open</c> command.
            On macOS, this method will open the file using the <c>open</c> command.
            On Windows, this method will open the file using the default program associated with the file type.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.LocateFileUtil.LocateFile(JetBrains.Util.FileSystemPath)">
            <summary>
            Opens file explorer and selects(if possible on given OS) passed file
            </summary>
        </member>
        <member name="M:JetBrains.Util.Logging.LoggingHelpers.WithLoggingProgressMessagesAsync``1(JetBrains.Lifetimes.OuterLifetime,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger,System.Func{System.Threading.Tasks.Task{``0}},System.Func{System.String})">
            <summary>
            Starts logging progress messages with <see cref="F:JetBrains.Diagnostics.LoggingLevel.INFO" /> level periodically if the activity wrapped with this method takes long enough, and issues a final message with total time only if any intermediate messages were written.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Logging.LoggingHelpers.WithLoggingProgressMessagesAsync2``1(JetBrains.Lifetimes.OuterLifetime,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger,JetBrains.Diagnostics.LoggingLevel,System.Func{System.Threading.Tasks.Task{``0}},System.Func{System.String},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
            <inheritdoc cref="M:JetBrains.Util.Logging.LoggingHelpers.WithLoggingProgressMessagesAsync3``1(JetBrains.Lifetimes.OuterLifetime,System.String,JetBrains.Util.ILogger,JetBrains.Diagnostics.LoggingLevel,System.Func{System.Threading.Tasks.Task{``0}},System.Func{System.String},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})" />
        </member>
        <member name="M:JetBrains.Util.Logging.LoggingHelpers.WithLoggingProgressMessagesAsync3``1(JetBrains.Lifetimes.OuterLifetime,System.String,JetBrains.Util.ILogger,JetBrains.Diagnostics.LoggingLevel,System.Func{System.Threading.Tasks.Task{``0}},System.Func{System.String},System.Nullable{System.TimeSpan},System.Nullable{System.TimeSpan})">
            <summary>
            Starts logging progress messages with the given logging level periodically if the activity wrapped with this method takes long enough, and issues a final message with total time only if any intermediate messages were written.
            </summary>
            <param name="lifetime">Limiting lifetime of the activity.</param>
            <param name="sTaskDisplayName">Display name for the activity, would be included within progress messages. Either all-lowercase, or All Title Case recommended, no punctuation at the end. Examples: <c>"Download Packages"</c>, <c>"source code compilation"</c>.</param>
            <param name="logger"></param>
            <param name="loglevel"></param>
            <param name="workFunc">The async payload. Progress messages will be issued while this function is executed or its task is awaited.</param>
            <param name="progressMessageExtraFunc">Optional. An extra suffix sentence for the periodical progress message, would be calculated each time we're about to report it. Might write the number of downloaded bytes and such.</param>
            <param name="timeoutFirstProgressReport">Optional. Timeout before issuing the first progress message. If the activity is faster than this, no messages would be issued at all. <see cref="F:JetBrains.Util.Storage.Packages.NugetHelpers.TimeoutFirstProgressReport" /> by default.</param>
            <param name="timeoutPeriodicProgressReport">Optional. Interval between next progress messages. <see cref="F:JetBrains.Util.Storage.Packages.NugetHelpers.TimeoutPeriodicProgressReport" /> by default.</param>
        </member>
        <member name="M:JetBrains.Util.LogUtil.GetUserFriendlyShortName(System.Object)">
            <summary>
            Generate a user friendly object name for logging. Compatible with Focus Monitor.
            </summary>
        </member>
        <member name="T:JetBrains.Util.MbButton">
            <summary>
            Buttons layout selection for the message box.
            </summary>
            <remarks>
            Note: we're not using either WinForms or Avalon constants for this thing, because they're causing conflicting namespace imports into the code that calls the message box. For instance, importing the <c>System.Windows.Forms</c> namespace in an Avalon component brings much of similarly-named constants into visibility, with the need to qualify names.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.MbIcon">
            <summary>
            Icon selection for the message box.
            </summary>
            <remarks>
            Note: we're not using either WinForms or Avalon constants for this thing, because they're causing conflicting namespace imports into the code that calls the message box. For instance, importing the <c>System.Windows.Forms</c> namespace in an Avalon component brings much of similarly-named constants into visibility, with the need to qualify names.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.Media.ColorAdjustment">
            <summary>
            Helps to adjust different color parameters in fluent way
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Shade(System.Double)">
            <summary>
            Makes brighter or darker depending on current brightness. 
            For example, in case of current color is light one, it makes darker
            </summary>
            <param name="offset">Offset</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Lighter(System.Double)">
            <summary>
            Makes color lighter
            </summary>
            <param name="offset">Offset</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Darker(System.Double)">
            <summary>
            Makes color darker
            </summary>
            <param name="offset">Offset</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Brightness(System.Double)">
            <summary>
            Changes brightness to the target one
            </summary>
            <param name="brightness">Target brightness</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Brightness(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Changes brightness to the target one
            </summary>
            <param name="brightness">Target brightness</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Lightest">
            <summary>
            Makes the most distinguishable toned lightest color.
            Note, in case of the color is currently has indistinguishable tone, it will not coerce it 
            (in other word it will try to preserve current level of 'distinguishable')
            </summary>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Darkest">
            <summary>
            Makes the most distinguishable lightest color
            Note, in case of the color is currently has indistinguishable tone, it will not coerce it 
            (in other word it will try to preserve current level of 'distinguishable')
            </summary>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Saturate(System.Double)">
            <summary>
            Makes color more saturate
            </summary>
            <param name="offset">Offset</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Desaturate(System.Double)">
            <summary>
            Desaturates color
            </summary>
            <param name="offset">Offset</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Saturation(System.Double)">
            <summary>
            Changes saturation to the target one
            </summary>
            <param name="saturation">Target saturation</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Saturation(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Changes saturation to the target one
            </summary>
            <param name="saturation">Target saturation</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Tingle(System.Double)">
            <summary>
            Changes hue 
            </summary>
            <param name="offset">Offset to hue</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Tint(System.Double)">
            <summary>
            Changes hue to the target one
            </summary>
            <param name="hue">Target hue</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Tint(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Changes hue to the target one
            </summary>
            <param name="hue">Target hue</param>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Fade(System.Double)">
            <summary>
            Multiply current alpha with the given value
            </summary>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Opacity(System.Double)">
            <summary>
            Change current opacity to the given one
            </summary>
            <returns>The same object to continue adjusting</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Accent(JetBrains.Util.Media.JetRgbaColor,System.Double)">
            <summary>
            Add accent from the given color. Technically, result color is hue &amp; saturation 
            from the accent color and brightness from the original
            </summary>
            <param name="accent"></param>
            <param name="strange">How many accented color will be in result color [0..1]</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustment.Admix(JetBrains.Util.Media.JetRgbaColor,System.Double,System.Boolean)">
            <summary>
            Blends with other color
            </summary>
            <param name="other"></param>
            <param name="strange">How many other color will be in result color [0..1]</param>
            <param name="affectAlpha">Set true to mix alpha too</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorAdjustmentExtensions.Adjust(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Gets helper to adjust different color parameters in fluent way
            </summary>
            <param name="color">Source color</param>
            <returns>ColorAdjustment</returns>
        </member>
        <member name="T:JetBrains.Util.Media.ColorManagement">
            <summary>
            Color Management routines.
            Contains a few simple static functions for working with RGB, BGR and HLS colors.
            Based in parts on ancient MSDN C++ samples (HLS-RGB conversion).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorManagement.c_nMaxHLS">
            <summary>
            Background for MaxHLS.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorManagement.MaxHLS">
            <summary>
            H, L, and S vary over 0-c_nMaxHLS.
            Best if divisible by 6.
            Must fit in a System.Byte.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorManagement.c_nMaxRGB">
            <summary>
            Background for MaxRGB.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorManagement.MaxRGB">
            <summary>
            R, G, and B vary over 0-c_nMaxRGB.
            Must fit in a <see cref="T:System.Byte"/>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorManagement.c_nUndefinedHue">
            <summary>
            Background for UndefinedHue.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorManagement.UndefinedHue">
            <summary>
            Hue is undefined if Saturation is 0 (grey-scale). This value determines where the Hue scrollbar is initially set for achromatic colors.
            Set tot 2/3 of MaxHLS by default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.RGBtoHLS(System.UInt32,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            RGBtoHLS() takes a DWORD RGB value and translates it to HLS BYTEs.
            
            A point of reference for the algorithms is Foley and Van Dam, "Fundamentals of Interactive Computer Graphics," Pages 618-19. Their algorithm is in floating point. CHART implements a less general (hardwired ranges) integral algorithm.
            
            There are potential round-off errors throughout this sample. ((0.5 + x)/y) without floating point is phrased ((x + (y/2))/y), yielding a very small round-off error. This makes many of the following divisions look strange. 
            </summary>
            <param name="lRGBColor">The source RGB color.</param>
            <param name="H">Resulting Hue value.</param>
            <param name="L">Resulting Luminance value.</param>
            <param name="S">Resulting Saturation value.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.HueToRGB(System.UInt16,System.UInt16,System.UInt16)">
            <summary>
            Utility routine for HLStoRGB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.HLStoRGB(System.UInt16,System.UInt16,System.UInt16,System.Byte@,System.Byte@,System.Byte@)">
            <summary>
            Converts an HLS color to an RGB color and returns three byte components.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.HLStoRGB(System.UInt16,System.UInt16,System.UInt16)">
            <summary>
            Converts HLS to a <see cref="T:System.Drawing.Color"/> object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.HLStoBGR(System.UInt16,System.UInt16,System.UInt16)">
            <summary>
            Works just like HLStoRGB, but reverses the return value (BGR DWORD instead of an RGB one).
            This is useful in case of Windows bitmaps which use BGR colors.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.Mix(System.UInt32,System.UInt32,System.Double)">
            <summary>
            Mixes two colors together in the proportion specified.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.Mix(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,System.Double)">
            <summary>
            Mixes two colors together in the proportion specified.
            </summary>
            <param name="colorA">First color.</param>
            <param name="colorB">Second color.</param>
            <param name="proportion">A number in between <c>0.0</c> and <c>1.0</c>.</param>
            <returns>The new color.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.RGB2BGR(System.UInt32)">
            <summary>
            Converts a DWORD RGB color to BGR, or vice versa as it's symmetrical.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.BlendTwo(System.UInt32,System.UInt32)">
            <summary>
            Mixes two colors
            Does the same as Mix but for a fixed 1:1 proportion.
            </summary>
            <param name="rgbA"></param>
            <param name="rgbB"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetAlphaBlendedColor(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,System.Int32)">
            <summary>
            Blends two colors.
            </summary>
            <param name="g">Device context to get the nearest color from. May be <c>Null</c>, in which case the exact color is returned.</param>
            <param name="src">The first color.</param>
            <param name="dest">The second color.</param>
            <param name="alpha">The alpha value in the [0…FF] range.</param>
            <returns>The blended color, constrained to the device context or not.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetRValue(System.UInt32)">
            <summary>
            Extracts the R value from the RGB color (R is less significant).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetGValue(System.UInt32)">
            <summary>
            Extracts the G value from the RGB color (R is less significant).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetBValue(System.UInt32)">
            <summary>
            Extracts the B value from the RGB color (R is less significant).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.RGB(System.Byte,System.Byte,System.Byte)">
            <summary>
            Produces an RGB color out of R, G and B values (R is less significant).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.RGBA(System.Byte,System.Byte,System.Byte,System.Byte)">
            <summary>
            Produces an RGBA color out of R, G, B, and A values (R is less significant).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.RGB(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Produces an RGB color out of R, G and B values (R is less significant).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.ConstrainHls(System.Int32)">
            <summary>
            Constrains the integer value to the range of valid HLS values.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetContrastedForeground(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,System.Double,System.Double,System.Double)">
            <summary>
            Makes contrast foreground color (tries to preserve color and make well read foreground))
            </summary>
            <param name="background">Currently used background</param>
            <param name="foreground">Currently used foreground</param>
            <param name="contrast">Desired contrast, difference in lightness between background and foreground (value in range [0..1])</param>
            <param name="margin">Margin of lightness to avoid color missing, result's lightness will be in range [margin, 1-margin]</param>
            <param name="whiteBalance">Determine when we make darker and when lighter (must be in range from margin to 1 - margin)</param>
            <returns></returns>
        </member>
        <member name="F:JetBrains.Util.Media.ColorManagement.LumaRed">
            <summary>
            Grayscale coefficients for HDTV luma from ITU-R BT.709: 0.2126, 0.7152, and 0.0722
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorManagement.LumaGreen">
            <summary>
            Grayscale coefficients for HDTV luma from ITU-R BT.709: 0.2126, 0.7152, and 0.0722
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorManagement.LumaBlue">
            <summary>
            Grayscale coefficients for HDTV luma from ITU-R BT.709: 0.2126, 0.7152, and 0.0722
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.MakeSimilarColor(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,System.Double,System.Double)">
            <summary>
            Makes a color similar to the pattern color in terms of brightness
            </summary>
            <param name="color">Base color</param>
            <param name="pattern">Pattern color</param>
            <param name="threshold">Differences [0..1] which is appropriate, base color returns in case of difference between base color and pattern less than the threshold</param>
            <param name="offset">Offset, required difference [0..1] from pattern lightness</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetSimilarForeground(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Tries to correct suggested foreground color according to good one
            </summary>
            <param name="foreground"></param>
            <param name="goodForeground"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetDarkerColor(JetBrains.Util.Media.JetRgbaColor,System.Double)">
            <summary>
            Makes darker color than the given one
            </summary>
            <param name="color">Base color</param>
            <param name="value">How darker it should be [0..1]</param>
            <returns>Darker color</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.GetLighterColor(JetBrains.Util.Media.JetRgbaColor,System.Double)">
            <summary>
            Makes lighter color than the given one
            </summary>
            <param name="color">Base color</param>
            <param name="value">How darker it should be [0..N] (for ex., value 0.2 is 20% lighter)</param>
            <returns>Darker color</returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorManagement.BlendColors(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,System.Double)">
            <summary>
            Blend two colors
            </summary>
            <param name="a">Color a</param>
            <param name="b">Color b</param>
            <param name="proportion">How many of color 'a' in result blended color [0..1]</param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.CIELab">
            <summary>
            Represents L*a*b* color space
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.CIELab.Empty">
            <summary>
            Gets an empty CIELab structure.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.CIELab.L">
            <summary>
            Gets or sets L component (0..100).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.CIELab.A">
            <summary>
            Gets or sets a component (-100..+100).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.CIELab.B">
            <summary>
            Gets or sets a component  (-100..+100).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.CIEXYZ">
            <summary>
            Represents CIE XYZ color space
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.CIEXYZ.Empty">
            <summary>
            Gets an empty CIEXYZ structure.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.CIEXYZ.D65">
            <summary>
            Gets the CIE D65 (white) structure.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.CIEXYZ.X">
            <summary>
            Gets or sets X component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.CIEXYZ.Y">
            <summary>
            Gets or sets Y component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.CIEXYZ.Z">
            <summary>
            Gets or sets Z component.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.CMYK">
            <summary>
            Represents CMYK color space.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.CMYK.Empty">
            <summary>
            Gets an empty CMYK structure;
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.CMYK.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a CMYK structure.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.ColorSpace">
            <summary>
            Provides methods to convert from a color space to an other.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.GetColorDistance(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Gets the "distance" between two colors.
            RGB colors must be normalized (eg. values in [0.0, 1.0]).
            </summary>
            <param name="r1">First color red component.</param>
            <param name="g1">First color green component.</param>
            <param name="b1">First color blue component.</param>
            <param name="r2">Second color red component.</param>
            <param name="g2">Second color green component.</param>
            <param name="b2">Second color blue component.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.GetColorDistance(System.Double[],System.Double[])">
            <summary>
            Gets the "distance" between two colors.
            RGB colors must be normalized (eg. values in [0.0, 1.0]).
            </summary>
            <param name="color1">First color [r,g,b]</param>
            <param name="color2">Second color [r,g,b]</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.GetColorDistance(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Gets the "distance" between two colors.
            </summary>
            <param name="c1">First color.</param>
            <param name="c2">Second color.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.GetIntFromHex(System.String)">
            <summary>
            Gets the int equivalent for a hexadecimal value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HexToColor(System.String)">
            <summary>
            Converts a Hex color to a .net Color.
            </summary>
            <param name="hexColor">The desired hexadecimal color to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBToHex(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts a RGB color format to an hexadecimal color.
            </summary>
            <param name="r">The Red value.</param>
            <param name="g">The Green value.</param>
            <param name="b">The Blue value.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBToHex(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Converts a RGB color format to an hexadecimal color.
            </summary>
            <param name="c">The color to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoRGB(JetBrains.Util.Media.ColorSpaces.HSB)">
            <summary>
            Converts HSB to RGB.
            </summary>
            <param name="hsb">The HSB structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to RGB.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="b">Brigthness value.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoColor(JetBrains.Util.Media.ColorSpaces.HSB)">
            <summary>
            Converts HSB to Color.
            </summary>
            <param name="hsb">the HSB structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoColor(System.Double,System.Double,System.Double)">
            <summary> 
            Converts HSB to a .net Color.
            </summary>
            <param name="h">Hue value (must be between 0 and 360).</param>
            <param name="s">Saturation value (must be between 0 and 1).</param>
            <param name="b">Brightness value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoColor(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts HSB to Color.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="b">Brightness value.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoHSL(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoCMYK(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to CMYK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSBtoYUV(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSB to CMYK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to RGB.
            </summary>
            <param name="h">Hue, must be in [0, 360].</param>
            <param name="s">Saturation, must be in [0, 1].</param>
            <param name="l">Luminance, must be in [0, 1].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoRGB(JetBrains.Util.Media.ColorSpaces.HSL)">
            <summary>
            Converts HSL to RGB.
            </summary>
            <param name="hsl">The HSL structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoColor(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to .net Color.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoColor(JetBrains.Util.Media.ColorSpaces.HSL)">
            <summary>
            Converts HSL to .net Color.
            </summary>
            <param name="hsl">The HSL structure to convert.</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoHSB(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to HSB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoCMYK(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to CMYK.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.HSLtoYUV(System.Double,System.Double,System.Double)">
            <summary>
            Converts HSL to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoHSL(System.Int32,System.Int32,System.Int32)">
            <summary> 
            Converts RGB to HSL.
            </summary>
            <param name="red">Red value, must be in [0,255].</param>
            <param name="green">Green value, must be in [0,255].</param>
            <param name="blue">Blue value, must be in [0,255].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoHSL(JetBrains.Util.Media.ColorSpaces.RGB)">
            <summary> 
            Converts RGB to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoHSL(JetBrains.Util.Media.JetRgbaColor)">
            <summary> 
            Converts Color to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoHSB(System.Int32,System.Int32,System.Int32)">
            <summary> 
            Converts RGB to HSB.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoHSB(JetBrains.Util.Media.ColorSpaces.RGB)">
            <summary> 
            Converts RGB to HSB.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoHSB(JetBrains.Util.Media.JetRgbaColor)">
            <summary> 
            Converts RGB to HSB.
            </summary> 
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoCMYK(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to CMYK
            </summary>
            <param name="red">Red vaue must be in [0, 255].</param>
            <param name="green">Green vaue must be in [0, 255].</param>
            <param name="blue">Blue vaue must be in [0, 255].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoCMYK(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Converts RGB to CMYK
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoCMYK(JetBrains.Util.Media.ColorSpaces.RGB)">
            <summary>
            Converts RGB to CMYK
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoYUV(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to YUV.
            </summary>
            <param name="red">red must be in [0, 255].</param>
            <param name="green">green must be in [0, 255].</param>
            <param name="blue">blue must be in [0, 255].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoYUV(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Converts RGB to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoYUV(JetBrains.Util.Media.ColorSpaces.RGB)">
            <summary>
            Converts RGB to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoXYZ(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to CIE XYZ (CIE 1931 color space)
            </summary>
            <param name="red">Red must be in [0, 255].</param>
            <param name="green">Green must be in [0, 255].</param>
            <param name="blue">Blue must be in [0, 255].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoXYZ(JetBrains.Util.Media.ColorSpaces.RGB)">
            <summary>
            Converts RGB to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoXYZ(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Converts RGB to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoLab(System.Int32,System.Int32,System.Int32)">
            <summary>
            Converts RGB to CIELab.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoLab(JetBrains.Util.Media.ColorSpaces.RGB)">
            <summary>
            Converts RGB to CIELab.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.RGBtoLab(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Converts RGB to CIELab.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoColor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="c">Cyan value (must be between 0 and 1).</param>
            <param name="m">Magenta value (must be between 0 and 1).</param>
            <param name="y">Yellow value (must be between 0 and 1).</param>
            <param name="k">Black value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoColor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="c">Cyan value (must be between 0 and 1).</param>
            <param name="m">Magenta value (must be between 0 and 1).</param>
            <param name="y">Yellow value (must be between 0 and 1).</param>
            <param name="k">Black value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoColor(JetBrains.Util.Media.ColorSpaces.CMYK)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="cmyk"></param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoRGB(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="c">Cyan value (must be between 0 and 1).</param>
            <param name="m">Magenta value (must be between 0 and 1).</param>
            <param name="y">Yellow value (must be between 0 and 1).</param>
            <param name="k">Black value (must be between 0 and 1).</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoRGB(JetBrains.Util.Media.ColorSpaces.CMYK)">
            <summary>
            Converts CMYK to RGB.
            </summary>
            <param name="cmyk"></param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoHSL(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to HSL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoHSB(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to HSB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.CMYKtoYUV(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Converts CMYK to YUV.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to RGB.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoRGB(JetBrains.Util.Media.ColorSpaces.YUV)">
            <summary>
            Converts YUV to RGB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoColor(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to a .net Color.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoColor(JetBrains.Util.Media.ColorSpaces.YUV)">
            <summary>
            Converts YUV to a .net Color.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoHSL(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to HSL.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoHSB(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to HSB.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.YUVtoCMYK(System.Double,System.Double,System.Double)">
            <summary>
            Converts YUV to CMYK.
            </summary>
            <param name="y">Y must be in [0, 1].</param>
            <param name="u">U must be in [-0.436, +0.436].</param>
            <param name="v">V must be in [-0.615, +0.615].</param>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.XYZtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIEXYZ to RGB structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.XYZtoRGB(JetBrains.Util.Media.ColorSpaces.CIEXYZ)">
            <summary>
            Converts CIEXYZ to RGB structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.Fxyz(System.Double)">
            <summary>
            XYZ to L*a*b* transformation function.
            </summary>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.XYZtoLab(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIEXYZ to CIELab structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.XYZtoLab(JetBrains.Util.Media.ColorSpaces.CIEXYZ)">
            <summary>
            Converts CIEXYZ to CIELab structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.LabtoXYZ(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIELab to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.LabtoXYZ(JetBrains.Util.Media.ColorSpaces.CIELab)">
            <summary>
            Converts CIELab to CIEXYZ.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.LabtoRGB(System.Double,System.Double,System.Double)">
            <summary>
            Converts CIELab to RGB.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.ColorSpace.LabtoRGB(JetBrains.Util.Media.ColorSpaces.CIELab)">
            <summary>
            Converts CIELab to RGB.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.HSB">
            <summary>
            Structure to define HSB.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.HSB.Empty">
            <summary>
            Gets an empty HSB structure;
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.HSB.Hue">
            <summary>
            Gets or sets the hue component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.HSB.Saturation">
            <summary>
            Gets or sets saturation component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.HSB.Brightness">
            <summary>
            Gets or sets the brightness component.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.HSB.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a HSB structure.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="b">Brightness value.</param>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.HSL">
            <summary>
            Structure to define HSL.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.HSL.Empty">
            <summary>
            Gets an empty HSL structure;
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.HSL.Hue">
            <summary>
            Gets or sets the hue component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.HSL.Saturation">
            <summary>
            Gets or sets saturation component.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.ColorSpaces.HSL.Luminance">
            <summary>
            Gets or sets the luminance component.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.HSL.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a HSL structure.
            </summary>
            <param name="h">Hue value.</param>
            <param name="s">Saturation value.</param>
            <param name="l">Lightness value.</param>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.RGB">
            <summary>
            Structure to define RGB.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.RGB.Empty">
            <summary>
            Gets an empty RGB structure;
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.ColorSpaces.YUV">
            <summary>
            Structure to define YUV.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.ColorSpaces.YUV.Empty">
            <summary>
            Gets an empty YUV structure.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.ColorSpaces.YUV.#ctor(System.Double,System.Double,System.Double)">
            <summary>
            Creates an instance of a YUV structure.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.HumanPerceptibleColor">
            <summary>
            Color representation with specific to be accurate to human perception of parameters like saturation, brightness. 
            This model is similar to HSB except to taking account different degrees to which each of the primary (RGB) colors 
            affects human perception of the overall brightness of a color
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.HumanPerceptibleColor.Hue">
            <summary>
            Gets or set hue (in range [0...1])
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.HumanPerceptibleColor.Saturation">
            <summary>
            Gets or set saturation (in range [0...1])
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.HumanPerceptibleColor.Brightness">
            <summary>
            Gets or set brightness as it is perceived by human (in range [0...1])
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.HumanPerceptibleColor.Alpha">
            <summary>
            Gets or set alpha channel (opacity) (in range [0...1])
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.HumanPerceptibleColor.ToColor(System.Boolean)">
            <param name="hue">Is hue important?</param>
        </member>
        <member name="M:JetBrains.Util.Media.HumanPerceptibleColor.ToArgb(System.Boolean)">
            <param name="hue">Is hue important?</param>
        </member>
        <member name="T:JetBrains.Util.Media.JetRgbaColor">
            <summary>
              <para>32bpp with alpha, alpha not premultiplied.</para>
              <para>Binary format: <c>BB GG RR AA</c> or <c>0xAARRGGBB</c>, no alpha premultiplication (“unassociated alpha” format).</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.Equals(JetBrains.Util.Media.JetRgbaColor)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.CompareTo(JetBrains.Util.Media.JetRgbaColor)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.System#IComparable#CompareTo(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.Serializer.#ctor">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.op_Explicit(JetBrains.Util.Media.JetRgbaColor)~System.String">
            <summary>
            Hex in <c>#AARRGGBB</c> format.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.op_Explicit(System.ReadOnlySpan{System.Char})~JetBrains.Util.Media.JetRgbaColor">
            <summary>
            Hex in AARRGGBB / RRGGBB / ARGB / RGB / #AARRGGBB / #RRGGBB / #ARGB / #RGB format, or a known color name.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.TryParseAny(System.ReadOnlySpan{System.Char}@,JetBrains.Util.Media.JetRgbaColor@)">
            <summary>
            Hex in AARRGGBB / RRGGBB / ARGB / RGB / #AARRGGBB / #RRGGBB / #ARGB / #RGB format, or a known color name, or an empty string for NULL value (hence Any).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.TryParseHex(System.ReadOnlySpan{System.Char}@,JetBrains.Util.Media.JetRgbaColor@)">
            <summary>
            Only hex in AARRGGBB / RRGGBB / ARGB / RGB / #AARRGGBB / #RRGGBB / #ARGB / #RGB format.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.op_Explicit(System.String)~JetBrains.Util.Media.JetRgbaColor">
            <summary>
            Hex in RRGGBBAA / RRGGBB / RGBA / RGB / #RRGGBBAA / #RRGGBB / #RGBA / #RGB format.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.From_BB_GG_RR_AA(System.UInt32)">
            <summary>
            Conversion for the raw binary form where blue goes first (in the lowest bits, as we got low endianness), then green, red, and alpha is in the highest bits: <c>BB GG RR AA</c>.
            The hexadecimal notation for this layout would be <c>0xAARRGGBB</c> with highest bits written first.
            This is the natural memory layout for this color object. Doing an explicit cast operator or reinterpret-cast will yield the same result.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.From_BB_GG_RR(System.UInt32)">
            <summary>
            Conversion for the raw binary form where blue goes first (in the lowest bits, as we got low endianness), then green, red, and the highest bits which normally define alpha are ignored and substituted for FF: <c>BB GG RR FF</c>.
            The hexadecimal notation for this layout would be <c>0xFFRRGGBB</c> with highest bits written first.
            This is the natural memory layout for this color object. Doing an explicit cast operator or reinterpret-cast will yield the same result.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColor.To_BB_GG_RR_AA">
            <summary>
            Conversion for the raw binary form where blue goes first (in the lowest bits, as we got low endianness), then green, red, and alpha is in the highest bits: <c>BB GG RR AA</c>.
            The hexadecimal notation for this layout would be <c>0xAARRGGBB</c> with highest bits written first.
            This is the natural memory layout for this color object. Doing an explicit cast operator or reinterpret-cast will yield the same result.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.JetRgbaColors">
            <summary>
            Colors - A collection of well-known Colors
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.AliceBlue">
            <summary>
            Well-known color: AliceBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.AntiqueWhite">
            <summary>
            Well-known color: AntiqueWhite
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Aqua">
            <summary>
            Well-known color: Aqua
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Aquamarine">
            <summary>
            Well-known color: Aquamarine
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Azure">
            <summary>
            Well-known color: Azure
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Beige">
            <summary>
            Well-known color: Beige
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Bisque">
            <summary>
            Well-known color: Bisque
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Black">
            <summary>
            Well-known color: Black
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.BlanchedAlmond">
            <summary>
            Well-known color: BlanchedAlmond
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Blue">
            <summary>
            Well-known color: Blue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.BlueViolet">
            <summary>
            Well-known color: BlueViolet
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Brown">
            <summary>
            Well-known color: Brown
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.BurlyWood">
            <summary>
            Well-known color: BurlyWood
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.CadetBlue">
            <summary>
            Well-known color: CadetBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Chartreuse">
            <summary>
            Well-known color: Chartreuse
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Chocolate">
            <summary>
            Well-known color: Chocolate
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Coral">
            <summary>
            Well-known color: Coral
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.CornflowerBlue">
            <summary>
            Well-known color: CornflowerBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Cornsilk">
            <summary>
            Well-known color: Cornsilk
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Crimson">
            <summary>
            Well-known color: Crimson
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Cyan">
            <summary>
            Well-known color: Cyan
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkBlue">
            <summary>
            Well-known color: DarkBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkCyan">
            <summary>
            Well-known color: DarkCyan
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkGoldenrod">
            <summary>
            Well-known color: DarkGoldenrod
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkGray">
            <summary>
            Well-known color: DarkGray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkGreen">
            <summary>
            Well-known color: DarkGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkKhaki">
            <summary>
            Well-known color: DarkKhaki
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkMagenta">
            <summary>
            Well-known color: DarkMagenta
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkOliveGreen">
            <summary>
            Well-known color: DarkOliveGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkOrange">
            <summary>
            Well-known color: DarkOrange
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkOrchid">
            <summary>
            Well-known color: DarkOrchid
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkRed">
            <summary>
            Well-known color: DarkRed
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkSalmon">
            <summary>
            Well-known color: DarkSalmon
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkSeaGreen">
            <summary>
            Well-known color: DarkSeaGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkSlateBlue">
            <summary>
            Well-known color: DarkSlateBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkSlateGray">
            <summary>
            Well-known color: DarkSlateGray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkTurquoise">
            <summary>
            Well-known color: DarkTurquoise
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DarkViolet">
            <summary>
            Well-known color: DarkViolet
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DeepPink">
            <summary>
            Well-known color: DeepPink
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DeepSkyBlue">
            <summary>
            Well-known color: DeepSkyBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DimGray">
            <summary>
            Well-known color: DimGray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.DodgerBlue">
            <summary>
            Well-known color: DodgerBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Firebrick">
            <summary>
            Well-known color: Firebrick
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.FloralWhite">
            <summary>
            Well-known color: FloralWhite
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.ForestGreen">
            <summary>
            Well-known color: ForestGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Fuchsia">
            <summary>
            Well-known color: Fuchsia
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Gainsboro">
            <summary>
            Well-known color: Gainsboro
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.GhostWhite">
            <summary>
            Well-known color: GhostWhite
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Gold">
            <summary>
            Well-known color: Gold
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Goldenrod">
            <summary>
            Well-known color: Goldenrod
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Gray">
            <summary>
            Well-known color: Gray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Green">
            <summary>
            Well-known color: Green
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.GreenYellow">
            <summary>
            Well-known color: GreenYellow
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Honeydew">
            <summary>
            Well-known color: Honeydew
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.HotPink">
            <summary>
            Well-known color: HotPink
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.IndianRed">
            <summary>
            Well-known color: IndianRed
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Indigo">
            <summary>
            Well-known color: Indigo
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Ivory">
            <summary>
            Well-known color: Ivory
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Khaki">
            <summary>
            Well-known color: Khaki
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Lavender">
            <summary>
            Well-known color: Lavender
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LavenderBlush">
            <summary>
            Well-known color: LavenderBlush
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LawnGreen">
            <summary>
            Well-known color: LawnGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LemonChiffon">
            <summary>
            Well-known color: LemonChiffon
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightBlue">
            <summary>
            Well-known color: LightBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightCoral">
            <summary>
            Well-known color: LightCoral
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightCyan">
            <summary>
            Well-known color: LightCyan
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightGoldenrodYellow">
            <summary>
            Well-known color: LightGoldenrodYellow
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightGray">
            <summary>
            Well-known color: LightGray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightGreen">
            <summary>
            Well-known color: LightGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightPink">
            <summary>
            Well-known color: LightPink
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightSalmon">
            <summary>
            Well-known color: LightSalmon
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightSeaGreen">
            <summary>
            Well-known color: LightSeaGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightSkyBlue">
            <summary>
            Well-known color: LightSkyBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightSlateGray">
            <summary>
            Well-known color: LightSlateGray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightSteelBlue">
            <summary>
            Well-known color: LightSteelBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LightYellow">
            <summary>
            Well-known color: LightYellow
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Lime">
            <summary>
            Well-known color: Lime
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.LimeGreen">
            <summary>
            Well-known color: LimeGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Linen">
            <summary>
            Well-known color: Linen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Magenta">
            <summary>
            Well-known color: Magenta
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Maroon">
            <summary>
            Well-known color: Maroon
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumAquamarine">
            <summary>
            Well-known color: MediumAquamarine
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumBlue">
            <summary>
            Well-known color: MediumBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumOrchid">
            <summary>
            Well-known color: MediumOrchid
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumPurple">
            <summary>
            Well-known color: MediumPurple
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumSeaGreen">
            <summary>
            Well-known color: MediumSeaGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumSlateBlue">
            <summary>
            Well-known color: MediumSlateBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumSpringGreen">
            <summary>
            Well-known color: MediumSpringGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumTurquoise">
            <summary>
            Well-known color: MediumTurquoise
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MediumVioletRed">
            <summary>
            Well-known color: MediumVioletRed
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MidnightBlue">
            <summary>
            Well-known color: MidnightBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MintCream">
            <summary>
            Well-known color: MintCream
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.MistyRose">
            <summary>
            Well-known color: MistyRose
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Moccasin">
            <summary>
            Well-known color: Moccasin
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.NavajoWhite">
            <summary>
            Well-known color: NavajoWhite
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Navy">
            <summary>
            Well-known color: Navy
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.OldLace">
            <summary>
            Well-known color: OldLace
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Olive">
            <summary>
            Well-known color: Olive
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.OliveDrab">
            <summary>
            Well-known color: OliveDrab
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Orange">
            <summary>
            Well-known color: Orange
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.OrangeRed">
            <summary>
            Well-known color: OrangeRed
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Orchid">
            <summary>
            Well-known color: Orchid
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PaleGoldenrod">
            <summary>
            Well-known color: PaleGoldenrod
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PaleGreen">
            <summary>
            Well-known color: PaleGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PaleTurquoise">
            <summary>
            Well-known color: PaleTurquoise
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PaleVioletRed">
            <summary>
            Well-known color: PaleVioletRed
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PapayaWhip">
            <summary>
            Well-known color: PapayaWhip
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PeachPuff">
            <summary>
            Well-known color: PeachPuff
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Peru">
            <summary>
            Well-known color: Peru
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Pink">
            <summary>
            Well-known color: Pink
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Plum">
            <summary>
            Well-known color: Plum
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.PowderBlue">
            <summary>
            Well-known color: PowderBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Purple">
            <summary>
            Well-known color: Purple
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Red">
            <summary>
            Well-known color: Red
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.RosyBrown">
            <summary>
            Well-known color: RosyBrown
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.RoyalBlue">
            <summary>
            Well-known color: RoyalBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SaddleBrown">
            <summary>
            Well-known color: SaddleBrown
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Salmon">
            <summary>
            Well-known color: Salmon
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SandyBrown">
            <summary>
            Well-known color: SandyBrown
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SeaGreen">
            <summary>
            Well-known color: SeaGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SeaShell">
            <summary>
            Well-known color: SeaShell
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Sienna">
            <summary>
            Well-known color: Sienna
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Silver">
            <summary>
            Well-known color: Silver
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SkyBlue">
            <summary>
            Well-known color: SkyBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SlateBlue">
            <summary>
            Well-known color: SlateBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SlateGray">
            <summary>
            Well-known color: SlateGray
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Snow">
            <summary>
            Well-known color: Snow
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SpringGreen">
            <summary>
            Well-known color: SpringGreen
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.SteelBlue">
            <summary>
            Well-known color: SteelBlue
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Tan">
            <summary>
            Well-known color: Tan
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Teal">
            <summary>
            Well-known color: Teal
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Thistle">
            <summary>
            Well-known color: Thistle
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Tomato">
            <summary>
            Well-known color: Tomato
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Transparent">
            <summary>
            Well-known color: Transparent
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Turquoise">
            <summary>
            Well-known color: Turquoise
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Violet">
            <summary>
            Well-known color: Violet
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Wheat">
            <summary>
            Well-known color: Wheat
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.White">
            <summary>
            Well-known color: White
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.WhiteSmoke">
            <summary>
            Well-known color: WhiteSmoke
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.Yellow">
            <summary>
            Well-known color: Yellow
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRgbaColors.YellowGreen">
            <summary>
            Well-known color: YellowGreen
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRgbaColors.FromKnownColorName(System.String)">
            <summary>
            Looks up a known color from <see cref="T:JetBrains.Util.Media.JetRgbaColors.JetKnownColor" /> by its name.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.JetRgbaColors.JetKnownColor">
            Enum containing handles to all known colors
            Since the first element is 0, second is 1, etc, we can use this to index
            directly into an array
        </member>
        <member name="T:JetBrains.Util.Media.JetMatrix">
            <summary>
             A 2D transformations matrix.
            Forked from <c>System.Windows.Media.Matrix</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.#ctor(System.Double,System.Double,System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a matrix of the form
                        / m11, m12, 0 \
                        | m21, m22, 0 |
                        \ offsetX, offsetY, 1 /
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.Determinant">
            <summary>
            The determinant of this matrix
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.HasInverse">
            <summary>
            HasInverse Property - returns true if this matrix is invertable, false otherwise.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.Identity">
            <summary>
            Identity
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.IsIdentity">
            <summary>
            Tests whether or not a given transform is an identity transform
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.IsNullOrIdentity">
            <summary>
            Tests whether or not a given transform is an identity transform or the default value for a transform.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.M11">
            <summary>
            M11
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.M12">
            <summary>
            M12
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.M21">
            <summary>
            M22
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.M22">
            <summary>
            M22
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.OffsetX">
            <summary>
            OffsetX
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.OffsetY">
            <summary>
            OffsetY
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Append(JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Append - "this" becomes this * matrix, the same as this *= matrix.
            </summary>
            <param name="matrix"> The JetMatrix to append to this JetMatrix </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.CreateRotationDegrees(System.Double,System.Double,System.Double)">
            <summary>
            Rotates this matrix about the origin
            </summary>
            <param name='deg'>The angle to rotate specified in degrees</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.CreateRotationRadians(System.Double,System.Double,System.Double)">
            <summary>
            Creates a rotation transformation about the given point
            </summary>
            <param name='angleRad'>The angle to rotate specified in radians</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.CreateScaling(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a scaling transform around the given point
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
            <param name='centerX'>The centerX of scaling</param>
            <param name='centerY'>The centerY of scaling</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.CreateScaling(System.Double,System.Double)">
            <summary>
            Creates a scaling transform around the origin
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.CreateSkewRadians(System.Double,System.Double)">
            <summary>
            Creates a skew transform
            </summary>
            <param name='skewRadX'>The skew angle in the x dimension in radians</param>
            <param name='skewRadY'>The skew angle in the y dimension in radians</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.CreateTranslation(System.Double,System.Double)">
            <summary>
            Sets the transformation to the given translation specified by the offset vector.
            </summary>
            <param name='offsetX'>The offset in X</param>
            <param name='offsetY'>The offset in Y</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Equals(JetBrains.Util.Media.JetMatrix@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Compares two JetMatrix instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two JetMatrix instances are exactly equal, false otherwise
            </returns>
            <param name='matrix1'>The first JetMatrix to compare</param>
            <param name='matrix2'>The second JetMatrix to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Equals(System.Object)">
            <summary>
            Equals - compares this JetMatrix with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of JetMatrix and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Equals(JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Equals - compares this JetMatrix with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetMatrix to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.GetHashCode">
            <summary>
            Returns the HashCode for this JetMatrix
            </summary>
            <returns>
            int - the HashCode for this JetMatrix
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Inverse">
            <summary>
            Replaces matrix with the inverse of the transformation.  This will throw an InvalidOperationException
            if !HasInverse
            </summary>
            <exception cref="T:System.InvalidOperationException">
            This will throw an InvalidOperationException if the matrix is non-invertable
            </exception>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Multiply(JetBrains.Util.Media.JetMatrix@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Multiply
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.op_Equality(JetBrains.Util.Media.JetMatrix@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Compares two JetMatrix instances for exact equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetMatrix instances are exactly equal, false otherwise
            </returns>
            <param name='matrix1'>The first JetMatrix to compare</param>
            <param name='matrix2'>The second JetMatrix to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.op_Inequality(JetBrains.Util.Media.JetMatrix@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Compares two JetMatrix instances for exact inequality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetMatrix instances are exactly unequal, false otherwise
            </returns>
            <param name='matrix1'>The first JetMatrix to compare</param>
            <param name='matrix2'>The second JetMatrix to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.op_Multiply(JetBrains.Util.Media.JetMatrix@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Multiplies two transformations.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetMatrix data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Prepended(JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Prepend - "this" becomes matrix * this, the same as this = matrix * this.
            </summary>
            <param name="matrix"> The JetMatrix to prepend to this JetMatrix </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Rotated(System.Double)">
            <summary>
            Rotates this matrix about the origin
            </summary>
            <param name='deg'>The angle to rotate specified in degrees</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.RotatedAt(System.Double,System.Double,System.Double)">
            <summary>
            Rotates this matrix about the given point
            </summary>
            <param name='deg'>The angle to rotate specified in degrees</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.RotatedAtPrepend(System.Double,System.Double,System.Double)">
            <summary>
            Prepends a rotation about the given point to "this"
            </summary>
            <param name='deg'>The angle to rotate specified in degrees</param>
            <param name='centerX'>The centerX of rotation</param>
            <param name='centerY'>The centerY of rotation</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.RotatedPrepend(System.Double)">
            <summary>
            Prepends a rotation about the origin to "this"
            </summary>
            <param name='deg'>The angle to rotate specified in degrees</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Scaled(System.Double,System.Double)">
            <summary>
            Scales this matrix around the origin
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.ScaledAt(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Scales this matrix around the center provided
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
            <param name="centerX">The centerX about which to scale</param>
            <param name="centerY">The centerY about which to scale</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.ScaledAtPrepend(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Prepends a scale around the center provided to "this"
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
            <param name="centerX">The centerX about which to scale</param>
            <param name="centerY">The centerY about which to scale</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.ScaledPrepend(System.Double,System.Double)">
            <summary>
            Prepends a scale around the origin to "this"
            </summary>
            <param name='scaleX'>The scale factor in the x dimension</param>
            <param name='scaleY'>The scale factor in the y dimension</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Skewed(System.Double,System.Double)">
            <summary>
            Skews this matrix
            </summary>
            <param name='degX'>The skew angle in the x dimension in degrees</param>
            <param name='degY'>The skew angle in the y dimension in degrees</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.SkewedPrepend(System.Double,System.Double)">
            <summary>
            Prepends a skew to this matrix
            </summary>
            <param name='degX'>The skew angle in the x dimension in degrees</param>
            <param name='degY'>The skew angle in the y dimension in degrees</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Transform(JetBrains.Util.Media.JetPoint@)">
            <summary>
            Transform - returns the result of transforming the point by this matrix
            </summary>
            <returns>
            The transformed point
            </returns>
            <param name="point"> The JetPoint to transform </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Transform(JetBrains.Util.Media.JetVector@)">
            <summary>
            Transform - returns the result of transforming the JetVector by this matrix.
            </summary>
            <returns>
            The transformed vector
            </returns>
            <param name="vector"> The JetVector to transform </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Translated(System.Double,System.Double)">
            <summary>
            Translates this matrix
            </summary>
            <param name='offsetX'>The offset in the x dimension</param>
            <param name='offsetY'>The offset in the y dimension</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.TranslatedPrepend(System.Double,System.Double)">
            <summary>
            Prepends a translation to this matrix
            </summary>
            <param name='offsetX'>The offset in the x dimension</param>
            <param name='offsetY'>The offset in the y dimension</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.Debug_CheckType">
            <summary>
            Asserts that the matrix tag is one of the valid options and
            that coefficients are correct.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.System#IEquatable{JetBrains#Util#Media#JetMatrix}#Equals(JetBrains.Util.Media.JetMatrix)">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Media.JetMatrix.IsDistinguishedIdentity">
            <summary>
            Efficient but conservative test for identity.  Returns
            true if the the matrix is identity.  If it returns false
            the matrix may still be identity.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.MultiplyMatrix(JetBrains.Util.Media.JetMatrix@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Multiplies two transformations, where the behavior is matrix1 *= matrix2.
            This code exists so that we can efficient combine matrices without copying
            the data around, since each matrix is 52 bytes.
            To reduce duplication and to ensure consistent behavior, this is the
            method which is used to implement Matrix * Matrix as well.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.MultiplyPoint(System.Double@,System.Double@)">
            <summary>
            MultiplyPoint
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.MultiplyVector(System.Double@,System.Double@)">
            <summary>
            MultiplyVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetMatrix.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetPhysicalPoint">
            <summary>
            A 2D point in physical (device-specific, hence depending on the resolution of that device, such as display screen) coordinates.
            Forked from <c>System.Windows.Point</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructor which accepts the X and Y values
            </summary>
            <param name="x">The value for the X coordinate of the new JetPhysicalPoint</param>
            <param name="y">The value for the Y coordinate of the new JetPhysicalPoint</param>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalPoint.X">
            <summary>
                X - int.  Default value is 0.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalPoint.Y">
            <summary>
                Y - int.  Default value is 0.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Add(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalVector@)">
            <summary>
            Add: JetPhysicalPoint + JetPhysicalVector
            </summary>
            <returns>
            JetPhysicalPoint - The result of the addition
            </returns>
            <param name="point"> The JetPhysicalPoint to be added to the JetPhysicalVector </param>
            <param name="vector"> The JetPhysicalVector to be added to the JetPhysicalPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Equals(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalPoint@)">
            <summary>
            Compares two JetPhysicalPoint instances for object equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalPoint instances are exactly equal, false otherwise
            </returns>
            <param name='point1'>The first JetPhysicalPoint to compare</param>
            <param name='point2'>The second JetPhysicalPoint to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Equals(System.Object)">
            <summary>
            Equals - compares this JetPhysicalPoint with the passed in object.
            </summary>
            <returns>
            bool - true if the object is an instance of JetPhysicalPoint and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Equals(JetBrains.Util.Media.JetPhysicalPoint@)">
            <summary>
            Equals - compares this JetPhysicalPoint with the passed in object.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetPhysicalPoint to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.GetHashCode">
            <summary>
            Returns the HashCode for this JetPhysicalPoint
            </summary>
            <returns>
            int - the HashCode for this JetPhysicalPoint
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Offset(System.Int32,System.Int32)">
            <summary>
            Offset - update the location by adding offsetX to X and offsetY to Y
            </summary>
            <param name="offsetX"> The offset in the x dimension </param>
            <param name="offsetY"> The offset in the y dimension </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Addition(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalVector@)">
            <summary>
            Operator JetPhysicalPoint + JetPhysicalVector
            </summary>
            <returns>
            JetPhysicalPoint - The result of the addition
            </returns>
            <param name="point"> The JetPhysicalPoint to be added to the JetPhysicalVector </param>
            <param name="vector"> The Vectr to be added to the JetPhysicalPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Equality(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalPoint@)">
            <summary>
            Compares two JetPhysicalPoint instances for exact equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalPoint instances are exactly equal, false otherwise
            </returns>
            <param name='point1'>The first JetPhysicalPoint to compare</param>
            <param name='point2'>The second JetPhysicalPoint to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Explicit(JetBrains.Util.Media.JetPhysicalPoint@)~JetBrains.Util.Media.JetPhysicalSize">
            <summary>
            Explicit conversion to JetPhysicalSize.  Note that since JetPhysicalSize cannot contain negative values,
            the resulting size will contains the absolute values of X and Y
            </summary>
            <returns>
            JetPhysicalSize - A JetPhysicalSize equal to this JetPhysicalPoint
            </returns>
            <param name="point"> JetPhysicalPoint - the JetPhysicalPoint to convert to a JetPhysicalSize </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Explicit(JetBrains.Util.Media.JetPhysicalPoint@)~JetBrains.Util.Media.JetPhysicalVector">
            <summary>
            Explicit conversion to JetPhysicalVector
            </summary>
            <returns>
            JetPhysicalVector - A JetPhysicalVector equal to this JetPhysicalPoint
            </returns>
            <param name="point"> JetPhysicalPoint - the JetPhysicalPoint to convert to a JetPhysicalVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Inequality(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalPoint@)">
            <summary>
            Compares two JetPhysicalPoint instances for exact inequality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalPoint instances are exactly unequal, false otherwise
            </returns>
            <param name='point1'>The first JetPhysicalPoint to compare</param>
            <param name='point2'>The second JetPhysicalPoint to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Subtraction(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalVector@)">
            <summary>
            Operator JetPhysicalPoint - JetPhysicalVector
            </summary>
            <returns>
            JetPhysicalPoint - The result of the subtraction
            </returns>
            <param name="point"> The JetPhysicalPoint from which the JetPhysicalVector is subtracted </param>
            <param name="vector"> The JetPhysicalVector which is subtracted from the JetPhysicalPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.op_Subtraction(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalPoint@)">
            <summary>
            Operator JetPhysicalPoint - JetPhysicalPoint
            </summary>
            <returns>
            JetPhysicalVector - The result of the subtraction
            </returns>
            <param name="point1"> The JetPhysicalPoint from which point2 is subtracted </param>
            <param name="point2"> The JetPhysicalPoint subtracted from point1 </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetPhysicalPoint data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Subtract(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalVector@)">
            <summary>
            Subtract: JetPhysicalPoint - JetPhysicalVector
            </summary>
            <returns>
            JetPhysicalPoint - The result of the subtraction
            </returns>
            <param name="point"> The JetPhysicalPoint from which the JetPhysicalVector is subtracted </param>
            <param name="vector"> The JetPhysicalVector which is subtracted from the JetPhysicalPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.Subtract(JetBrains.Util.Media.JetPhysicalPoint@,JetBrains.Util.Media.JetPhysicalPoint@)">
            <summary>
            Subtract: JetPhysicalPoint - JetPhysicalPoint
            </summary>
            <returns>
            JetPhysicalVector - The result of the subtraction
            </returns>
            <param name="point1"> The JetPhysicalPoint from which point2 is subtracted </param>
            <param name="point2"> The JetPhysicalPoint subtracted from point1 </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.System#IEquatable{JetBrains#Util#Media#JetPhysicalPoint}#Equals(JetBrains.Util.Media.JetPhysicalPoint)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalPoint.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetPhysicalRect">
            <summary>
            A 2D rectangle in physical (device-specific, hence depending on the resolution of that device, such as display screen) coordinates.
            Rects are stored as X, Y (Location) and Width and Height (JetPhysicalSize).  As a result, Rects cannot have negative Width or Height.
            Forked from <c>System.Windows.Rect</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.#ctor(JetBrains.Util.Media.JetPhysicalPoint,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Constructor which sets the initial values to the values of the parameters
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Constructor which sets the initial values to the values of the parameters.
            Width and Height must be non-negative
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.#ctor(JetBrains.Util.Media.JetPhysicalPoint,JetBrains.Util.Media.JetPhysicalPoint)">
            <summary>
            Constructor which sets the initial values to bound the two points provided.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.#ctor(JetBrains.Util.Media.JetPhysicalPoint,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Constructor which sets the initial values to bound the point provided and the point
            which results from point + vector.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.#ctor(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Constructor which sets the initial values to bound the (0,0) point and the point
            that results from (0,0) + size.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.#ctor(System.Reflection.Missing)">
            <summary>
            A special empty rect ctor to bypass checks.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Bottom">
            <summary>
            Bottom Property - This is a read-only alias for Y + Height
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.BottomLeft">
            <summary>
            BottomLeft Property - This is a read-only alias for the JetPhysicalPoint which is at X, Y + Height
            If this is the empty rectangle, the value will be positive infinity, negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.BottomRight">
            <summary>
            BottomRight Property - This is a read-only alias for the JetPhysicalPoint which is at X + Width, Y + Height
            If this is the empty rectangle, the value will be negative infinity, negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Empty">
            <summary>
            Empty - a static property which provides an Empty rectangle.  X and Y are positive-infinity
            and Width and Height are negative infinity.  This is the only situation where Width or
            Height can be negative.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Height">
            <summary>
            Height - The Height component of the JetPhysicalSize.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.IsEmpty">
            <summary>
            IsEmpty - this returns true if this rect is the Empty rectangle.
            Note: If width or height are 0 this Rectangle still contains a 0 or 1 dimensional set
            of points, so this method should not be used to check for 0 area.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Left">
            <summary>
            Left Property - This is a read-only alias for X
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Location">
            <summary>
            Location - The JetPhysicalPoint representing the origin of the Rectangle
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Right">
            <summary>
            Right Property - This is a read-only alias for X + Width
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Size">
            <summary>
            JetPhysicalSize - The JetPhysicalSize representing the area of the Rectangle
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Top">
            <summary>
            Top Property - This is a read-only alias for Y
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.TopLeft">
            <summary>
            TopLeft Property - This is a read-only alias for the JetPhysicalPoint which is at X, Y
            If this is the empty rectangle, the value will be positive infinity, positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.TopRight">
            <summary>
            TopRight Property - This is a read-only alias for the JetPhysicalPoint which is at X + Width, Y
            If this is the empty rectangle, the value will be negative infinity, positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Width">
            <summary>
            Width - The Width component of the JetPhysicalSize.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.X">
            <summary>
            X - The X coordinate of the Location.
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalRect.Y">
            <summary>
            Y - The Y coordinate of the Location
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Contains(JetBrains.Util.Media.JetPhysicalPoint)">
            <summary>
            Contains - Returns true if the JetPhysicalPoint is within the rectangle, inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="point"> The point which is being tested </param>
            <returns>
            Returns true if the JetPhysicalPoint is within the rectangle.
            Returns false otherwise
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Contains(System.Int32,System.Int32)">
            <summary>
            Contains - Returns true if the JetPhysicalPoint represented by x,y is within the rectangle inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="x"> X coordinate of the point which is being tested </param>
            <param name="y"> Y coordinate of the point which is being tested </param>
            <returns>
            Returns true if the JetPhysicalPoint represented by x,y is within the rectangle.
            Returns false otherwise.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Contains(JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Contains - Returns true if the JetPhysicalRect non-Empty and is entirely contained within the
            rectangle, inclusive of the edges.
            Returns false otherwise
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Equals(JetBrains.Util.Media.JetPhysicalRect@,JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Compares two JetPhysicalRect instances for object equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalRect instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first JetPhysicalRect to compare</param>
            <param name='rect2'>The second JetPhysicalRect to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Equals(System.Object)">
            <summary>
            Equals - compares this JetPhysicalRect with the passed in object.
            </summary>
            <returns>
            bool - true if the object is an instance of JetPhysicalRect and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Equals(JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Equals - compares this JetPhysicalRect with the passed in object.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetPhysicalRect to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.FromLTRB(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a rectangle from four coordinates, swaps them as needed if far is less than near.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.GetHashCode">
            <summary>
            Returns the HashCode for this JetPhysicalRect
            </summary>
            <returns>
            int - the HashCode for this JetPhysicalRect
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Inflated(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Inflated(System.Int32,System.Int32)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions.
            If -width is > Width / 2 or -height is > Height / 2, this JetPhysicalRect becomes Empty
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Intersected(JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Intersect - Update this rectangle to be the intersection of this and rect
            If either this or rect are Empty, the result is Empty as well.
            </summary>
            <param name="rect"> The rect to intersect with this </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.IntersectsWith(JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            IntersectsWith - Returns true if the JetPhysicalRect intersects with this rectangle
            Returns false otherwise.
            Note that if one edge is coincident, this is considered an intersection.
            </summary>
            <returns>
            Returns true if the JetPhysicalRect intersects with this rectangle
            Returns false otherwise.
            or Height
            </returns>
            <param name="rect"> JetPhysicalRect </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Offset(JetBrains.Util.Media.JetPhysicalVector@)">
            <summary>
            Offset - translate the Location by the offset provided.
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Offset(System.Int32,System.Int32)">
            <summary>
            Offset - translate the Location by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.op_Equality(JetBrains.Util.Media.JetPhysicalRect@,JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Compares two JetPhysicalRect instances for exact equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalRect instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first JetPhysicalRect to compare</param>
            <param name='rect2'>The second JetPhysicalRect to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.op_Inequality(JetBrains.Util.Media.JetPhysicalRect@,JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Compares two JetPhysicalRect instances for exact inequality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalRect instances are exactly unequal, false otherwise
            </returns>
            <param name='rect1'>The first JetPhysicalRect to compare</param>
            <param name='rect2'>The second JetPhysicalRect to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetPhysicalRect data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Scaled(System.Int32,System.Int32)">
            <summary>
            Scale the rectangle in the X and Y directions
            </summary>
            <param name="scaleX"> The scale in X </param>
            <param name="scaleY"> The scale in Y </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Unioned(JetBrains.Util.Media.JetPhysicalRect@)">
            <summary>
            Union - Update this rectangle to be the union of this and rect.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.Unioned(JetBrains.Util.Media.JetPhysicalPoint)">
            <summary>
            Union - Update this rectangle to be the union of this and point.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.ContainsInternal(System.Int32,System.Int32)">
            <summary>
            ContainsInternal - Performs just the "point inside" logic
            </summary>
            <returns>
            bool - true if the point is inside the rect
            </returns>
            <param name="x"> The x-coord of the point to test </param>
            <param name="y"> The y-coord of the point to test </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.System#IEquatable{JetBrains#Util#Media#JetPhysicalRect}#Equals(JetBrains.Util.Media.JetPhysicalRect)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalRect.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetPhysicalSize">
            <summary>
            A 2D size in physical (device-specific, hence depending on the resolution of that device, such as display screen) coordinates.
            Defines a size in terms of non-negative width and height.
            Forked from <c>System.Windows.Size</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructor which sets the size's initial values.  Width and Height must be non-negative
            </summary>
            <param name="width"> int - The initial Width </param>
            <param name="height"> int - THe initial Height </param>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalSize.Empty">
            <summary>
            Empty - a static property which provides an Empty size.  Width and Height are
            negative-infinity.  This is the only situation
            where size can be negative.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalSize.Height">
            <summary>
            Height - Default is 0, must be non-negative.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalSize.IsEmpty">
            <summary>
            IsEmpty - this returns true if this size is the Empty size.
            Note: If size is 0 this JetPhysicalSize still contains a 0 or 1 dimensional set
            of points, so this method should not be used to check for 0 area.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalSize.Width">
            <summary>
            Width - Default is 0, must be non-negative
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.Equals(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Compares two JetPhysicalSize instances for object equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalSize instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first JetPhysicalSize to compare</param>
            <param name='size2'>The second JetPhysicalSize to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.Equals(System.Object)">
            <summary>
            Equals - compares this JetPhysicalSize with the passed in object.
            </summary>
            <returns>
            bool - true if the object is an instance of JetPhysicalSize and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.Equals(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Equals - compares this JetPhysicalSize with the passed in object.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetPhysicalSize to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.GetHashCode">
            <summary>
            Returns the HashCode for this JetPhysicalSize
            </summary>
            <returns>
            int - the HashCode for this JetPhysicalSize
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.op_Addition(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Operator JetPhysicalSize + JetPhysicalSize
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.op_Equality(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Compares two JetPhysicalSize instances for exact equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalSize instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first JetPhysicalSize to compare</param>
            <param name='size2'>The second JetPhysicalSize to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.op_Explicit(JetBrains.Util.Media.JetPhysicalSize)~JetBrains.Util.Media.JetPhysicalVector">
            <summary>
            Explicit conversion to JetPhysicalVector.
            </summary>
            <returns>
            JetPhysicalVector - A JetPhysicalVector equal to this JetPhysicalSize
            </returns>
            <param name="size"> JetPhysicalSize - the JetPhysicalSize to convert to a JetPhysicalVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.op_Explicit(JetBrains.Util.Media.JetPhysicalSize)~JetBrains.Util.Media.JetPhysicalPoint">
            <summary>
            Explicit conversion to JetPhysicalPoint
            </summary>
            <returns>
            JetPhysicalPoint - A JetPhysicalPoint equal to this JetPhysicalSize
            </returns>
            <param name="size"> JetPhysicalSize - the JetPhysicalSize to convert to a JetPhysicalPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.op_Inequality(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Compares two JetPhysicalSize instances for exact inequality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalSize instances are exactly unequal, false otherwise
            </returns>
            <param name='size1'>The first JetPhysicalSize to compare</param>
            <param name='size2'>The second JetPhysicalSize to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.op_Subtraction(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Operator JetPhysicalSize - JetPhysicalSize
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetPhysicalSize data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalSize.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetPhysicalThickness">
            <summary>
            A 2D thickness/padding in physical (device-specific, hence depending on the resolution of that device, such as display screen) coordinates.
            JetPhysicalThickness is a value type used to describe the thickness of frame around a rectangle.
            It contains four ints each corresponding to a side: Left, Top, Right, Bottom.
            Forked from <c>System.Windows.Thickness</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.#ctor(System.Int32)">
            <summary>
            This constructur builds a JetPhysicalThickness with a specified value on every side.
            </summary>
            <param name="uniformLength">The specified uniform length.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            This constructor builds a JetPhysicalThickness with the specified number of pixels on each side.
            </summary>
            <param name="left">The thickness for the left side.</param>
            <param name="top">The thickness for the top side.</param>
            <param name="right">The thickness for the right side.</param>
            <param name="bottom">The thickness for the bottom side.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.#ctor(System.Int32,System.Int32)">
            <summary>
            This constructor builds a JetPhysicalThickness with the specified number of pixels on each side.
            </summary>
            <param name="leftright">The thickness for the left side and for the right side.</param>
            <param name="topbottom">The thickness for the top side and for the bottom side.</param>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalThickness.Bottom">
            <summary>This property is the Length on the thickness' bottom side</summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalThickness.Left">
            <summary>This property is the Length on the thickness' left side</summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalThickness.Right">
            <summary>This property is the Length on the thickness' right side</summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalThickness.Top">
            <summary>This property is the Length on the thickness' top side</summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.Equals(System.Object)">
            <summary>
            This function compares to the provided object for type and value equality.
            </summary>
            <param name="obj">Object to compare</param>
            <returns>True if object is a JetPhysicalThickness and all sides of it are equal to this JetPhysicalThickness'.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.Equals(JetBrains.Util.Media.JetPhysicalThickness@)">
            <summary>
            Compares this instance of JetPhysicalThickness with another instance.
            </summary>
            <param name="thickness">JetPhysicalThickness instance to compare.</param>
            <returns><c>true</c>if this JetPhysicalThickness instance has the same value
            and unit type as thickness.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.GetHashCode">
            <summary>
            This function returns a hash code.
            </summary>
            <returns>Hash code</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.op_Equality(JetBrains.Util.Media.JetPhysicalThickness@,JetBrains.Util.Media.JetPhysicalThickness@)">
            <summary>
            Overloaded operator to compare two Thicknesses for equality.
            </summary>
            <param name="t1">first JetPhysicalThickness to compare</param>
            <param name="t2">second JetPhysicalThickness to compare</param>
            <returns>True if all sides of the JetPhysicalThickness are equal, false otherwise</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.op_Inequality(JetBrains.Util.Media.JetPhysicalThickness@,JetBrains.Util.Media.JetPhysicalThickness@)">
            <summary>
            Overloaded operator to compare two Thicknesses for inequality.
            </summary>
            <param name="t1">first JetPhysicalThickness to compare</param>
            <param name="t2">second JetPhysicalThickness to compare</param>
            <returns>False if all sides of the JetPhysicalThickness are equal, true otherwise</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.ToString">
            <summary>
            Converts this JetPhysicalThickness object to a string.
            </summary>
            <returns>String conversion.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalThickness.System#IEquatable{JetBrains#Util#Media#JetPhysicalThickness}#Equals(JetBrains.Util.Media.JetPhysicalThickness)">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Media.JetPhysicalVector">
            <summary>
            A 2D vector in physical (device-specific, hence depending on the resolution of that device, such as display screen) coordinates.
            Forked from <c>System.Windows.Vector</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.#ctor(System.Int32,System.Int32)">
            <summary>
            Constructor which sets the vector's initial values
            </summary>
            <param name="x"> int - The initial X </param>
            <param name="y"> int - THe initial Y </param>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalVector.LengthSquared">
            <summary>
            LengthSquared Property - the squared length of this JetPhysicalVector
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalVector.X">
            <summary>
                X - int.  Default value is 0.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPhysicalVector.Y">
            <summary>
                Y - int.  Default value is 0.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Add(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Add: JetPhysicalVector + JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Add(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalPoint)">
            <summary>
            Add: JetPhysicalVector + JetPhysicalPoint
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.CrossProduct(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            CrossProduct - Returns the cross product: vector1.X*vector2.Y - vector1.Y*vector2.X
            </summary>
            <returns>
            Returns the cross product: vector1.X*vector2.Y - vector1.Y*vector2.X
            </returns>
            <param name="vector1"> The first JetPhysicalVector </param>
            <param name="vector2"> The second JetPhysicalVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Determinant(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Determinant - Returns the determinant det(vector1, vector2)
            </summary>
            <returns>
            Returns the determinant: vector1.X*vector2.Y - vector1.Y*vector2.X
            </returns>
            <param name="vector1"> The first JetPhysicalVector </param>
            <param name="vector2"> The second JetPhysicalVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Divide(JetBrains.Util.Media.JetPhysicalVector,System.Double)">
            <summary>
            Multiply: JetPhysicalVector / double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Equals(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Compares two JetPhysicalVector instances for object equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalVector instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first JetPhysicalVector to compare</param>
            <param name='vector2'>The second JetPhysicalVector to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Equals(System.Object)">
            <summary>
            Equals - compares this JetPhysicalVector with the passed in object.
            </summary>
            <returns>
            bool - true if the object is an instance of JetPhysicalVector and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Equals(JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Equals - compares this JetPhysicalVector with the passed in object.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetPhysicalVector to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.GetHashCode">
            <summary>
            Returns the HashCode for this JetPhysicalVector
            </summary>
            <returns>
            int - the HashCode for this JetPhysicalVector
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Multiply(JetBrains.Util.Media.JetPhysicalVector,System.Double)">
            <summary>
            Multiply: JetPhysicalVector * double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Multiply(System.Double,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Multiply: double * JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Multiply(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Multiply - Returns the dot product: vector1.X*vector2.X + vector1.Y*vector2.Y
            </summary>
            <returns>
            Returns the dot product: vector1.X*vector2.X + vector1.Y*vector2.Y
            </returns>
            <param name="vector1"> The first JetPhysicalVector </param>
            <param name="vector2"> The second JetPhysicalVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Negated">
            <summary>
            Negates the values of X and Y on this JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Addition(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Operator JetPhysicalVector + JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Addition(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalPoint)">
            <summary>
            Operator JetPhysicalVector + JetPhysicalPoint
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Division(JetBrains.Util.Media.JetPhysicalVector,System.Double)">
            <summary>
            Operator JetPhysicalVector / double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Equality(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Compares two JetPhysicalVector instances for exact equality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalVector instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first JetPhysicalVector to compare</param>
            <param name='vector2'>The second JetPhysicalVector to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Explicit(JetBrains.Util.Media.JetPhysicalVector)~JetBrains.Util.Media.JetPhysicalSize">
            <summary>
            Explicit conversion to JetPhysicalSize.  Note that since JetPhysicalSize cannot contain negative values,
            the resulting size will contains the absolute values of X and Y
            </summary>
            <returns>
            JetPhysicalSize - A JetPhysicalSize equal to this JetPhysicalVector
            </returns>
            <param name="vector"> JetPhysicalVector - the JetPhysicalVector to convert to a JetPhysicalSize </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Explicit(JetBrains.Util.Media.JetPhysicalVector)~JetBrains.Util.Media.JetPhysicalPoint">
            <summary>
            Explicit conversion to JetPhysicalPoint
            </summary>
            <returns>
            JetPhysicalPoint - A JetPhysicalPoint equal to this JetPhysicalVector
            </returns>
            <param name="vector"> JetPhysicalVector - the JetPhysicalVector to convert to a JetPhysicalPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Inequality(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Compares two JetPhysicalVector instances for exact inequality.
            </summary>
            <returns>
            bool - true if the two JetPhysicalVector instances are exactly unequal, false otherwise
            </returns>
            <param name='vector1'>The first JetPhysicalVector to compare</param>
            <param name='vector2'>The second JetPhysicalVector to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Multiply(JetBrains.Util.Media.JetPhysicalVector,System.Double)">
            <summary>
            Operator JetPhysicalVector * double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Multiply(System.Double,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Operator double * JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Multiply(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Operator JetPhysicalVector * JetPhysicalVector, interpreted as their dot product
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_Subtraction(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Operator JetPhysicalVector - JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.op_UnaryNegation(JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Operator -JetPhysicalVector (unary negation)
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetPhysicalVector data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.Subtract(JetBrains.Util.Media.JetPhysicalVector,JetBrains.Util.Media.JetPhysicalVector)">
            <summary>
            Subtract: JetPhysicalVector - JetPhysicalVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPhysicalVector.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetPoint">
            <summary>
            A 2D point in logical (device-independent and resolution-independent) coordinates.
            Forked from <c>System.Windows.Point</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.#ctor(System.Double,System.Double)">
            <summary>
            Constructor which accepts the X and Y values
            </summary>
            <param name="x">The value for the X coordinate of the new JetPoint</param>
            <param name="y">The value for the Y coordinate of the new JetPoint</param>
        </member>
        <member name="P:JetBrains.Util.Media.JetPoint.X">
            <summary>
                X - double.  Default value is 0.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetPoint.Y">
            <summary>
                Y - double.  Default value is 0.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Add(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetVector@)">
            <summary>
            Add: JetPoint + JetVector
            </summary>
            <returns>
            JetPoint - The result of the addition
            </returns>
            <param name="point"> The JetPoint to be added to the JetVector </param>
            <param name="vector"> The JetVector to be added to the JetPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Equals(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetPoint@)">
            <summary>
            Compares two JetPoint instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two JetPoint instances are exactly equal, false otherwise
            </returns>
            <param name='point1'>The first JetPoint to compare</param>
            <param name='point2'>The second JetPoint to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Equals(System.Object)">
            <summary>
            Equals - compares this JetPoint with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of JetPoint and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Equals(JetBrains.Util.Media.JetPoint@)">
            <summary>
            Equals - compares this JetPoint with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetPoint to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.GetHashCode">
            <summary>
            Returns the HashCode for this JetPoint
            </summary>
            <returns>
            int - the HashCode for this JetPoint
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Multiply(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Multiply: JetPoint * JetMatrix
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Offset(System.Double,System.Double)">
            <summary>
            Offset - update the location by adding offsetX to X and offsetY to Y
            </summary>
            <param name="offsetX"> The offset in the x dimension </param>
            <param name="offsetY"> The offset in the y dimension </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Addition(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetVector@)">
            <summary>
            Operator JetPoint + JetVector
            </summary>
            <returns>
            JetPoint - The result of the addition
            </returns>
            <param name="point"> The JetPoint to be added to the JetVector </param>
            <param name="vector"> The Vectr to be added to the JetPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Equality(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetPoint@)">
            <summary>
            Compares two JetPoint instances for exact equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetPoint instances are exactly equal, false otherwise
            </returns>
            <param name='point1'>The first JetPoint to compare</param>
            <param name='point2'>The second JetPoint to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Explicit(JetBrains.Util.Media.JetPoint@)~JetBrains.Util.Media.JetSize">
            <summary>
            Explicit conversion to JetSize.  Note that since JetSize cannot contain negative values,
            the resulting size will contains the absolute values of X and Y
            </summary>
            <returns>
            JetSize - A JetSize equal to this JetPoint
            </returns>
            <param name="point"> JetPoint - the JetPoint to convert to a JetSize </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Explicit(JetBrains.Util.Media.JetPoint@)~JetBrains.Util.Media.JetVector">
            <summary>
            Explicit conversion to JetVector
            </summary>
            <returns>
            JetVector - A JetVector equal to this JetPoint
            </returns>
            <param name="point"> JetPoint - the JetPoint to convert to a JetVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Inequality(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetPoint@)">
            <summary>
            Compares two JetPoint instances for exact inequality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetPoint instances are exactly unequal, false otherwise
            </returns>
            <param name='point1'>The first JetPoint to compare</param>
            <param name='point2'>The second JetPoint to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Multiply(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Operator JetPoint * JetMatrix
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Subtraction(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetVector@)">
            <summary>
            Operator JetPoint - JetVector
            </summary>
            <returns>
            JetPoint - The result of the subtraction
            </returns>
            <param name="point"> The JetPoint from which the JetVector is subtracted </param>
            <param name="vector"> The JetVector which is subtracted from the JetPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.op_Subtraction(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetPoint@)">
            <summary>
            Operator JetPoint - JetPoint
            </summary>
            <returns>
            JetVector - The result of the subtraction
            </returns>
            <param name="point1"> The JetPoint from which point2 is subtracted </param>
            <param name="point2"> The JetPoint subtracted from point1 </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetPoint data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Subtract(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetVector@)">
            <summary>
            Subtract: JetPoint - JetVector
            </summary>
            <returns>
            JetPoint - The result of the subtraction
            </returns>
            <param name="point"> The JetPoint from which the JetVector is subtracted </param>
            <param name="vector"> The JetVector which is subtracted from the JetPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.Subtract(JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetPoint@)">
            <summary>
            Subtract: JetPoint - JetPoint
            </summary>
            <returns>
            JetVector - The result of the subtraction
            </returns>
            <param name="point1"> The JetPoint from which point2 is subtracted </param>
            <param name="point2"> The JetPoint subtracted from point1 </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.System#IEquatable{JetBrains#Util#Media#JetPoint}#Equals(JetBrains.Util.Media.JetPoint)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetPoint.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetRect">
            <summary>
            A 2D rectangle in logical (device-independent and resolution-independent) coordinates.
            Rects are stored as X, Y (Location) and Width and Height (JetSize).  As a result, Rects cannot have negative Width or Height.
            Forked from <c>System.Windows.Rect</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.#ctor(JetBrains.Util.Media.JetPoint,JetBrains.Util.Media.JetSize)">
            <summary>
            Constructor which sets the initial values to the values of the parameters
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Constructor which sets the initial values to the values of the parameters.
            Width and Height must be non-negative
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.#ctor(JetBrains.Util.Media.JetPoint,JetBrains.Util.Media.JetPoint)">
            <summary>
            Constructor which sets the initial values to bound the two points provided.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.#ctor(JetBrains.Util.Media.JetPoint,JetBrains.Util.Media.JetVector)">
            <summary>
            Constructor which sets the initial values to bound the point provided and the point
            which results from point + vector.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.#ctor(JetBrains.Util.Media.JetSize)">
            <summary>
            Constructor which sets the initial values to bound the (0,0) point and the point
            that results from (0,0) + size.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.#ctor(System.Reflection.Missing)">
            <summary>
            A special empty rect ctor to bypass checks.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Bottom">
            <summary>
            Bottom Property - This is a read-only alias for Y + Height
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.BottomLeft">
            <summary>
            BottomLeft Property - This is a read-only alias for the JetPoint which is at X, Y + Height
            If this is the empty rectangle, the value will be positive infinity, negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.BottomRight">
            <summary>
            BottomRight Property - This is a read-only alias for the JetPoint which is at X + Width, Y + Height
            If this is the empty rectangle, the value will be negative infinity, negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Empty">
            <summary>
            Empty - a static property which provides an Empty rectangle.  X and Y are positive-infinity
            and Width and Height are negative infinity.  This is the only situation where Width or
            Height can be negative.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Height">
            <summary>
            Height - The Height component of the JetSize.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.IsEmpty">
            <summary>
            IsEmpty - this returns true if this rect is the Empty rectangle.
            Note: If width or height are 0 this Rectangle still contains a 0 or 1 dimensional set
            of points, so this method should not be used to check for 0 area.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Left">
            <summary>
            Left Property - This is a read-only alias for X
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Location">
            <summary>
            Location - The JetPoint representing the origin of the Rectangle
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Right">
            <summary>
            Right Property - This is a read-only alias for X + Width
            If this is the empty rectangle, the value will be negative infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Size">
            <summary>
            JetSize - The JetSize representing the area of the Rectangle
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Top">
            <summary>
            Top Property - This is a read-only alias for Y
            If this is the empty rectangle, the value will be positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.TopLeft">
            <summary>
            TopLeft Property - This is a read-only alias for the JetPoint which is at X, Y
            If this is the empty rectangle, the value will be positive infinity, positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.TopRight">
            <summary>
            TopRight Property - This is a read-only alias for the JetPoint which is at X + Width, Y
            If this is the empty rectangle, the value will be negative infinity, positive infinity.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Width">
            <summary>
            Width - The Width component of the JetSize.  This cannot be set to negative, and will only
            be negative if this is the empty rectangle, in which case it will be negative infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.X">
            <summary>
            X - The X coordinate of the Location.
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetRect.Y">
            <summary>
            Y - The Y coordinate of the Location
            If this is the empty rectangle, the value will be positive infinity.
            If this rect is Empty, setting this property is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Contains(JetBrains.Util.Media.JetPoint)">
            <summary>
            Contains - Returns true if the JetPoint is within the rectangle, inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="point"> The point which is being tested </param>
            <returns>
            Returns true if the JetPoint is within the rectangle.
            Returns false otherwise
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Contains(System.Double,System.Double)">
            <summary>
            Contains - Returns true if the JetPoint represented by x,y is within the rectangle inclusive of the edges.
            Returns false otherwise.
            </summary>
            <param name="x"> X coordinate of the point which is being tested </param>
            <param name="y"> Y coordinate of the point which is being tested </param>
            <returns>
            Returns true if the JetPoint represented by x,y is within the rectangle.
            Returns false otherwise.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Contains(JetBrains.Util.Media.JetRect@)">
            <summary>
            Contains - Returns true if the JetRect non-Empty and is entirely contained within the
            rectangle, inclusive of the edges.
            Returns false otherwise
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Equals(JetBrains.Util.Media.JetRect@,JetBrains.Util.Media.JetRect@)">
            <summary>
            Compares two JetRect instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two JetRect instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first JetRect to compare</param>
            <param name='rect2'>The second JetRect to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Equals(System.Object)">
            <summary>
            Equals - compares this JetRect with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of JetRect and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Equals(JetBrains.Util.Media.JetRect@)">
            <summary>
            Equals - compares this JetRect with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetRect to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.FromLTRB(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a rectangle from four coordinates, swaps them as needed if far is less than near.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.GetHashCode">
            <summary>
            Returns the HashCode for this JetRect
            </summary>
            <returns>
            int - the HashCode for this JetRect
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Inflated(JetBrains.Util.Media.JetSize)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Inflated(System.Double,System.Double)">
            <summary>
            Inflate - inflate the bounds by the size provided, in all directions.
            If -width is > Width / 2 or -height is > Height / 2, this JetRect becomes Empty
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Intersected(JetBrains.Util.Media.JetRect@)">
            <summary>
            Intersect - Update this rectangle to be the intersection of this and rect
            If either this or rect are Empty, the result is Empty as well.
            </summary>
            <param name="rect"> The rect to intersect with this </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.IntersectsWith(JetBrains.Util.Media.JetRect@)">
            <summary>
            IntersectsWith - Returns true if the JetRect intersects with this rectangle
            Returns false otherwise.
            Note that if one edge is coincident, this is considered an intersection.
            </summary>
            <returns>
            Returns true if the JetRect intersects with this rectangle
            Returns false otherwise.
            or Height
            </returns>
            <param name="rect"> JetRect </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Offset(JetBrains.Util.Media.JetVector@)">
            <summary>
            Offset - translate the Location by the offset provided.
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Offset(System.Double,System.Double)">
            <summary>
            Offset - translate the Location by the offset provided
            If this is Empty, this method is illegal.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.op_Equality(JetBrains.Util.Media.JetRect@,JetBrains.Util.Media.JetRect@)">
            <summary>
            Compares two JetRect instances for exact equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetRect instances are exactly equal, false otherwise
            </returns>
            <param name='rect1'>The first JetRect to compare</param>
            <param name='rect2'>The second JetRect to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.op_Inequality(JetBrains.Util.Media.JetRect@,JetBrains.Util.Media.JetRect@)">
            <summary>
            Compares two JetRect instances for exact inequality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetRect instances are exactly unequal, false otherwise
            </returns>
            <param name='rect1'>The first JetRect to compare</param>
            <param name='rect2'>The second JetRect to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetRect data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Scaled(System.Double,System.Double)">
            <summary>
            Scale the rectangle in the X and Y directions
            </summary>
            <param name="scaleX"> The scale in X </param>
            <param name="scaleY"> The scale in Y </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Transformed(JetBrains.Util.Media.JetMatrix@)">
            <summary>
            Updates rectangle to be the bounds of the original value transformed
            by the matrix.
            The Empty JetRect is not affected by this call.
            </summary>
            <param name="matrix"> JetMatrix </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Unioned(JetBrains.Util.Media.JetRect@)">
            <summary>
            Union - Update this rectangle to be the union of this and rect.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.Unioned(JetBrains.Util.Media.JetPoint)">
            <summary>
            Union - Update this rectangle to be the union of this and point.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.ContainsInternal(System.Double,System.Double)">
            <summary>
            ContainsInternal - Performs just the "point inside" logic
            </summary>
            <returns>
            bool - true if the point is inside the rect
            </returns>
            <param name="x"> The x-coord of the point to test </param>
            <param name="y"> The y-coord of the point to test </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.System#IEquatable{JetBrains#Util#Media#JetRect}#Equals(JetBrains.Util.Media.JetRect)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetRect.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetRects">
            <summary>
            A helper class for carrying out advanced operations over rectangles.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.JetRects.AllSides">
            <summary>
            All docking sides, in LTRB order (except for fill mode, which is <c>NULL</c> with a nullable docking style).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenter(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetRect)">
            <summary>
            Centers one rectangle within another.
            </summary>
            <param name="source">The rectangle to align. The returned value will have the same size.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenter(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetRect)">
            <summary>
            Centers one rectangle within another.
            </summary>
            <param name="source">The size of the rectangle to align. The returned value will have the same size.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenter(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Centers one rectangle within another.
            </summary>
            <param name="source">The rectangle to align. The returned value will have the same size.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenter(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Centers one rectangle within another.
            </summary>
            <param name="source">The size of the rectangle to align. The returned value will have the same size.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndCropped(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Centers one rectangle within another and crops down as needed.
            </summary>
            <param name="source">The rectangle to align. The returned value may be cropped down by the <paramref name="bounds" />.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndCropped(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Centers one rectangle within another and crops down as needed.
            </summary>
            <param name="source">The size of the rectangle to align. The returned value may be cropped down by the <paramref name="bounds" />.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndCropped(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetRect)">
            <summary>
            Centers one rectangle within another and crops down as needed.
            </summary>
            <param name="source">The rectangle to align. The returned value may be cropped down by the <paramref name="bounds" />.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndCropped(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetRect)">
            <summary>
            Centers one rectangle within another and crops down as needed.
            </summary>
            <param name="source">The size of the rectangle to align. The returned value may be cropped down by the <paramref name="bounds" />.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndDownscaled(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Centers one rectangle within another. If the <paramref name="source" /> does not fit into <paramref name="bounds" />, it's downscaled proportionally.
            </summary>
            <param name="source">The rectangle to align. The returned value may be downscaled.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndDownscaled(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetRect)">
            <summary>
            Centers one rectangle within another. If the <paramref name="source" /> does not fit into <paramref name="bounds" />, it's downscaled proportionally.
            </summary>
            <param name="source">The rectangle to align. The returned value may be downscaled.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndDownscaled(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Centers one rectangle within another. If the <paramref name="source" /> does not fit into <paramref name="bounds" />, it's downscaled proportionally.
            </summary>
            <param name="source">The size of the rectangle to align. The returned value may be downscaled.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedCenterAndDownscaled(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetRect)">
            <summary>
            Centers one rectangle within another. If the <paramref name="source" /> does not fit into <paramref name="bounds" />, it's downscaled proportionally.
            </summary>
            <param name="source">The size of the rectangle to align. The returned value may be downscaled.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AlignedWithinUsingMinSize(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Try to make sure one rectangle is located within the other, preferring to keep its size if possible and executing minimal moves.
            If source rectangle is bigger than the bounds, ensure its left top corner is within the bounds.
            </summary>
            <param name="source">The rectangle to align.</param>
            <param name="bounds">The bounds to align the <paramref name="source" /> within, may be smaller than <paramref name="source" />.</param>
            <param name="minSize">The rectangle minimal size.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AssertIsReal(JetBrains.Util.Media.JetSize,System.String)">
            <summary>
            Asserts that size dimensions are real numbers. Fluent.
            Throws on <see cref="F:System.Double.NaN" />, <see cref="F:System.Double.PositiveInfinity" />, <see cref="F:System.Double.NegativeInfinity" />.
            </summary>
            <param name="size">Point to test.</param>
            <param name="failmessage">Optional. Message to include in the failure exception.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AssertIsReal(JetBrains.Util.Media.JetRect,System.String)">
            <summary>
            Asserts that rectangle coordinates are real numbers. Fluent.
            Throws on <see cref="F:System.Double.NaN" />, <see cref="F:System.Double.PositiveInfinity" />, <see cref="F:System.Double.NegativeInfinity" />.
            </summary>
            <param name="rect">Point to test.</param>
            <param name="failmessage">Optional. Message to include in the failure exception.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AtLeast(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Ensures the <paramref name="source" /> size is at least <paramref name="minimum" />.
            </summary>
            <param name="source">The source size to be limited. May be non-normalized.</param>
            <param name="minimum">The limiting minimal size. Must be normalized.</param>
            <returns>The constrainted <paramref name="source" />, guaranteed to be normalized.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AtLeast(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Ensures the <paramref name="source" /> size is at least <paramref name="minimum" />.
            </summary>
            <param name="source">The source size to be limited. May be non-normalized.</param>
            <param name="minimum">The limiting minimal size. Must be normalized.</param>
            <returns>The constrainted <paramref name="source" />, guaranteed to be normalized.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AtMost(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <inheritdoc cref="M:JetBrains.Util.Media.JetRects.Constrained(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)" />
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.AtMost(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <inheritdoc cref="M:JetBrains.Util.Media.JetRects.Constrained(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)" />
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Attach(JetBrains.Util.Media.JetRect@,JetBrains.Util.Media.JetDockStyle,System.Double)">
            <summary>
            Returns a non-collapsed rectangle attached outside the <paramref name="anchor" /> rectangle. Modifies the <paramref name="anchor" /> rectangle!
            </summary>
            <param name="anchor">The attachment anchor. Increased to include the newly-attached rectangle on exit, so that to attach multiple rects in sequence.</param>
            <param name="dockstyle">The docking style, which can be a side-dock only.</param>
            <param name="size">The characteristic size of the side-attached rectangle (only either width or height, whichever is not defined by the attachment process).</param>
            <returns>The rectangle attached at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Attach(JetBrains.Util.Media.JetRect@,JetBrains.Util.Media.JetDockStyle,JetBrains.Util.Media.JetSize)">
            <summary>
            Returns a non-collapsed rectangle attached outside the <paramref name="anchor" /> rectangle. Modifies the <paramref name="anchor" /> rectangle!
            </summary>
            <param name="anchor">The attachment anchor. Increased to include the newly-attached rectangle on exit, so that to attach multiple rects in sequence.</param>
            <param name="dockstyle">The docking style, which can be a side-dock only.</param>
            <param name="size">The characteristic size of the side-attached rectangle (only either width or height is used, whichever is not defined by the attachment process).</param>
            <returns>The rectangle attached at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.ClippedSmart(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetRect)">
            <summary>
            Performs the smart clipping that returns a non-all-zeros rectangle even if there is no intersection.
            Ie, when the <paramref name="source" /> rect lays outside the <paramref name="bounds" /> over some side, the result is a zero-thick projection on that side.
            </summary>
            <param name="source"></param>
            <param name="bounds"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.ClippedSmart(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Performs the smart clipping that returns a non-all-zeros rectangle even if there is no intersection.
            Ie, when the <paramref name="source" /> rect lays outside the <paramref name="bounds" /> over some side, the result is a zero-thick projection on that side.
            </summary>
            <param name="source"></param>
            <param name="bounds"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Collapse_Linear(System.Double,System.Double,JetBrains.UI.Anchoring)">
            <summary>
            A helper function for the <see cref="M:JetBrains.Util.Media.JetRects.Collapsed(JetBrains.Util.Media.JetRect,JetBrains.UI.Anchoring2D)" /> func, handles one dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Collapse_Linear(System.Int32,System.Int32,JetBrains.UI.Anchoring)">
            <summary>
            A helper function for the <see cref="M:JetBrains.Util.Media.JetRects.Collapsed(JetBrains.Util.Media.JetPhysicalRect,JetBrains.UI.Anchoring2D)" /> func, handles one dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Collapsed(JetBrains.Util.Media.JetPhysicalRect,JetBrains.UI.Anchoring2D)">
            <summary>
            Collapses a rectangle down to a point.
            The inside modes are located on the inner sides of the rectangle, and outside ones are one point outside.
            The bottom-right sides are not included within the rectangle area.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Collapsed(JetBrains.Util.Media.JetRect,JetBrains.UI.Anchoring2D)">
            <summary>
            Collapses a rectangle down to a point.
            The inside modes are located on the inner sides of the rectangle, and outside ones are one point outside.
            The bottom-right sides are not included within the rectangle area.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Constrained(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Constrains the <paramref name="source" /> size by the <paramref name="limit" />.
            </summary>
            <param name="source">The source size to be limited. May be non-normalized.</param>
            <param name="limit">The limiting size. Must be normalized.</param>
            <returns>The constrainted <paramref name="source" />, guaranteed to be normalized.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Constrained(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Constrains the <paramref name="source" /> size by the <paramref name="limit" />.
            </summary>
            <param name="source">The source size to be limited. May be non-normalized.</param>
            <param name="limit">The limiting size. Must be normalized.</param>
            <returns>The constrainted <paramref name="source" />, guaranteed to be normalized.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Deflated(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetThickness)">
            <summary>
            Deflates all the rectangle's sides by the given amount. If the numbers are positive, the rectangle will shrink.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Deflated(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalThickness)">
            <summary>
            Deflates all the rectangle's sides by the given amount. If the numbers are positive, the rectangle will shrink.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Dock(JetBrains.Util.Media.JetPhysicalRect@,JetBrains.Util.Media.JetDockStyle,System.Int32)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Modifies the <paramref name="space" /> rectangle!
            </summary>
            <param name="space">The docking space. Decreased to exclude the newly-docked rectangle on exit, so that to dock multiple rects in sequence.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (either width or height, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Dock(JetBrains.Util.Media.JetPhysicalRect@,System.Nullable{JetBrains.Util.Media.JetDockStyle},JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Modifies the <paramref name="space" /> rectangle!
            </summary>
            <param name="space">The docking space. Decreased to exclude the newly-docked rectangle on exit, so that to dock multiple rects in sequence.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (only either width or height is used, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Dock(JetBrains.Util.Media.JetPhysicalRect@,System.Nullable{JetBrains.Util.Media.JetDockStyle},JetBrains.Util.Media.JetPhysicalThickness)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Modifies the <paramref name="space" /> rectangle!
            </summary>
            <param name="space">The docking space. Decreased to exclude the newly-docked rectangle on exit, so that to dock multiple rects in sequence.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="thickness">The corresponding thickness of the side-docked rectangle (only the value corresponding to <paramref name="dock" /> is used). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Dock(JetBrains.Util.Media.JetRect@,System.Nullable{JetBrains.Util.Media.JetDockStyle},System.Double)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Modifies the <paramref name="space" /> rectangle!
            </summary>
            <param name="space">The docking space. Decreased to exclude the newly-docked rectangle on exit, so that to dock multiple rects in sequence.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (either width or height, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Dock(JetBrains.Util.Media.JetRect@,System.Nullable{JetBrains.Util.Media.JetDockStyle},JetBrains.Util.Media.JetSize)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Modifies the <paramref name="space" /> rectangle!
            </summary>
            <param name="space">The docking space. Decreased to exclude the newly-docked rectangle on exit, so that to dock multiple rects in sequence.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (only either width or height is used, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Dock(JetBrains.Util.Media.JetRect@,System.Nullable{JetBrains.Util.Media.JetDockStyle},JetBrains.Util.Media.JetThickness)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Modifies the <paramref name="space" /> rectangle!
            </summary>
            <param name="space">The docking space. Decreased to exclude the newly-docked rectangle on exit, so that to dock multiple rects in sequence.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="thickness">The corresponding thickness of the side-docked rectangle (only the value corresponding to <paramref name="dock" /> is used). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Docked(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetDockStyle,System.Int32)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Does not modify the <paramref name="space" /> rectangle.
            </summary>
            <param name="space">The docking space.</param>
            <param name="dockstyle">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (either width or height, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Docked(JetBrains.Util.Media.JetRect,System.Nullable{JetBrains.Util.Media.JetDockStyle},System.Double)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Does not modify the <paramref name="space" /> rectangle.
            </summary>
            <param name="space">The docking space.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (either width or height, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Docked(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetDockStyle,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Does not modify the <paramref name="space" /> rectangle.
            </summary>
            <param name="space">The docking space.</param>
            <param name="dockstyle">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (only either width or height is used, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Docked(JetBrains.Util.Media.JetRect,System.Nullable{JetBrains.Util.Media.JetDockStyle},JetBrains.Util.Media.JetSize)">
            <summary>
            Returns a non-collapsed rectangle docked within the <paramref name="space" /> rectangle. Does not modify the <paramref name="space" /> rectangle.
            </summary>
            <param name="space">The docking space.</param>
            <param name="dock">The docking style, which can be either any side or fill.</param>
            <param name="size">The characteristic size of the side-docked rectangle (only either width or height is used, whichever is not defined by the docking process). In the fill case, this parameter is ignored.</param>
            <returns>The rectangle docked at the given side.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.EnsuredEmptySize(JetBrains.Util.Media.JetSize)">
            <summary>
            Returns <see cref="F:System.Drawing.Size.Empty" /> if the given <paramref name="size" /> is "enhanced-empty", that is, either it's <see cref="P:System.Drawing.Size.IsEmpty" />, or one of its dimensions is zero. Otherwise, returns the original size.
            Curcumvents the fact that <see cref="P:System.Drawing.Size.IsEmpty" /> requires both dimensions to be simultaneousely zero.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.EnsuredEmptySize(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Returns <see cref="F:System.Drawing.Size.Empty" /> if the given <paramref name="size" /> is "enhanced-empty", that is, either it's <see cref="P:System.Drawing.Size.IsEmpty" />, or one of its dimensions is zero. Otherwise, returns the original size.
            Curcumvents the fact that <see cref="P:System.Drawing.Size.IsEmpty" /> requires both dimensions to be simultaneousely zero.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.FromLtrbNonnegative(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a rectangle in a way similar to winforms' <c>Rectangle.FromLTRB</c>, but ensures that no dimension is negative.
            If near is less than far, they're both set to the middle value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.FromLtrbNonnegativePhysical(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Creates a rectangle in a way similar to winforms' <c>Rectangle.FromLTRB</c>, but ensures that no dimension is negative.
            If near is less than far, they're both set to the middle value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.GetCenter(JetBrains.Util.Media.JetRect)">
            <summary>
            Gets a point that is the center of the rectangle.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.GetCenter(JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Gets a point that is the center of the rectangle.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.GetCenter(JetBrains.Interop.WinApi.RECT)">
            <summary>
            Gets a point that is the center of the rectangle.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Inflated(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetThickness)">
            <summary>
            Inflates all the rectangle's sides by the thickness provided, in all directions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Inflated(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalThickness)">
            <summary>
            Inflates all the rectangle's sides by the thickness provided, in all directions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(JetBrains.Util.Media.JetRect)">
            <summary>
            Gets whether the given rectangle is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(System.Nullable{JetBrains.Util.Media.JetRect})">
            <summary>
            Gets whether the given rectangle is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Gets whether the given rectangle is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(System.Nullable{JetBrains.Util.Media.JetPhysicalRect})">
            <summary>
            Gets whether the given rectangle is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Gets whether the given size is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(JetBrains.Util.Media.JetSize)">
            <summary>
            Gets whether the given size is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsCollapsed(JetBrains.Interop.WinApi.RECT)">
            <summary>
            Gets whether the given rectangle is collapsed, that is, has a zero or negative dimension.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNanOrInf(JetBrains.Util.Media.JetRect)">
            <summary>
            Gets whether any of the coordinates are NAN or INF (<see cref="M:JetBrains.NumberUtil.IsNanOrInf(System.Double)" />).
            </summary>
            <seealso cref="M:JetBrains.Util.Media.JetRects.AssertIsReal(JetBrains.Util.Media.JetRect,System.String)" />
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNanOrInf(JetBrains.Util.Media.JetPoint)">
            <summary>
            Gets whether any of the coordinates are NAN or INF (<see cref="M:JetBrains.NumberUtil.IsNanOrInf(System.Double)" />).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNanOrInf(JetBrains.Util.Media.JetSize)">
            <summary>
            Gets whether any of the coordinates are NAN or INF (<see cref="M:JetBrains.NumberUtil.IsNanOrInf(System.Double)" />).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetRect)">
            <summary>
            Checks whether the rectangle is normalized.
            A normalized rectangle is such whose left coordinate is not greater than right, and top coordinate is not greater than bottom.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Checks whether the size corresponds to a normalized rectangle.
            A normalized rectangle is such whose left coordinate is not greater than right, and top coordinate is not greater than bottom.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetSize)">
            <summary>
            Checks whether the size corresponds to a normalized rectangle.
            A normalized rectangle is such whose left coordinate is not greater than right, and top coordinate is not greater than bottom.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Checks whether the rectangle is normalized.
            A normalized rectangle is such whose left coordinate is not greater than right, and top coordinate is not greater than bottom.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Max(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Gets the normalized maximum of two sizes, max operation executed independently against both dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Max(JetBrains.Interop.WinApi.Declarations.Structures.SIZE,JetBrains.Interop.WinApi.Declarations.Structures.SIZE)">
            <summary>8
            Gets the normalized maximum of two sizes, max operation executed independently against both dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Min(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Gets the normalized minimum of two sizes, min operation executed independently against both dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Min(JetBrains.Util.Media.JetPhysicalSize,JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Gets the normalized minimum of two sizes, min operation executed independently against both dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Normalized(JetBrains.Util.Media.JetRect)">
            <summary>
            Normalizes the rectangle so that it has non-negative <see cref="P:JetBrains.Util.Media.JetRect.Width" /> and <see cref="P:JetBrains.Util.Media.JetRect.Height" />, and passes the <see cref="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetRect)" /> with <c>True</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Normalized(JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Normalizes the rectangle so that it has non-negative <see cref="P:JetBrains.Util.Media.JetPhysicalRect.Width" /> and <see cref="P:JetBrains.Util.Media.JetPhysicalRect.Height" />, and passes the <see cref="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetPhysicalRect)" /> with <c>True</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Normalized(JetBrains.Util.Media.JetSize)">
            <summary>
            Normalizes the size so that it has non-negative <see cref="P:JetBrains.Util.Media.JetSize.Width" /> and <see cref="P:JetBrains.Util.Media.JetSize.Height" />, and passes the <see cref="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetSize)" /> with <c>True</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Normalized(JetBrains.Util.Media.JetPhysicalSize)">
            <summary>
            Normalizes the size so that it has non-negative <see cref="P:JetBrains.Util.Media.JetPhysicalSize.Width" /> and <see cref="P:JetBrains.Util.Media.JetPhysicalSize.Height" />, and passes the <see cref="M:JetBrains.Util.Media.JetRects.IsNormalized(JetBrains.Util.Media.JetPhysicalSize)" /> with <c>True</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.PhysicalSize(System.Int32,System.Int32)">
            <summary>
            Creates a new <see cref="T:System.Drawing.Size" /> object that is guaranteed to be normalized and, if at least one of its sides is zero, to be all-zero.
            </summary>
            <param name="width">The desired width.</param>
            <param name="height">The desired height.</param>
            <returns>A normalized size whose sides can only simultaneousely be <c>0</c>.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.Size(System.Double,System.Double)">
            <summary>
            Creates a new <see cref="T:System.Drawing.Size" /> object that is guaranteed to be normalized and, if at least one of its sides is zero, to be all-zero.
            </summary>
            <param name="width">The desired width.</param>
            <param name="height">The desired height.</param>
            <returns>A normalized size whose sides can only simultaneousely be <c>0</c>.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.SIZE(System.Int32,System.Int32)">
            <summary>
            Creates a new <see cref="T:System.Drawing.Size" /> object that is guaranteed to be normalized and, if at least one of its sides is empty, to be <see cref="P:System.Drawing.Size.IsEmpty" />.
            </summary>
            <param name="width">The desired width.</param>
            <param name="height">The desired height.</param>
            <returns>A normalized size whose sides can only simultaneousely be <c>0</c>.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.StackHorizontally(System.Double,JetBrains.Util.Media.JetSize[])">
            <summary>
            Stacks a number of sizes horizontally and returns the resulting size.
            If a size in the list is collapsed, it's not included and the gaps for it are not added.
            </summary>
            <param name="sizes">The list of sizes to stack.</param>
            <param name="gap">The gap to insert between the adjacent stack-items.</param>
            <returns>The bounding rect of the result.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.StackHorizontally(System.Int32,JetBrains.Util.Media.JetPhysicalSize[])">
            <summary>
            Stacks a number of sizes horizontally and returns the resulting size.
            If a size in the list is collapsed, it's not included and the gaps for it are not added.
            </summary>
            <param name="sizes">The list of sizes to stack.</param>
            <param name="gap">The gap to insert between the adjacent stack-items.</param>
            <returns>The bounding rect of the result.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.StackVertically(System.Double,JetBrains.Util.Media.JetSize[])">
            <summary>
            Stacks a number of sizes vertically and returns the resulting size.
            If a size in the list is collapsed, it's not included and the gaps for it are not added.
            </summary>
            <param name="sizes">The list of sizes to stack.</param>
            <param name="gap">The gap to insert between the adjacent stack-items.</param>
            <returns>The bounding rect of the result.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.StackVertically(System.Int32,JetBrains.Util.Media.JetPhysicalSize[])">
            <summary>
            Stacks a number of sizes vertically and returns the resulting size.
            If a size in the list is collapsed, it's not included and the gaps for it are not added.
            </summary>
            <param name="sizes">The list of sizes to stack.</param>
            <param name="gap">The gap to insert between the adjacent stack-items.</param>
            <returns>The bounding rect of the result.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.UnionedHorizontally(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Unites the horizontal coordinates of the rectangles, and takes the y-coordinates solely from <paramref name="source" />.
            </summary>
            <param name="source">The first rectangle, features the y-coordinates of the retval.</param>
            <param name="other">The second rectangle.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.UnionedHorizontally(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetRect)">
            <summary>
            Unites the horizontal coordinates of the rectangles, and takes the y-coordinates solely from <paramref name="source" />.
            </summary>
            <param name="source">The first rectangle, features the y-coordinates of the retval.</param>
            <param name="other">The second rectangle.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.UnionedVertically(JetBrains.Util.Media.JetPhysicalRect,JetBrains.Util.Media.JetPhysicalRect)">
            <summary>
            Unites the vertical coordinates of the rectangles, and takes the x-coordinates solely from <paramref name="source" />.
            </summary>
            <param name="source">The first rectangle, features the x-coordinates of the retval.</param>
            <param name="other">The second rectangle.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.UnionedVertically(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetRect)">
            <summary>
            Unites the vertical coordinates of the rectangles, and takes the x-coordinates solely from <paramref name="source" />.
            </summary>
            <param name="source">The first rectangle, features the x-coordinates of the retval.</param>
            <param name="other">The second rectangle.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithBottom(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithBottom(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithHeight(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Changes the height of the rectangle, not affecting its location.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithHeight(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Changes the height of the rectangle, not affecting its location.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithLeft(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithLeft(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithRight(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithRight(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithTop(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithTop(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Moves one edge of the rectangle without moving any of the other edges.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithWidth(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Changes the width of the rectangle, not affecting its location.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithWidth(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Changes the width of the rectangle, not affecting its location.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithX(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Changes the x-coordinate of the rectangle location, not affecting its dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithX(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Changes the x-coordinate of the rectangle location, not affecting its dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithY(JetBrains.Util.Media.JetRect@,System.Double)">
            <summary>
            Changes the y-coordinate of the rectangle location, not affecting its dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.WithY(JetBrains.Util.Media.JetPhysicalRect@,System.Int32)">
            <summary>
            Changes the y-coordinate of the rectangle location, not affecting its dimensions.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.LogicalToPhysicalLength_Ceiling(System.Double,System.Double)">
            <summary>
            Turns a double length into an int, coercing NaN and Inf values.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.LogicalToPhysicalLength_Floor(System.Double,System.Double)">
            <summary>
            Turns a double length into an int, coercing NaN and Inf values.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.LogicalToPhysicalLength_Round(System.Double,System.Double)">
            <summary>
            Turns a double length into an int, coercing NaN and Inf values.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.PhysicalToLogicalLength(System.Int32,System.Double)">
            <summary>
            Turns an int length into an Avalon double length, converting max-int to corresponding infinities.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.StackImplJPS(System.Collections.Generic.IEnumerable{JetBrains.Util.Media.JetPhysicalSize},System.Int32,System.Boolean)">
            <summary>
            Implements the size-stacking.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetRects.StackImplJS(System.Collections.Generic.IEnumerable{JetBrains.Util.Media.JetSize},System.Double,System.Boolean)">
            <summary>
            Implements the size-stacking.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.JetSize">
            <summary>
            A 2D size in logical (device-independent and resolution-independent) coordinates.
            Defines a size in terms of non-negative width and height.
            Forked from <c>System.Windows.Size</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.#ctor(System.Double,System.Double)">
            <summary>
            Constructor which sets the size's initial values.  Width and Height must be non-negative
            </summary>
            <param name="width"> double - The initial Width </param>
            <param name="height"> double - THe initial Height </param>
        </member>
        <member name="P:JetBrains.Util.Media.JetSize.Empty">
            <summary>
            Empty - a static property which provides an Empty size.  Width and Height are
            negative-infinity.  This is the only situation
            where size can be negative.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetSize.Height">
            <summary>
            Height - Default is 0, must be non-negative.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetSize.IsEmpty">
            <summary>
            IsEmpty - this returns true if this size is the Empty size.
            Note: If size is 0 this JetSize still contains a 0 or 1 dimensional set
            of points, so this method should not be used to check for 0 area.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetSize.Width">
            <summary>
            Width - Default is 0, must be non-negative
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.Equals(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Compares two JetSize instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two JetSize instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first JetSize to compare</param>
            <param name='size2'>The second JetSize to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.Equals(System.Object)">
            <summary>
            Equals - compares this JetSize with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of JetSize and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.Equals(JetBrains.Util.Media.JetSize)">
            <summary>
            Equals - compares this JetSize with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetSize to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.GetHashCode">
            <summary>
            Returns the HashCode for this JetSize
            </summary>
            <returns>
            int - the HashCode for this JetSize
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.op_Addition(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Operator JetSize + JetSize
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.op_Equality(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Compares two JetSize instances for exact equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetSize instances are exactly equal, false otherwise
            </returns>
            <param name='size1'>The first JetSize to compare</param>
            <param name='size2'>The second JetSize to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.op_Explicit(JetBrains.Util.Media.JetSize)~JetBrains.Util.Media.JetVector">
            <summary>
            Explicit conversion to JetVector.
            </summary>
            <returns>
            JetVector - A JetVector equal to this JetSize
            </returns>
            <param name="size"> JetSize - the JetSize to convert to a JetVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.op_Explicit(JetBrains.Util.Media.JetSize)~JetBrains.Util.Media.JetPoint">
            <summary>
            Explicit conversion to JetPoint
            </summary>
            <returns>
            JetPoint - A JetPoint equal to this JetSize
            </returns>
            <param name="size"> JetSize - the JetSize to convert to a JetPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.op_Inequality(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Compares two JetSize instances for exact inequality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetSize instances are exactly unequal, false otherwise
            </returns>
            <param name='size1'>The first JetSize to compare</param>
            <param name='size2'>The second JetSize to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.op_Subtraction(JetBrains.Util.Media.JetSize,JetBrains.Util.Media.JetSize)">
            <summary>
            Operator JetSize + JetSize
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetSize data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetSize.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetThickness">
            <summary>
            A 2D thickness/padding in logical (device-independent and resolution-independent) coordinates.
            JetThickness is a value type used to describe the thickness of frame around a rectangle.
            It contains four doubles each corresponding to a side: Left, Top, Right, Bottom.
            Forked from <c>System.Windows.Thickness</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.#ctor(System.Double)">
            <summary>
            This constructur builds a JetThickness with a specified value on every side.
            </summary>
            <param name="uniformLength">The specified uniform length.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.#ctor(System.Double,System.Double)">
            <summary>
            This constructor builds a JetPhysicalThickness with the specified number of pixels on each side.
            </summary>
            <param name="leftright">The thickness for the left side and for the right side.</param>
            <param name="topbottom">The thickness for the top side and for the bottom side.</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            This constructor builds a JetThickness with the specified number of pixels on each side.
            </summary>
            <param name="left">The thickness for the left side.</param>
            <param name="top">The thickness for the top side.</param>
            <param name="right">The thickness for the right side.</param>
            <param name="bottom">The thickness for the bottom side.</param>
        </member>
        <member name="P:JetBrains.Util.Media.JetThickness.Bottom">
            <summary>This property is the Length on the thickness' bottom side</summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetThickness.Left">
            <summary>This property is the Length on the thickness' left side</summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetThickness.Right">
            <summary>This property is the Length on the thickness' right side</summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetThickness.Top">
            <summary>This property is the Length on the thickness' top side</summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.Equals(System.Object)">
            <summary>
            This function compares to the provided object for type and value equality.
            </summary>
            <param name="obj">Object to compare</param>
            <returns>True if object is a JetThickness and all sides of it are equal to this JetThickness'.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.Equals(JetBrains.Util.Media.JetThickness@)">
            <summary>
            Compares this instance of JetThickness with another instance.
            </summary>
            <param name="thickness">JetThickness instance to compare.</param>
            <returns><c>true</c>if this JetThickness instance has the same value
            and unit type as thickness.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.GetHashCode">
            <summary>
            This function returns a hash code.
            </summary>
            <returns>Hash code</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.op_Equality(JetBrains.Util.Media.JetThickness@,JetBrains.Util.Media.JetThickness@)">
            <summary>
            Overloaded operator to compare two Thicknesses for equality.
            </summary>
            <param name="t1">first JetThickness to compare</param>
            <param name="t2">second JetThickness to compare</param>
            <returns>True if all sides of the JetThickness are equal, false otherwise</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.op_Inequality(JetBrains.Util.Media.JetThickness@,JetBrains.Util.Media.JetThickness@)">
            <summary>
            Overloaded operator to compare two Thicknesses for inequality.
            </summary>
            <param name="t1">first JetThickness to compare</param>
            <param name="t2">second JetThickness to compare</param>
            <returns>False if all sides of the JetThickness are equal, true otherwise</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.ToString">
            <summary>
            Converts this JetThickness object to a string.
            </summary>
            <returns>String conversion.</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.AreClose(JetBrains.Util.Media.JetThickness@,JetBrains.Util.Media.JetThickness@)">
            <summary>
            Compares two thicknesses for fuzzy equality.  This function
            helps compensate for the fact that double values can
            acquire error when operated upon
            </summary>
            <param name='thickness0'>The first thickness to compare</param>
            <param name='thickness1'>The second thickness to compare</param>
            <returns>Whether or not the two thicknesses are equal</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.System#IEquatable{JetBrains#Util#Media#JetThickness}#Equals(JetBrains.Util.Media.JetThickness)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.IsClose(JetBrains.Util.Media.JetThickness@)">
            <summary>
            Compares two thicknesses for fuzzy equality.  This function
            helps compensate for the fact that double values can
            acquire error when operated upon
            </summary>
            <param name='thickness'>The thickness to compare to this</param>
            <returns>Whether or not the two points are equal</returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetThickness.IsValid(System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Verifies if this JetThickness contains only valid values
            The set of validity checks is passed as parameters.
            </summary>
            <param name='allowNegative'>allows negative values</param>
            <param name='allowNaN'>allows Double.NaN</param>
            <param name='allowPositiveInfinity'>allows Double.PositiveInfinity</param>
            <param name='allowNegativeInfinity'>allows Double.NegativeInfinity</param>
            <returns>Whether or not the thickness complies to the range specified</returns>
        </member>
        <member name="T:JetBrains.Util.Media.JetVector">
            <summary>
            A 2D vector in logical (device-independent and resolution-independent) coordinates.
            Forked from <c>System.Windows.Vector</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.#ctor(System.Double,System.Double)">
            <summary>
            Constructor which sets the vector's initial values
            </summary>
            <param name="x"> double - The initial X </param>
            <param name="y"> double - THe initial Y </param>
        </member>
        <member name="P:JetBrains.Util.Media.JetVector.Length">
            <summary>
            Length Property - the length of this JetVector
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetVector.LengthSquared">
            <summary>
            LengthSquared Property - the squared length of this JetVector
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetVector.X">
            <summary>
                X - double.  Default value is 0.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.JetVector.Y">
            <summary>
                Y - double.  Default value is 0.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Add(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Add: JetVector + JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Add(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetPoint)">
            <summary>
            Add: JetVector + JetPoint
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.AngleBetweenInDeg(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            AngleBetween - the angle between 2 vectors
            </summary>
            <returns>
            Returns the the angle in degrees between vector1 and vector2
            </returns>
            <param name="vector1"> The first JetVector </param>
            <param name="vector2"> The second JetVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.CrossProduct(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            CrossProduct - Returns the cross product: vector1.X*vector2.Y - vector1.Y*vector2.X
            </summary>
            <returns>
            Returns the cross product: vector1.X*vector2.Y - vector1.Y*vector2.X
            </returns>
            <param name="vector1"> The first JetVector </param>
            <param name="vector2"> The second JetVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Determinant(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Determinant - Returns the determinant det(vector1, vector2)
            </summary>
            <returns>
            Returns the determinant: vector1.X*vector2.Y - vector1.Y*vector2.X
            </returns>
            <param name="vector1"> The first JetVector </param>
            <param name="vector2"> The second JetVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Divide(JetBrains.Util.Media.JetVector,System.Double)">
            <summary>
            Multiply: JetVector / double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Equals(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Compares two JetVector instances for object equality.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the two JetVector instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first JetVector to compare</param>
            <param name='vector2'>The second JetVector to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Equals(System.Object)">
            <summary>
            Equals - compares this JetVector with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if the object is an instance of JetVector and if it's equal to "this".
            </returns>
            <param name='o'>The object to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Equals(JetBrains.Util.Media.JetVector)">
            <summary>
            Equals - compares this JetVector with the passed in object.  In this equality
            Double.NaN is equal to itself, unlike in numeric equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which
            are logically equal may fail.
            </summary>
            <returns>
            bool - true if "value" is equal to "this".
            </returns>
            <param name='value'>The JetVector to compare to "this"</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.GetHashCode">
            <summary>
            Returns the HashCode for this JetVector
            </summary>
            <returns>
            int - the HashCode for this JetVector
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Multiply(JetBrains.Util.Media.JetVector,System.Double)">
            <summary>
            Multiply: JetVector * double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Multiply(System.Double,JetBrains.Util.Media.JetVector)">
            <summary>
            Multiply: double * JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Multiply(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetMatrix)">
            <summary>
            Multiply: JetVector * JetMatrix
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Multiply(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Multiply - Returns the dot product: vector1.X*vector2.X + vector1.Y*vector2.Y
            </summary>
            <returns>
            Returns the dot product: vector1.X*vector2.X + vector1.Y*vector2.Y
            </returns>
            <param name="vector1"> The first JetVector </param>
            <param name="vector2"> The second JetVector </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Negated">
            <summary>
            Negates the values of X and Y on this JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Normalized">
            <summary>
            Normalize - Updates this JetVector to maintain its direction, but to have a length
            of 1.  This is equivalent to dividing this JetVector by Length
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Addition(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Operator JetVector + JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Addition(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetPoint)">
            <summary>
            Operator JetVector + JetPoint
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Division(JetBrains.Util.Media.JetVector,System.Double)">
            <summary>
            Operator JetVector / double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Equality(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Compares two JetVector instances for exact equality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetVector instances are exactly equal, false otherwise
            </returns>
            <param name='vector1'>The first JetVector to compare</param>
            <param name='vector2'>The second JetVector to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Explicit(JetBrains.Util.Media.JetVector)~JetBrains.Util.Media.JetSize">
            <summary>
            Explicit conversion to JetSize.  Note that since JetSize cannot contain negative values,
            the resulting size will contains the absolute values of X and Y
            </summary>
            <returns>
            JetSize - A JetSize equal to this JetVector
            </returns>
            <param name="vector"> JetVector - the JetVector to convert to a JetSize </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Explicit(JetBrains.Util.Media.JetVector)~JetBrains.Util.Media.JetPoint">
            <summary>
            Explicit conversion to JetPoint
            </summary>
            <returns>
            JetPoint - A JetPoint equal to this JetVector
            </returns>
            <param name="vector"> JetVector - the JetVector to convert to a JetPoint </param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Inequality(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Compares two JetVector instances for exact inequality.
            Note that double values can acquire error when operated upon, such that
            an exact comparison between two values which are logically equal may fail.
            Furthermore, using this equality operator, Double.NaN is not equal to itself.
            </summary>
            <returns>
            bool - true if the two JetVector instances are exactly unequal, false otherwise
            </returns>
            <param name='vector1'>The first JetVector to compare</param>
            <param name='vector2'>The second JetVector to compare</param>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Multiply(JetBrains.Util.Media.JetVector,System.Double)">
            <summary>
            Operator JetVector * double
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Multiply(System.Double,JetBrains.Util.Media.JetVector)">
            <summary>
            Operator double * JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Multiply(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetMatrix)">
            <summary>
            Operator JetVector * JetMatrix
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Multiply(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Operator JetVector * JetVector, interpreted as their dot product
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_Subtraction(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Operator JetVector - JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.op_UnaryNegation(JetBrains.Util.Media.JetVector)">
            <summary>
            Operator -JetVector (unary negation)
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Parse(System.String)">
            <summary>
            Parse - returns an instance converted from the provided string using
            the culture "en-US"
            <param name="source"> string with JetVector data </param>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.Subtract(JetBrains.Util.Media.JetVector,JetBrains.Util.Media.JetVector)">
            <summary>
            Subtract: JetVector - JetVector
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.ToString">
            <summary>
            Creates a string representation of this object based on the current culture.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.ToString(System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the IFormatProvider
            passed in.  If the provider is null, the CurrentCulture is used.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.ConvertToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Media.JetVector.System#IFormattable#ToString(System.String,System.IFormatProvider)">
            <summary>
            Creates a string representation of this object based on the format string
            and IFormatProvider passed in.
            If the provider is null, the CurrentCulture is used.
            See the documentation for IFormattable for more information.
            </summary>
            <returns>
            A string representation of this object.
            </returns>
        </member>
        <member name="T:JetBrains.Util.Media.WinApiInterop">
            <summary>
            Coordinates interop with WinAPI.
            This is build-safe because even though it's not applicable to all OSes, all of the types here are our own and are fully functional (as data types) on any OS.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser">
            <summary>
            Parses the themed-icons-supported subset of the SVG format into the themed icons image.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.BrushFailedToParse">
            <summary>
            A fallback brush returned when we fail to parse the fill resource. Not transparent to avoid losing the object shape and make smth visible still.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetBrushFromResource(System.String,JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext,System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment},System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment},JetBrains.Util.Media.JetMatrix,JetBrains.Util.OnError)">
            <summary>
            Gets the brush from a resource defined earlier in the parse context. See <see cref="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetFill(System.Collections.Generic.IDictionary{System.String,JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Property},JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext,System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment},System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment},JetBrains.Util.Media.JetMatrix,JetBrains.Util.OnError)" /> for params doc.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.MakeTiPathForShape(System.Xml.Linq.XElement,System.Collections.Immutable.ImmutableArray{JetBrains.Util.Icons.TiSegment},System.Collections.Generic.IDictionary{System.String,JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Property},JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext,JetBrains.Util.OnError)">
            <summary>
            Handles common shape properties, when segments are already obtained by the means of the shape-specific parser.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetFill(System.Collections.Generic.IDictionary{System.String,JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Property},JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext,System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment},System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment},JetBrains.Util.Media.JetMatrix,JetBrains.Util.OnError)">
            <summary>
            Makes the fill for a path (which is a list of segments).
            </summary>
            <param name="props">Combined properties from XML properties on the element and style setters from the style property on the element.</param>
            <param name="ctx">The parse context, to read pre-declared fill resources (seems the only way to declare gradients).</param>
            <param name="tiSegmentsNoShapeTransform"><see cref="!:tiSegmentsWithShapeTransform" /></param>
            <param name="tiSegmentsWithShapeTransform">The path segments being painted. As Ti gradients are stored in object coord space, any gradients declared in world coord space must be transformed, and the path bbox gives the transform. If a shape has a transform, these are assumed to be already transformed to it.</param>
            <param name="transformSegmentsInWorldCoords">If the shape itself has a transform, the gradient appears as if applied before the object is transformed (even if in world coordinates). Ti stores the object transform pre-applied: there's no transform, but the path points are written transformed. So this is required to calculate the gradient coords in the transformed object space as if it's being applied to the object before the transform.</param>
            <param name="onerror"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ReadShapeTransformProperty(System.Collections.Generic.IDictionary{System.String,JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Property},JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext,JetBrains.Util.OnError)">
            <summary>
            If the shape has a transform prop/style, reads and parses its value.
            Otherwise (or if failed), returns the identity transform.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ToAttributeString(JetBrains.Util.Icons.Emitters.SvgFile.Attribute)">
            <summary>
            Gets attr as a string.
            Handles two issues:
            1) SVG might have hyphens, C# cannot have them — translate from underscores.
            2) Enum member ToString is slow when called often.
            </summary>
            <param name="attr"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.TrySkipDef(System.Xml.Linq.XElement)">
            <summary>
            Previously, were creating resources here.
            Now, as SVG allows forward-references to resources on any level, we collect resources separately beforehand.
            This method now (a) lets thru resource def elements to not repoer them as unknown/unsupported; (b) marks the spots for parsing resources, should we want to do that again.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.WithShapeFillRule(System.Collections.Immutable.ImmutableArray{JetBrains.Util.Icons.TiSegment},System.Collections.Generic.IDictionary{System.String,JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Property},JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext,JetBrains.Util.OnError)">
            <summary>
            Reads the fill rule from the shape; returns the updated segments.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetNumberFlags.NotExpectingPixels">
            <summary>
            Values are NOT in pixels by default, so cannot drop the suffix.
            Negative to match the legacy default.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetNumberFlags.PercentIntoFraction">
            <summary>
            Values are fractions, so percent are OK.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.CalculatedValue">
            <summary>
            The value, taking unit scaling into account (like, percent is /100). Zero if not defined or problems parsing.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.CalculatedValueOrNull">
            <summary>
            The value, taking unit scaling into account (like, percent is /100). NULL if not defined or problems parsing.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.Factor">
            <summary>
            Factor from unit conversion (percent into value).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.Origin">
            <summary>
            Where it comes from. Can create this from a UNLL property, because many of the stuff is optional.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.OriginalDoubleValue">
            <summary>
            Just as parsed (after stripping units). NULL if not defined or not parsed.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.RawValue">
            <summary>
            Prop value AS IS, if got prop.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.Units">
            <summary>
            Units detected and stripped from value, <see cref="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.EUnits.Bare" /> means there were just a number and no units.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.FromProperty(JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Property,JetBrains.Util.OnError)">
            <summary>
            Should not throw, creates even from a NULL property (no error), reports on parse errors.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.GetNumberOrNull(JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetNumberFlags,JetBrains.Util.OnError)">
            <summary>
            Asserts on expected units, all parsing errors get into the parsing-time <see cref="T:JetBrains.Util.OnError" /> and not into this one.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.GetNumberOrZero(JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.GetNumberFlags,JetBrains.Util.OnError)">
            <summary>
            Asserts on expected units, all parsing errors get into the parsing-time <see cref="T:JetBrains.Util.OnError" /> and not into this one.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.NumberResult.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext.AdjustTransform(JetBrains.Util.Media.JetMatrix)">
            <summary>
            Takes a transform of some item in the context, augments it with transforms accumulated in the context.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.ParseContext.TryGetResource(System.String,System.Nullable{JetBrains.Util.Icons.Emitters.SvgFile.Element},JetBrains.Util.OnError)">
            <summary>
            Looks up a resource in this or parent contexts.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Resource.ChildElements">
            <summary>
            Child elements.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Resource.Element">
            <summary>
            Resource element type.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Icons.Emitters.SvgThemedIconsTransferFormatParser.Resource.Properties">
            <summary>
            Properties of the resource.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Media.Imaging.BitmapSourceBytes">
            <summary>
            A cross-platform wrapper for a raster image which could be loaded into a WPF BitmapSource or its GDI+/Avalonia/Skia counterparts.
            </summary>
            <param name="Bytes"></param>
        </member>
        <member name="M:JetBrains.Util.Media.Imaging.BitmapSourceBytes.#ctor(JetBrains.Util.dataStructures.ImmutableByteStream)">
            <summary>
            A cross-platform wrapper for a raster image which could be loaded into a WPF BitmapSource or its GDI+/Avalonia/Skia counterparts.
            </summary>
            <param name="Bytes"></param>
        </member>
        <member name="P:JetBrains.Util.Media.Imaging.BitmapSourceBytes.Bytes">
            <summary></summary>
        </member>
        <member name="T:JetBrains.Util.Media.Imaging.RasterDeviceImages">
            <summary>
            Represents a set of device-dependent raster images. This is supposed to be the same image but for different resolutions (possibly, with different detail level).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Media.Imaging.RasterDeviceImages.Images">
            <summary>
            The images, sorted by resolution, ascending.
            We expect to have PNG-encoded raster images here.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Imaging.RasterDeviceImages.FindNearest(JetBrains.Util.Interop.DpiResolution)">
            <summary>
            Looks up an image with the closest resoluion.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Imaging.RasterDeviceImages.FromTwoResx(System.IO.UnmanagedMemoryStream,System.IO.UnmanagedMemoryStream)">
            <summary>
            When you have an image for normal resolution and for double resolution in ResX resources of type <see cref="T:System.IO.MemoryStream" /> declaration-side, which makes <see cref="T:System.IO.UnmanagedMemoryStream" /> in code.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Imaging.RasterDeviceImages.FromTwoStreams(JetBrains.Util.dataStructures.ImmutableByteStream,JetBrains.Util.dataStructures.ImmutableByteStream)">
            <summary>
            When you have an image for normal resolution and for double resolution in immutable streams.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Media.Imaging.RasterDeviceImages.TryGetExact(JetBrains.Util.Interop.DpiResolution)">
            <summary>
            Looks up an image from the list for this exact resolution.
            NULL if none. Does not look up nearest or resample.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Emitters.GeometryHelpers.ArcPathToCenterCoordinates(JetBrains.Util.Icons.Emitters.GeometryHelpers.ArcInPathCoordinates,System.Boolean)">
            <summary>
            Converts the arc representation from a path arc into the ellipse-centric arc.
            Based on the SVG 1.1 (Second Edition) standard — Appendix F: Implementation Requirements — F.6 Elliptical arc implementation notes — F.6.5 Conversion from endpoint to center parameterization, https://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter .
            Does NOT handle the out-of-range cases correctly, as customary for SVG processing.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Emitters.GeometryHelpers.ArcToBézierCurves(JetBrains.Util.Icons.Emitters.GeometryHelpers.ArcInCenterCoordinates)">
            <summary>
            Approximates an arc with a number of curves, small enough for the approximation to be decent. See <see cref="M:JetBrains.Util.Icons.Emitters.GeometryHelpers.SmallArcToBézierCurve(JetBrains.Util.Icons.Emitters.GeometryHelpers.ArcInCenterCoordinates)" /> for details.
            The returned curves are contiguous, i.e. the next start point is the prev end point, and also smooth.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Emitters.GeometryHelpers.BézierTryDecreaseDegreeCubicToQuadratic(JetBrains.Util.Icons.Emitters.GeometryHelpers.BézierCubicCurve)">
            <summary>
            If a cubic curve were made by elevating degree of a quadratic (or just happens to match), converts it back. Otherwise, a NULL.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Emitters.GeometryHelpers.RoundRectToBézierCurvesForCorners(JetBrains.Util.Media.JetRect,JetBrains.Util.Media.JetSize)">
            <summary>
            Makes Bézier curves for the corners of a rectangle with rounded corners. They're ordered to go one after another, so just connect with straight lines to get a rounded rect path.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Emitters.GeometryHelpers.SmallArcToBézierCurve(JetBrains.Util.Icons.Emitters.GeometryHelpers.ArcInCenterCoordinates)">
            <summary>
            Converts an arc to a Bézier curve, only if it's small enough to be suitably represented by a curve (here this means a quarter circle at most).
            The curve is chosen to match the coordinates in the starting and ending points of the arc, their first derivative, and their second derivative.
            Based on the https://www.spaceroots.org/documents/ellipse/elliptical-arc.pdf article.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.id">
            <summary>
            Resources, like gradients: gets listed in resource map under this ID.
            Other elements, like graphics or groups: potentially allows tricks with them, but useless for our needs, just ignore; Sketch would plant them all around.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.enable_background">
            <summary>
            Deprecated. Can appear on any element, but has effect only on <c>svg</c> and <c>g</c> as of which we are interested in.
            On shapes, should have no effect, but we'd sometimes see it on AI exports.
            The docs are complicated, probably should affect some advanced compositing, like access to intermediate render results from the elements renderers.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.href">
            <summary>
            This is actually an attribute in the <see cref="F:JetBrains.Util.Icons.Emitters.SvgFile.Namespace.Xlink" /> namespace, <see cref="F:JetBrains.Util.Icons.Emitters.SvgFile.AttributeXlink.href" />, but we must be listing it together with other attributes as well.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.clip_rule">
            <summary>
            Adobe Illustrator tends to set this (illegaly) on shapes sometimes, together with a pretty legal <see cref="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.fill_rule" />. We'll just let it be, but ignore the value.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.data_name">
            <summary>
            Encountered in XD exports, randomly added to seemingly anything (especially root and graphics).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.fill_opacity">
            <summary>
            Some AI exports set this instead of opacity, maybe based on how the fill were defined.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.stroke">
            <summary>
            We do not support stroke intentionally, by design all stroke-like painting should be done with paths.
            The original motivation was that there're many peculiarities around painting strokes, caps, miters and all, even within renderers of the same format (say, SVG), and we're trying to render even across formats, into WPF.
            So the safe version is to render with paths, which produce a fully defined outline, which is pretty compatible across all formats.
            We still support specifying some stroke properties because they'd be encountered in Sketch exports of certain formats/methods though, but assert they're trivial.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.stroke_width">
            <inheritdoc cref="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.stroke" />
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Attribute.isolation">
            <summary>
             This is actually CSS not SVG, but might be encountered in SVG styles. This affects stacking contexts (like, manual z-ordering), which isn't very applicable to us, and prevents blending (multiply, etc) if it's nonstandard, which we do not support anyway. So we can safely ignore “auto” or “isolate” or whatever values here, I believe they cannot affect anything much.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.Emitters.SvgFile.AttributeXlink">
            <summary>
            SVG attributes in the <see cref="F:JetBrains.Util.Icons.Emitters.SvgFile.Namespace.Xlink" /> namespace.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Value.FillRule.nonzero">
            <summary>
            Default.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.Emitters.SvgFile.Value.GradientUnits.objectBoundingBox">
            <summary>
            Default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Emitters.SvgGrammar.SvgPathCommandsApplyImplicitConversions(Sprache.IResult{System.Collections.Generic.ICollection{JetBrains.Util.Icons.Emitters.SvgGrammar.PD.S}})">
            <summary>
            SVG Path commands have certain implicit conventions which change the command to another one based on its context.
            1) A set of MoveTo commands at the beginning of a figure becomes a set of (one MoveTo command plus LineTo commands).
            2) A leading MoveTo-Relative in the path is changed to Absolute, but its following MoveTo-autochanged-into-LineTo remain Relative (that's why it's allowed to write it relative).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.Emitters.SvgGrammar.PD">
            <summary>
            Path Data attributed tree items.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.IconPlaceholder">
            <summary>
              <para>Standard placeholder icons for use in case we cannot load the real icon image.</para>
              <para>As it's used when there're problems with loading icons, they're emitted in code instead of loading from resources.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Icons.IconPlaceholder.IconPlaceholderTi">
            <summary>
            Gets the default placeholder image to be used in place of images yet to be drawn.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImageComparer.DeepEquals(JetBrains.Util.Icons.TiImage,JetBrains.Util.Icons.TiImage)">
            <summary>
            Checks equality on image contents, allows for some difference due to rounding or roundtripping doubles when reading and writing.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.TiImageConverter">
            <summary>
              <para>General conversions for the <see cref="T:JetBrains.Util.Icons.TiImage" /> format to and from the popular formats.</para>
              <para>Special cases are handled by other classes, like export to C# (<c>ThemedIconsCsEmitter</c>) or import from SVG (<c>SvgThemedIconsTransferFormatParser</c>), as it's a complicated lossy import process). The conversions presented here are usually simple and lossless — provided that Avalon vector images comply with what's allowed for a TiIcon.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImageConverter.FromCanonicalSExpression(System.Byte[])">
            <summary>
            Deserializes a <see cref="T:JetBrains.Util.Icons.TiImage" /> written as a Canonical S-Expression bytestream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImageConverter.FromCanonicalSExpression(System.UInt32[])">
            <summary>
            Deserializes a <see cref="T:JetBrains.Util.Icons.TiImage" /> written as a Canonical S-Expression bytestream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImageConverter.FromCanonicalSExpressionAsciiString(System.String)">
            <summary>
            Deserializes a <see cref="T:JetBrains.Util.Icons.TiImage" /> written as a Canonical S-Expression bytestream which fits in 7 bits, reinterpreted as ASCII into a string.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImageConverter.FromTiSvg(System.String)">
            <summary>
            Deserializes a <see cref="T:JetBrains.Util.Icons.TiImage" /> serialized into TiSvg, which is a valid SVG file representing the icon, but using an unflexible subset and formatting of SVG so that it were mapped into TiImage and WPF one-to-one with mere deserialization and no advanced operations.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImageConverter.ToTiSvg(JetBrains.Util.Icons.TiImage,JetBrains.Util.OnError)">
            <summary>
            Emits a Scalable Vector Graphics image XML document for the given TiImage, be it vector or raster.
            The document string is written in such a way that it roundtrips back into a TiImage with <see cref="M:JetBrains.Util.Icons.TiImageConverter.FromTiSvg(System.String)" />, yet it's a valid SVG document which renders the same image.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.Serializers.TiImageSerializerSvg">
            <summary>
            Helper for "TiImageConverter" to handle exporting to the Scalable Vector Graphics format.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.Serializers.TiSvgV1StringReader">
            <summary>
            TiSvg serializer implementation, reader part. Works by strictly matching plain text (no XML reader).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Serializers.TiSvgV1StringReader.ReadRgb(JetBrains.Util.Icons.Serializers.TiSvgV1StringReader.Context,JetBrains.Util.Media.JetRgbaColor@)">
            <summary>
            Reads #RRGGBB in uppercase hex, always two digits per color. Alpha expected to be stored separately.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.Serializers.TiSvgV1StringReader.Context.#ctor(System.UInt16*,JetBrains.Util.OnError)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Icons.Serializers.TiSvgV1StringReader.StringRange.ToString">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Icons.Serializers.TiSvgV1StringWriter">
            <summary>
            TiSvg serializer implementation, writer part. Works by emitting a strict-format plain text (no XML writer).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.TiImage">
            <summary>
              <para>Base class for the platform-independent Themed Icon Image.</para>
              <para>Represents a narrow subset of a XAML DrawimgImage or a raster bitmap which can be rendered on any platform.</para>
            </summary>
            "TiImageConverter"
        </member>
        <member name="M:JetBrains.Util.Icons.TiImage.GetLogicalSize">
            <summary>
              <para>Gets the device-independent size of the vector image in logical pixels (assuming 96 DPI, like in Avalon).</para>
              <para>The coordinate space of the image must be aligned at the <c>(0,0)</c> point.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiImage.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Icons.TiLinearGradientBrush.#ctor(JetBrains.Util.dataStructures.FrugalLocalList{JetBrains.Util.Icons.TiGradientStop}@,JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetPoint@)">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.Icons.TiLinearGradientBrush.EndPoint">
            <summary>
            The coordinates of the at-1 gradient stop, in boundbox-relatve coords.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiLinearGradientBrush.StartPoint">
            <summary>
            The coordinates of the at-0 gradient stop, in boundbox-relatve coords.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.TiPath">
            <summary>
            A filled path figure.
            Based on a path geometry, which is a list of segments.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiPath.CalculateBounds">
            <inheritdoc cref="M:JetBrains.Util.Icons.TiSegment.CalculateBounds(System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment})" />
        </member>
        <member name="T:JetBrains.Util.Icons.TiRadialGradientBrush">
            <summary>
              <para>Represents a radial gradient brush, in element-relative coordinates, where (0,0) is the left-top point of the bounding box, and (1,1) is the bottom right.</para>
              <para>A radial gradient has a starting point (0% gradient stop) from which it goes to the ending ellipse (100% gradient stop). It is not sufficient to specify the ellipse because it might also be skewed and rotated, which can't be expressed with just the ellipse axes.</para>
              <para>So we would assume the initial ellipse as a circle at (0,0) with radius 1, onto which a transform is applied to achieve the resulting ellipse. The starting point is expressed in the coordinate space in which the ellipse is a unit circle, i.e. the ellipse transform also applies to the starting point.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiRadialGradientBrush.#ctor(JetBrains.Util.dataStructures.FrugalLocalList{JetBrains.Util.Icons.TiGradientStop}@,JetBrains.Util.Media.JetPoint@,JetBrains.Util.Media.JetMatrix@)">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.Icons.TiRadialGradientBrush.Start">
            <summary>
            The starting point of the gradient, before the transform is applied, in boundbox-relative coords.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiRadialGradientBrush.Transform">
            <summary>
            The transform which would make the (0,0),1 circle the desired end-ellipse in the element-bounding-box-relative coordinates.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiRasterImage.DeviceHeight">
            <summary>
            The number of pixel lines in the bitmap.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiRasterImage.DeviceWidth">
            <summary>
            The number of pixels in each line.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiRasterImage.Dpi">
            <summary>
            The resolution, which defines the logical size of the bitmap.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiRasterImage.Pixels">
            <summary>
              <para>Bitmap pixels, 32bpp with alpha, alpha not premultiplied.</para>
              <para>Pixel layout: lines top-down, pixels left-right inside each line, stride equal to line byte length.</para>
              <para>Pixel format: 0xAARRGGBB, no alpha premultiplication (“unassociated alpha” format).</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.TiSegment">
            <summary>
            A segment in the path.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiSegment.Target">
            <summary>
            Target point.
            For BeginFigure, the starting point of the figure.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiSegment.Ctrl1">
            <summary>
            For Bézier, first control point.
            For BeginFigure, X tells whether the fill rule is nonzero rather than even-odd, and Y tells whether the figure is closed.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiSegment.Ctrl2">
            <summary>
            For Bézier, second control point X.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiSegment.CalculateBounds(System.Collections.Generic.IList{JetBrains.Util.Icons.TiSegment})">
            <summary>
            Calculates the bounding box for the path, incl protruding parts of the curves.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiSegment.Transform(JetBrains.Util.Icons.TiSegment@,JetBrains.Util.Media.JetMatrix)">
            <summary>
            Applies a transform to the segments of a path.
            The representation of the path (points, lines, and Bézier curves in absolute coordinates) ensures that merely applying the matrix to the points transforms the segments correctly.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiSegmentKind.BeginFigure">
            <summary>
              <para>Means we're beginning a new figure, moving to the startpoint (<see cref="F:JetBrains.Util.Icons.TiSegment.Target" />), and defining whether the figure will have a closed path.</para>
              <para><see cref="F:JetBrains.Util.Icons.TiSegment.Ctrl1" />.<see cref="P:JetBrains.Util.Media.JetPoint.X" /> is a conditon on the fill rule for this path, <c>0</c> means <c>EvenOdd</c> fill rule (default) and anything outside epsilon means <c>Nonzero</c> fill rule.</para>
              <para><see cref="F:JetBrains.Util.Icons.TiSegment.Ctrl1" />.<see cref="P:JetBrains.Util.Media.JetPoint.Y" /> is a condition on whether the path is closed.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiSegmentKind.LineTo">
            <summary>
            A line from the current point and to the <see cref="F:JetBrains.Util.Icons.TiSegment.Target" />, in absolute coordinates.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiSegmentKind.BézierTo">
            <summary>
            A cubic Bézier curve from the current point and to the <see cref="F:JetBrains.Util.Icons.TiSegment.Target" />, with <see cref="F:JetBrains.Util.Icons.TiSegment.Ctrl1" /> and <see cref="F:JetBrains.Util.Icons.TiSegment.Ctrl2" /> as parameters (at curve start and curve target, respectively).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Icons.TiVectorImage">
            <summary>
            A small subset of the XAML vector drawing capabilities.
            Represents some features of either <c>GeometryDrawing</c> or <c>Path</c>, those of them relevant for iconing and supported cross-platform.
            All the types and coordinates and measures map directly into the <c>GeometryDrawing</c> entities.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Icons.TiVectorImage.#ctor(JetBrains.Util.Media.JetSize,System.Collections.Immutable.ImmutableArray{JetBrains.Util.Icons.TiPath})">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.Icons.TiVectorImage.LogicalSize">
            <summary>
              <para>Gets the device-independent size of the vector image in logical pixels (assuming 96 DPI, like in Avalon).</para>
              <para>The coordinate space of the image must be aligned at the <c>(0,0)</c> point.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Icons.TiVectorImage.Paths">
            <summary>
            Filled path figures of this vector image.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Memory.IMemoryGrave">
            <summary>
            A collection of objects to be checked for a memory leak.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Memory.LeakWatchdog">
            <summary>
            An utility to monitor memory leaks.
            </summary>
            <remarks>
            The class made static to be able to survive R# suspend/resume.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.Memory.LeakWatchdog.Mode.Waiting">
            <summary>
            Let objects to be garbage collected in the "natural" way.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Memory.LeakWatchdog.Mode.ForceGc">
            <summary>
            Force GC to collect the objects.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Memory.LeakWatchdog.GetOrCreateGrave(JetBrains.Lifetimes.Lifetime,System.String)">
            <summary>
            Get a memory grave for the specified lifetime.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Memory.LeakWatchdog.RegisterObject(JetBrains.Lifetimes.Lifetime,System.Object,System.String)">
            <summary>
            Register the object with the leak watchdog. Objects with the same lifetime will be placed in one memory grave.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Memory.LeakWatchdog.RegisterTerminatedObject(System.Object,System.TimeSpan,JetBrains.Util.Memory.LeakWatchdog.Mode,System.Action{System.Boolean})">
            <summary>
            Immediate starts to wait for the object to be collected.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Memory.LeakWatchdog.GcWaitingGrave">
            <summary>
            Wait for objects to be collected in the specified amount of full GC.
            </summary>
            <remarks>
            There is no timeout, because GC is non-deterministic.
            </remarks>
        </member>
        <member name="F:JetBrains.Util.Memory.LeakWatchdog.GcWaitingGrave.GcWaitCount">
            <summary>
            In most cases 3 full GC is enough to collect an object.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Memory.LeakWatchdog.TimeLimitedGrave">
            <summary>
            Wait for objects to be collected for the specified timeout.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Memory.SystemMemoryInfo.PhysicalTotal">
            <summary>
            The amount of actual physical memory, in bytes.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Memory.SystemMemoryInfo.PhysicalAvailable">
            <summary>
            The amount of physical memory currently available, in bytes.
            This is the amount of physical memory that can be immediately reused without having to write its contents to disk first.
            It is the sum of the size of the standby and free.
            </summary>
            <remarks>
            The memory mapped files aren't standby (and not included into PhysicalAvailable amount) while process holds opened handles.
            </remarks>
        </member>
        <member name="P:JetBrains.Util.Memory.SystemMemoryInfo.SwappableTotal">
            <summary>
            The current committed memory limit for the current process.
            Roughly, it is a sum of physical total and current page file size. 
            </summary>
        </member>
        <member name="P:JetBrains.Util.Memory.SystemMemoryInfo.SwappableAvailable">
            <summary>
            The maximum amount of memory the current process can commit, in bytes.
            Roughly, it is a sum of physical available and page file available amount.
            </summary>
            <remarks>
            BE AWARE: On Windows in some cases SwappableAvailable a bit less than PhysicalAvailable (have no idea why).
            </remarks>
        </member>
        <member name="T:JetBrains.Util.MessageBox">
            <summary>
            Shows a system Message Box.
            Supplies it automatically with icons, main window ownership, and product name in the title.
            Note: you should be using this class wherever possible instead of the system one, as it provides for consistent look.
            </summary>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowCore(System.Void*,System.String,System.String,JetBrains.Interop.WinApi.MessageBoxFlags)">
            <summary>
            Shows a message box, owned by the specific window.
            </summary>
            <param name="window">Handle to the message box owner window, or <c>Null</c> to use the main window of the current application, if available.</param>
            <param name="text">Body text.</param>
            <param name="caption">Optional message box caption, an empty string to use the product name by default. Otherwise, the product name will be prepended to the provided caption text.</param>
            <param name="flags">The buttons, icons, default button, behavior and so on.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowError(System.String,System.String)">
            <summary>
            Shows a message box with an error message.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowError(System.String,System.String,System.IntPtr)">
            <summary>
            Shows a message box with an error message.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowExclamation(System.String,System.String)">
            <summary>
            Shows a message box with an exclamation message.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowExclamation(System.String,System.String,System.IntPtr)">
            <summary>
            Shows a message box with an exclamation message.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowInfo(System.String,System.String)">
            <summary>
            Shows a message box with an information message.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowInfo(System.String,System.String,System.IntPtr)">
            <summary>
            Shows a message box with an information message.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowMessageBox(System.String,System.String,System.IntPtr,JetBrains.Util.MbButton,JetBrains.Util.MbIcon)">
            <summary>
            Shows a message box, owned by the main window.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
            <param name="button">Buttons to use.</param>
            <param name="icon">Icon to use.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowMessageBox(System.String,System.String,JetBrains.Util.MbButton,JetBrains.Util.MbIcon)">
            <summary>
            Shows a message box, owned by the main window.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="button">Buttons to use.</param>
            <param name="icon">Icon to use.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowMessageBox(System.String,JetBrains.Util.MbButton,JetBrains.Util.MbIcon)">
            <summary>
            Shows a message box, owned by the main window.
            Product name is used for the title.
            </summary>
            <param name="text">Message body text.</param>
            <param name="button">Buttons to use.</param>
            <param name="icon">Icon to use.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowOKCancel(System.String,System.String)">
            <summary>
            Shows a OK/Cancel question message box. Returns whether the answer was Yes.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowOKCancel(System.String,System.String,System.IntPtr)">
            <summary>
            Shows a Yes/Cancel question message box. Returns whether the answer was Yes.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowOKCancel(System.String,System.String,System.IntPtr,System.Boolean)">
            <summary>
            Shows a OK/Cancel question message box. Returns whether the answer was Yes.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
            <param name="defaultButton">true - OK button selected by default, false - Cancel</param>
            >
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowYesNo(System.String,System.String,System.Boolean)">
            <summary>
            Shows a Yes/No question message box. Returns whether the answer was Yes.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="alwaysOnTop">Flag that determines whether message box should be shown on top of other windows or not</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowYesNo(System.String,System.String,System.IntPtr,System.Boolean)">
            <summary>
            Shows a Yes/No question message box. Returns whether the answer was Yes.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
            <param name="alwaysOnTop">Flag that determines whether message box should be shown on top of other windows or not</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowYesNo(System.String,System.String,System.IntPtr,System.Boolean,System.Boolean)">
            <summary>
            Shows a Yes/No question message box. Returns whether the answer was Yes.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
            <param name="defaultButton">true - YES button selected by default, false - NO</param>
            <param name="alwaysOnTop">Flag that determines whether message box should be shown on top of other windows or not</param>
            >
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowYesNoCancel(System.String,System.String)">
            <summary>
            Shows a Yes/No/Cancel question message box. Returns whether the answer was Yes or No, <c>Null</c> for Cancel.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowYesNoCancel(System.String,System.String,System.IntPtr)">
            <summary>
            Shows a Yes/No/Cancel question message box. Returns whether the answer was Yes or No, <c>Null</c> for Cancel.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
        </member>
        <member name="M:JetBrains.Util.MessageBox.ShowYesNoCancel(System.String,System.String,System.IntPtr,System.Nullable{System.Boolean})">
            <summary>
            Shows a Yes/No/Cancel question message box. Returns whether the answer was Yes or No, <c>Null</c> for Cancel.
            </summary>
            <param name="text">Message body text.</param>
            <param name="caption">Not recommended. Text to append to the default caption, which is the product name. In most cases, keep empty to have just the product name.</param>
            <param name="window">Not recommended. Owner window for the message box. Use only in dialogs when the default (app main window) could be inappropriate.</param>
            <param name="defaultButton">true - YES button selected by default, false - NO, null - CANCEL</param>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.GetMessageBoxHandlersStack">
            <summary>
            Gets the stack of the message box handlers, the last one is executed when a message box is attempted to be shown.
            A handler has the same prototype as <see cref="M:JetBrains.Util.MessageBox.ShowCore(System.Void*,System.String,System.String,JetBrains.Interop.WinApi.MessageBoxFlags)" />, but returns <c>Null</c> if it does not want to handle the message.
            By default, the message is displayed in a system message box.
            Free-threaded access.
            </summary>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.AddHandler(JetBrains.Lifetimes.Lifetime,JetBrains.Util.MessageBoxHandlers.MessageBoxHandlerDelegate)">
            <summary>
            Modifies <see cref="M:JetBrains.Util.MessageBoxHandlers.GetMessageBoxHandlersStack"/>, see there for comments.
            </summary>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.GetHandlerSilent(JetBrains.Util.ILogger)">
            <summary>
            Default implementation.
            Displays the system MessageBox, cannot provide main window ownership and product name.
            </summary>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.GetHandlerWinNT">
            <summary>
            Default implementation.
            Displays the system MessageBox, cannot provide main window ownership and product name.
            </summary>
        </member>
        <member name="T:JetBrains.Util.MessageBoxHandlers.ErrorMessageBoxException">
            <summary>
            An exception which gets reported via <see cref="T:JetBrains.Util.ILogger" /> when a silent error message box tries to show.
            </summary>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.ErrorMessageBoxException.#ctor(System.String)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.ErrorMessageBoxException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.MessageBoxHandlers.MessageBoxHandlerDelegate">
            <summary>
            Msgbox handler prototype.
            </summary>
            <param name="window">Handle to the message box owner window, or <c>Null</c> to use the main window of the current application, if available.</param>
            <param name="text">Body text.</param>
            <param name="caption">Optional message box caption, an empty string to use the product name by default. Otherwise, the product name will be prepended to the provided caption text.</param>
            <param name="flags">The buttons, icons, default button, behavior and so on.</param>
            <returns><c>NULL</c> if not handled, or the pressed button code otherwise.</returns>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.SilentHandlerClosure.#ctor(JetBrains.Util.ILogger)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.SilentHandlerClosure.SilentMessageBox(System.Void*,System.String,System.String,JetBrains.Interop.WinApi.MessageBoxFlags)">
            <summary>
            Suppresses message boxes in tests.
            </summary>
        </member>
        <member name="T:JetBrains.Util.MessageBoxHandlers.WinNTHandlerClosure">
            <summary>
            A delegate instance class for the WinNT message box. Even tho it has no instance members, it's required to give the delegate unique per-instance equality for safe multiple adds/removes in the list.
            </summary>
        </member>
        <member name="M:JetBrains.Util.MessageBoxHandlers.WinNTHandlerClosure.WinNTMessageBox(System.Void*,System.String,System.String,JetBrains.Interop.WinApi.MessageBoxFlags)">
            <summary>
            Default implementation.
            Displays the system MessageBox, cannot provide main window ownership and product name.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedAutoResetEvent">
            <summary>
            Event that can be used for cross-process synchronization
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.AsyncMessageStreamReader">
            <summary>
            Reads packs of bytes from the stream, exactly as they were
            </summary>
        </member>
        <member name="F:JetBrains.Util.NamedPipes.AsyncMessageStreamReader.myBuffer">
            <summary>
            The active read buffer.
            The only buffer for single-chunk messages (that fit under buffer size).
            Each chunk in order for multi-chunk messages.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.AsyncMessageStreamReader.#ctor(JetBrains.Lifetimes.Lifetime,System.IO.Stream,System.Func{System.Boolean},System.Int32)">
            <summary>
            Inits.
            </summary>
            <param name="lifetime"></param>
            <param name="stream">The stream to read messages from.</param>
            <param name="isCompleteMessageReceivedFunc">As we've read a chunk of bytes from the stream, tells if this chunk represents a complete message (otherwise, the next chunk[s] should be appended to compose the complete message). For example, on a <see cref="T:System.IO.Pipes.PipeStream"/>, this is <see cref="P:System.IO.Pipes.PipeStream.IsMessageComplete"/>, which is available on its <see cref="T:System.IAsyncResult"/>, but somehow not exposed to the general public.</param>
            <param name="bufferSize">Default size of the buffer.</param>
        </member>
        <member name="F:JetBrains.Util.NamedPipes.AsyncMessageStreamReader.MessageReceived">
            <summary>
            There's a new pack of bytes.
            Fires for each received pack.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.AsyncMessageStreamReader.BeginReadMessage">
            <summary>
            Initiates async reading.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.AsyncServerPipeMessageReader">
            <summary>
            Reads packs of bytes from a pipe async.
            Wraps <see cref="T:JetBrains.Util.NamedPipes.AsyncMessageStreamReader"/>, but adds a wait for the pipe to be connected before actually starting any reads.
            </summary>
        </member>
        <member name="P:JetBrains.Util.NamedPipes.AsyncServerPipeMessageReader.MessageReceived">
            <summary>
            There's a new pack of bytes.
            Fires for each received pack.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.AsyncServerPipeMessageReader.BeginReadMessage">
            <summary>
            Initiates async reading.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.AsyncServerPipeObjectReader`1">
            <summary>
            Deserializes objects from a pipe working in the message mode.
            Extends <see cref="T:JetBrains.Util.NamedPipes.AsyncServerPipeMessageReader"/> by adding a deserializer.
            </summary>
        </member>
        <member name="F:JetBrains.Util.NamedPipes.AsyncServerPipeObjectReader`1.ObjectReceived">
            <summary>
            There's a new object.
            Fires for each received object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.AsyncServerPipeObjectReader`1.BeginReadMessage">
            <summary>
            Initiates async reading.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.ChannelReader">
            <summary>
            Returned when you create the reader end of the channel.
            </summary>
        </member>
        <member name="P:JetBrains.Util.NamedPipes.ChannelReader.ChannelName">
            <summary>
            Gets the channel name, as created by the reader, to be given to the writer side.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.ChannelReader.ReadRemainingMessages">
            <summary>
              <para>Enforces waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely.</para>
              <para>Terminating the reader lifetime aborts reading and cancels remaining messages in case you want to break the channel no matter what happens to the other end. If you terminate the other end and want to make sure that all pending messages are read, call this method before proceeding with lifetime termination.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.ChannelReader.ReadRemainingMessagesAsync">
            <summary>
              <para>Enforces waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely.</para>
              <para>Terminating the reader lifetime aborts reading and cancels remaining messages in case you want to break the channel no matter what happens to the other end. If you terminate the other end and want to make sure that all pending messages are read, call this method before proceeding with lifetime termination.</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.ChannelWriter`1">
            <summary>
            Returned when you create the writer end of the channel.
            </summary>
            <typeparam name="TItem"></typeparam>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.ChannelWriter`1.Write(`0)">
            <summary>
            Call to send the next item over the channel. Note that the item could be stored for some time before it is processed for serialization and transmission, so do not modify this object. Writer lifetime must not be terminated when you call this method.
            </summary>
            <param name="item"></param>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.ChannelWriter`1.ItemSerializer">
            <summary>
            Turns item into bytes for sending. This might happen on the sender thread, not when the item is request for sending. That's why you write items in the API, not bytes, and we need a separate functor for turning items into bytes.
            </summary>
            <param name="item">The item to serialize.</param>
            <param name="buffer">In: the buffer for writing, content undefined. If too small, allocate a new one. Out: the buffer stuff has been actually written into, might be the input one. This buffer would be reused when returned, do not treat it as owned or readonly.</param>
            <param name="cbSize">Out: number of bytes in the buffer for the serialized item.</param>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.DiskFileBasedPipeEmulationChannel">
            <summary>
            If pipes are not working and <see cref="T:JetBrains.Util.NamedPipes.NamedPipeMessageChannel" /> is not possible
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.IPipeMessageChannel">
            <summary>
            Common interface for <see cref="T:JetBrains.Util.NamedPipes.NamedPipeMessageChannel" /> and its fallbacks.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.IPipeMessageChannel.CreateReader(JetBrains.Lifetimes.Lifetime,System.Action{System.Byte[],System.UInt32,System.UInt32},JetBrains.Util.ILogger)">
            <summary>
            Defines the channel name, opens the reader, returns the token which allows to enforce waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely.
            </summary>
            <param name="lifetime">Closes the channel and drops unread messages.</param>
            <param name="FOnRead">Callback on every message. The buffer is reusable, do not store it.</param>
            <param name="logger"></param>
            <returns>The token which allows to enforce waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely; and the channel name to be passed to the writer.</returns>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.IPipeMessageChannel.CreateWriter``1(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Util.NamedPipes.ChannelWriter{``0}.ItemSerializer,JetBrains.Util.ILogger)">
            <summary>
            Opens the writing end of the pipe; it's the client, so the server (reader) end must be opened already.
            </summary>
            <typeparam name="TItem">Item type, for the serializer. Serialization is taken out async, so the implementation needs the serializer to run.</typeparam>
            <param name="lifetime">Enforces writing out all remaining items and close the channel.</param>
            <param name="sChannelName">The channel name given in the <see cref="T:JetBrains.Util.NamedPipes.ChannelReader" /> struct obtained when opening the reader end.</param>
            <param name="serializer">Per-item serializer.</param>
            <param name="logger"></param>
            <returns>A token which has the write function.</returns>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.NamedPipeMessageChannel">
            <summary>
            Pumps messages over a pipe between appdomains or processes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.#ctor">
            <summary>
            Use the <see cref="F:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.Factory" /> instance.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.JetBrains#Util#NamedPipes#IPipeMessageChannel#CreateReader(JetBrains.Lifetimes.Lifetime,System.Action{System.Byte[],System.UInt32,System.UInt32},JetBrains.Util.ILogger)">
            <summary>
            Defines the channel name, opens the reader, returns the token which allows to enforce waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely.
            </summary>
            <param name="lifetime">Closes the channel and drops unread messages.</param>
            <param name="FOnRead">Callback on every message. The buffer is reusable, do not store it.</param>
            <param name="logger"></param>
            <returns>The token which allows to enforce waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely; and the channel name to be passed to the writer.</returns>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.JetBrains#Util#NamedPipes#IPipeMessageChannel#CreateWriter``1(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Util.NamedPipes.ChannelWriter{``0}.ItemSerializer,JetBrains.Util.ILogger)">
            <summary>
            Opens the writing end of the pipe; it's the client, so the server (reader) end must be opened already.
            </summary>
            <typeparam name="TItem">Item type, for the serializer. Serialization is taken out async, so the implementation needs the serializer to run.</typeparam>
            <param name="lifetime">Enforces writing out all remaining items and close the channel.</param>
            <param name="sChannelName">The channel name given in the <see cref="T:JetBrains.Util.NamedPipes.ChannelReader" /> struct obtained when opening the reader end.</param>
            <param name="serializer">Per-item serializer.</param>
            <param name="logger"></param>
            <returns>A token which has the write function.</returns>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.ManualResetAwaitHandle">
            <summary>
            An async wait handle which is somewhat like the manual-reset wait handle.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.ManualResetAwaitHandle.ResetAndWaitAsync">
            <summary>
            Resets the state.
            Awaits for someone to call <see cref="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.ManualResetAwaitHandle.Set" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.ManualResetAwaitHandle.Set">
            <summary>
            Sets the event in the signaled state. Whoever is waiting on <see cref="M:JetBrains.Util.NamedPipes.NamedPipeMessageChannel.ManualResetAwaitHandle.ResetAndWaitAsync" />, would wake up.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel">
            <summary>
            Pumps messages over a pipe between appdomains or processes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.#ctor">
            <summary>
            Use the <see cref="F:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.Factory" /> instance.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.JetBrains#Util#NamedPipes#IPipeMessageChannel#CreateReader(JetBrains.Lifetimes.Lifetime,System.Action{System.Byte[],System.UInt32,System.UInt32},JetBrains.Util.ILogger)">
            <summary>
            Defines the channel name, opens the reader, returns the token which allows to enforce waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely.
            </summary>
            <param name="lifetime">Closes the channel and drops unread messages.</param>
            <param name="FOnRead">Callback on every message. The buffer is reusable, do not store it.</param>
            <param name="logger"></param>
            <returns>The token which allows to enforce waiting for all pending messages to be processed before closing the channel — you must be sure that the writer has disconnected in such case, otherwise you might be waiting indefinitely; and the channel name to be passed to the writer.</returns>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.JetBrains#Util#NamedPipes#IPipeMessageChannel#CreateWriter``1(JetBrains.Lifetimes.Lifetime,System.String,JetBrains.Util.NamedPipes.ChannelWriter{``0}.ItemSerializer,JetBrains.Util.ILogger)">
            <summary>
            Opens the writing end of the pipe; it's the client, so the server (reader) end must be opened already.
            </summary>
            <typeparam name="TItem">Item type, for the serializer. Serialization is taken out async, so the implementation needs the serializer to run.</typeparam>
            <param name="lifetime">Enforces writing out all remaining items and close the channel.</param>
            <param name="sChannelName">The channel name given in the <see cref="T:JetBrains.Util.NamedPipes.ChannelReader" /> struct obtained when opening the reader end.</param>
            <param name="serializer">Per-item serializer.</param>
            <param name="logger"></param>
            <returns>A token which has the write function.</returns>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle">
            <summary>
            An async wait handle which is somewhat like the manual-reset wait handle.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle.ResetAndWaitAsync">
            <summary>
            Resets the state.
            Awaits for someone to call <see cref="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle.Set" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle.Set">
            <summary>
            Sets the event in the signaled state. Whoever is waiting on <see cref="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle.ResetAndWaitAsync" />, would wake up.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle1">
            <summary>
            An async wait handle which is somewhat like the manual-reset wait handle.
            </summary>
        </member>
        <member name="F:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle1.myTasker">
            <summary>
            When in non-signaled state, holds the current awaitable.
            To signal, the source is replaced with NULL and set as complete.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle1.ResetAndWaitAsync">
            <summary>
            Resets the state.
            Awaits for someone to call <see cref="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle1.Set" />.
            Note that unlike the system event handles ALL the waiters would be awakened when set, not just the first one.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle1.Set">
            <summary>
            Sets the event in the signaled state. Whoever is waiting on <see cref="M:JetBrains.Util.NamedPipes.NamedPipeNativeMessageChannel.ManualResetAwaitHandle1.ResetAndWaitAsync" />, would wake up.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.WithInvalidationInterval(System.Nullable{System.TimeSpan})">
            <summary>
            Sets the interval for invalidating the loaded content cache.
            If the duration between subsequent requests is longer than the specified interval,
            cached value will not be used to avoid loading.
            </summary>
            <param name="interval">The duration for invalidation interval.
            If not specified, the default invalidation interval will be used.</param>
            <returns>The updated HeuristicStatefulUrlLoader instance.</returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.WithLoadingApproach(JetBrains.Util.Networking.ILoadingApproach)">
            <summary>
            Allows user to customize the way content will be loaded.
            Default is loading via HttpClient.
            </summary>
            <param name="approach">The loading approach to use.</param>
            <returns>The updated HeuristicStatefulUrlLoader instance.</returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.WithDiskCache(JetBrains.Util.FileSystemPath)">
            <summary>
            Allows the user to enable local caching on disk for the content
            and the timestamp of the loaded content in a specified cache directory.
            </summary>
            <param name="cacheDirectory">The directory where the content and timestamp cache files will be stored.
            If not provided, a default path will be used.</param>
            <returns>The HeuristicStatefulUrlLoader instance with persistent caching enabled.</returns>
            <exception cref="T:JetBrains.Util.InvalidPathException">Thrown if the cache directory is not a valid, absolute path.</exception>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.IsCachedContentOutdated">
            <summary>
            Checks whether CachedContent is outdated or not using Invalidation interval
            </summary>
            <returns>True if CachedContent is older than Invalidation interval or empty, otherwise false</returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.LoadOrRestoreFromCacheAsync(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Asynchronously loads content from the specified URL or if loading failed returns cached content.
            </summary>
            <returns>The content as a string, or null if both loading failed and cache is empty.</returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.LoadAsync(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Asynchronously loads the content from the specified URL.
            </summary>
            <returns>
            String with the loaded content, or null if the content was not loaded successfully.
            </returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.SaveToFileAsync">
            <summary>
            Asynchronously saves content and timestamp of the HeuristicStatefulUrlLoader to a file in directory for persistent cache
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.LoadFromFileAsync">
            <summary>
            Asynchronously loads content and timestamp of the HeuristicStatefulUrlLoader from a file in directory for persistent cache
            </summary>
            <returns>Returns content or null if loading failed</returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HeuristicStatefulUrlLoader.GetFileNameByUrl">
            <summary>
            Retrieves the file name from a given URL by hashing the URL string
            </summary>
            <returns>The hashed file name</returns>
        </member>
        <member name="P:JetBrains.Util.Networking.HttpClientHandlerPatcher.ServerCertificateCustomValidationCallback">
            <summary>Gets or sets a callback method to validate the server certificate.</summary>
            <returns>A callback method to validate the server certificate.</returns>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.ParallelAttemptsLimit">
            <summary>
            An async semaphore to prevent opening too many <see cref="T:System.Net.HttpWebRequest" /> objects at the same time.
            Which is not supposed to be a problem, they have their internal limit and should await, but it's been observed that something breaks under intensive use and all further download attemps are blocked.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.ServicePointConnectionLimit">
            <summary>
            Limits the number of dloads from the same server. Applied when we prepare a specific request.
            The default limit is 2 in .NET since ages. For current massive workloads this is suboptimal, and e.g. Nuget 5 would also increase this to be 64.
            With poor connections, TCP/IP overhead limits bandwidth dramatically on ack/resend, so running multiple downloads at the same time increases utilization on bad connections as well. Modern servers wouldn't care much I believe.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HttpDownload.HttpDownloadReliable(JetBrains.Lifetimes.OuterLifetime,System.Uri,System.IO.Stream,JetBrains.Util.Networking.HttpDownload.DownloadProgress,System.Net.IWebProxy,JetBrains.Util.Networking.HttpDownload.Flags)">
            <summary>
            Initiates the HTTP download. Retries several times on failures. Tries to check if the content has downloaded fully.
            </summary>
            <param name="lifetime">Cancelation.</param>
            <param name="uri">The URI to download. Currently, must be of the HTTP scheme.</param>
            <param name="streamOut">
              <para>The output stream, if user-allocated. Implementation would allocate a stream of its own if omitted.</para>
              <para>MUST support seeking for the case if the download interrupts, has to be restarted, and resuming from the same spot is not possible (if resumes are not prohibited).</para>
              <para>MUST be at position zero, otherwise the existing bytes are assumed to be partially downloaded content to be resumed (if resumes are not prohibited).</para>
            </param>
            <param name="dlprogress">Optional. The progress for user feedback.</param>
            <param name="webproxy">Optional. The proxy server to use.</param>
            <param name="flags">Optional. Flags.</param>
            <returns>The stream to which the data were downloaded (<paramref name="streamOut" /> if user-supplied, or the implementation-defined stream, which does not need disposing of in this case).</returns>
        </member>
        <member name="M:JetBrains.Util.Networking.HttpDownload.BeginBackgroundLoggingAsync(JetBrains.Lifetimes.Lifetime,JetBrains.Util.Networking.HttpDownload.DownloadProgress,JetBrains.Util.Networking.HttpDownload.RetryOracle,System.String,JetBrains.Util.ILogger)">
            <summary>
            Initiates periodic reporting in the background to help diagnosing problematic downloads in the logs.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HttpDownload.HttpDownloadReliableAttempt(JetBrains.Lifetimes.OuterLifetime,System.Uri,System.IO.Stream,System.Net.IWebProxy,JetBrains.Util.Networking.HttpDownload.Flags,JetBrains.Util.Networking.HttpDownload.RetryOracle,JetBrains.Util.Networking.HttpDownload.DownloadProgress,JetBrains.Util.ILogger)">
            <summary>
            Does one attempt, must not throw out unless very fatal, return the exception instead.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.DownloadProgress.myIsForceIndeterminate">
            <summary>
            Total size were explicitly reported as unknown, or were reported inconsistently.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.DownloadProgress.myLastSteppedProgressPos">
            <summary>
            Locked with <see cref="F:JetBrains.Util.Networking.HttpDownload.DownloadProgress.myLockStepping" />. Reflects last value which should be in the progress
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.DownloadProgress.BytesKind.InitialTransfer">
            <summary>
            On the first attempt. Only sent/received once.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.DownloadProgress.BytesKind.ResumedTransfer">
            <summary>
            The transfer were interrupted and were resumed without dropping all the bytes we have.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.DownloadProgress.BytesKind.RestartedTransfer">
            <summary>
            Resume were not possible, dropped all the bytes we have and restarted.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HttpDownload.DownloadProgress.BytesTransferData.ToString">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Credentials">
            <summary>Optional. The HTTP Credentials.</summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Method">
            <summary>Optional. The HTTP Method.</summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.UserAgent">
            <summary>Optional. The value of the User-agent HTTP header.</summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.NoPartialDownloads">
            <summary>
            Prevents from downloadig file in parts. A retry would retry from scratch and not resume from the same position.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.NoRetry">
            <summary>
            Does not retry/resume if the first attempt fails.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.NoWaitBetweenAttempts">
            <summary>
            Does not pause between the next attempt (e.g. if network is temporarily down, to not waste all attempts in an instant).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.RequestContent">
            <summary>Optional. The content to be uploaded with the request.</summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.RequestContentType">
            <summary>Optional. If <see cref="F:JetBrains.Util.Networking.HttpDownload.Flags.RequestContent" /> is given, specifies custom content type for it.</summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.TimeoutForAtomicOperations">
            <summary>
              <para>Advanced. Overrides various timeouts starting with <c>TimeoutAtomic…</c> in <see cref="T:JetBrains.Util.Networking.HttpDownload.Flags.Defaults" />.</para>
              <para>Those timeouts prevent from unexpected freezes in server operations and shan't be hit with normal servers. However, some servers might be implementing REST-like blocking APIs for lengthy operations, so that opening a request might await on queue for access to server resources, and getting the response might await on the operation itself, each of these possibly lasting for tens of minutes. This control allows to lift the limitations, all at once. Individual tweaks might be exposed as well, but at this moment this is not needed.</para>
              <para><see cref="F:System.TimeSpan.MaxValue" /> or <see cref="F:JetBrains.Interop.WinApi.WinDef.INFINITE" /> means no timeout. A NULL value means the operation-specific timeout from <see cref="T:JetBrains.Util.Networking.HttpDownload.Flags.Defaults" />.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.TimeoutPerRequest">
            <summary>
              <para>The timeout for each of the download operations (attemps). Gets passed to the HTTP request.</para>
              <para><see cref="F:System.TimeSpan.MaxValue" /> or <see cref="F:JetBrains.Interop.WinApi.WinDef.INFINITE" /> means no timeout. A NULL value means <see cref="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutPerRequest" />.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.SendReceiveBufferCbSize">
            <summary>
            Size of the chunks we are reading from the receiving stream.
            Making them too small might be suboptimal with larger payloads.
            Making them too large has two problems: (a) LOH hits, (b) progress is only reported in between chunks, so with a very large buffer we might not be getting progress reports.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutAtomicOnErrorMessageResponse">
            <summary>
            When Web server reports a failure, wait at most this time for the full response error message.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutAtomicOpenRequestStream">
            <summary>
            Timeout on opening the request stream for uploading the request payload (if present), on each attempt.
            NOTE this does not include the time for uploading the payload itself, just opening the stream.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutAtomicOpenResponse">
            <summary>
            Timeout on getting the response object. NOTE this does not include actually downloading any bytes, just the initial opening of the response.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutAtomicSingleBufferLocalReadWrite">
            <summary>
            Sanity time limit on writing to the local output stream, or reading from the local stream with content for uploading, if async API is used (unless it's a well-known mem stream).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutAtomicSingleBufferRemoteReadWrite">
            <summary>
            Timeout on one async stream operation with one buffer of size <see cref="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.SendReceiveBufferCbSize" /> over the remote stream (upload for sending request payload, download when downloading the response body). This does not cover the error text, see <see cref="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutAtomicOnErrorMessageResponse" /> instead.
            NOTE this is not timing out the whole download/upload operation, just one chunk.
            We assume that if bytes are coming TOO slowly, or got stuck and not coming at all without breaking the connection (happens on mobile internet), we should rather drop this attempt and re-initiate, since we're good at retrying.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.Flags.Defaults.TimeoutPerRequest">
            <inheritdoc cref="F:JetBrains.Util.Networking.HttpDownload.Flags.TimeoutPerRequest" />
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.RetryOracle.ourRandom">
            <summary>
            In order to get varying results for multiple oracle instances, there must be a shared Random object.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.RetryOracle.myOtherErrors">
            <summary>
            Some network/transport/algorithm error.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.RetryOracle.myPermanentErrors">
            <summary>
            Like 403,404 — should do a few attempts anyway, but not too many.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Networking.HttpDownload.RetryOracle.myProgressingResumes">
            <summary>
            The dload were interrupted, but resumed successfully from the same spot and more bytes were received, the progress is going, no waits, more attempts.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HttpDownload.RetryOracle.GetException">
            <summary>
            Exception from the last failed attempt.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Networking.HttpDownload.RetryOracle.GetStatus">
            <summary>
            For background logging, slow path.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NumberUtilParsing.TryParseFloatingPoint(System.Byte*,System.UInt32,System.Double*)">
            <summary>
            Duplicates the code in <see cref="M:System.Double.TryParse(System.String,System.Double@)" />, as borrowed from CoreCLR, with the following differences:
            (1) Parses only for <c>AllowLeadingSign+AllowExponent+AllowDecimalPoint</c>. No currency, no thousands.
            (2) Parses only for the Invariant Culture, only dots for decimal points.
            (3) Operates on the memory pointer rather than a string managed object. This is the key point.
            (4) Does not need a terminating zero at the end of the string. This allows to parse a part of the input stream.
            (5) The input is in bytes, and is assumed to be in a multibyte encoding such as ASCII or ANSI or UTF-8 — for normal doubles, that's no difference, with the exception of the “∞” char which might occur in the <see cref="F:System.Double.PositiveInfinity" /> <see cref="M:System.Double.ToString" /> in <c>R</c> mode, which is expected to be expressed as three UTF-8 bytes. Any unexpected byte value aborts parsing.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NumberUtilParsing.TryParseFloatingPoint(System.UInt16*,System.UInt32,System.Double*,JetBrains.Util.NumberUtilParsing.DataBuffer)">
            <summary>
            Duplicates the code in <see cref="M:System.Double.TryParse(System.String,System.Double@)" />, as borrowed from CoreCLR, with the following differences:
            (1) Parses only for <c>AllowLeadingSign+AllowExponent+AllowDecimalPoint</c>. No currency, no thousands.
            (2) Parses only for the Invariant Culture, only dots for decimal points.
            (3) Operates on the memory pointer rather than a string managed object. This is the key point.
            (4) Does not need a terminating zero at the end of the string. This allows to parse a part of the input stream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.NumberUtilParsing.TryParseFloatingPoint(System.String,System.Double@)">
            <summary>
            Façade for parsing from a regular string, mostly for testing purposes, as it makes a slower version of <see cref="M:System.Double.Parse(System.String)" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.NumberUtilParsing.NumberCpp.rgexp64Power10">
            <summary>
            exponents for both powers of 10 and 0.1
            </summary>
        </member>
        <member name="F:JetBrains.Util.NumberUtilParsing.NumberCpp.rgexp64Power10By16">
            <summary>
            // exponents for both powers of 10^16 and 0.1^16
            </summary>
        </member>
        <member name="M:JetBrains.Util.NumberUtilParsing.NumberCpp.AssembleIeeeDoubleBits(JetBrains.Util.NumberUtilParsing.NumberCpp.FloatingData*,System.Double*)">
            <summary>
            The <c>NumberToDouble</c> method from <c>number.cpp</c>.
            </summary>
            <param name="number"></param>
            <param name="value"></param>
        </member>
        <member name="F:JetBrains.Util.NumberUtilParsing.NumberCpp.FloatingData.Digits">
            <summary>
            ASCII chars, numbers only, buffer must be long enough for NumberMaxDigits (plus NULL), has <see cref="F:JetBrains.Util.NumberUtilParsing.NumberCpp.FloatingData.Precision" /> meaningful bytes.
            </summary>
        </member>
        <member name="F:JetBrains.Util.NumberUtilParsing.NumberCpp.FloatingData.Precision">
            <summary>
            Number of meaningful digits.
            </summary>
        </member>
        <member name="T:JetBrains.Util.NunitUpgradeProcess">
            <summary>
            We needs it during upgrading from nunit2 to nunit3. Wish you good mood.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ObservableRangeCollection`1">
            <summary> 
            Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed. 
            </summary> 
            <typeparam name="T"></typeparam> 
        </member>
        <member name="M:JetBrains.Util.ObservableRangeCollection`1.AddRange(System.Collections.Generic.IList{`0})">
            <summary> 
            Adds the elements of the specified collection to the end of the ObservableCollection(Of T). 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.ObservableRangeCollection`1.RemoveRange(System.Collections.Generic.IList{`0})">
            <summary> 
            Removes the first occurrence of each item in the specified collection from ObservableCollection(Of T). 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.ObservableRangeCollection`1.Replace(`0)">
            <summary> 
            Clears the current collection and replaces it with the specified item. 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.ObservableRangeCollection`1.ReplaceRange(System.Collections.Generic.IEnumerable{`0})">
            <summary> 
            Clears the current collection and replaces it with the specified collection. 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.ObservableRangeCollection`1.#ctor">
            <summary> 
            Initializes a new instance of the System.Collections.ObjectModel.ObservableCollection(Of T) class. 
            </summary> 
        </member>
        <member name="M:JetBrains.Util.ObservableRangeCollection`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary> 
            Initializes a new instance of the System.Collections.ObjectModel.ObservableCollection(Of T) class that contains elements copied from the specified collection. 
            </summary> 
            <param name="collection">collection: The collection from which the elements are copied.</param> 
            <exception cref="T:System.ArgumentNullException">The collection parameter cannot be null.</exception> 
        </member>
        <member name="M:JetBrains.Util.Processes.CommandLineToolsRunnerHelpers.RerunCltUnderWindowsArm64(JetBrains.Util.FileSystemPath,System.String[],System.Int32@)">
            <summary>
              Reruns clt natively under Windows ARM64 because .NET Framework AnyCPU apps run as emulated x64 by default (see https://github.com/dotnet/core/issues/7709).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Processes.ConsoleRunner">
            <summary>
            Tool for safely running console tools with redirected output. Typical usage for getting output of unix commands. Default timeout is 1 minute
            </summary>
        </member>
        <member name="M:JetBrains.Util.Processes.DotNetGlobalToolsRunnerHelpers.RunCltWithCustomRuntimeConfig(JetBrains.Util.FileSystemPath,System.String,System.String)">
            <summary>
            If the clt was run on windows on NETCore.App (it is the case if cross platform tool it started as dotnet global tool)
            this method helps to run the clt using proper runtimeconfig with specified suffix <see cref="!:runtimeConfigSuffix"/>
            So we will have the first process (which runs on NETCore.App as runner and calls this method)
            and the second (which runs on proper runtimeConfig and do the job)
            Features:
            1. The second process can properly work with stdin/out/err
            2. Returned exit code will be propagated from second process to the first
            3. The Ctrl-C, Ctrl-Break signals won't affect the first application (it still will be waiting for the second application exit)
            4. If the first process is terminated the second is also will be terminated (jobs are used as in <code>InvokeChildProcess</code>)
            </summary>
            <param name="assemblyPath">Path to the clt assembly</param>
            <param name="commandLine"></param>
            <param name="runtimeConfigSuffix">The suffix to the runtime config. The path to config file will be <see cref="!:assemblyPath"/> without extension + .runtimeconfig + <see cref="!:runtimeConfigSuffix"/> + .json></param>
            <returns>Propagated exit code</returns>
            <exception cref="T:System.Exception">Throws exception in case it is not possible to run second application</exception>
        </member>
        <member name="M:JetBrains.Util.Processes.DotNetGlobalToolsRunnerHelpers.RerunCltIfNeeded(System.Func{System.String[],System.Int32},JetBrains.Util.FileSystemPath,System.String[],System.String,System.Action{System.String},System.Int32)">
            <summary>
            The method reruns the application on proper runtime config if needed
            see <see cref="M:JetBrains.Util.Processes.DotNetGlobalToolsRunnerHelpers.RunCltWithCustomRuntimeConfig(JetBrains.Util.FileSystemPath,System.String,System.String)"/> for details
            </summary>
            <param name="mainMethod"></param>
            <param name="mainModuleModulePath"></param>
            <param name="args"></param>
            <param name="runtimeConfigSuffix"></param>
            <param name="errorMessageLogger"></param>
            <param name="failureReturnCode"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Processes.DotNetGlobalToolsRunnerHelpers.CreateJob(System.String)">
            <summary>
            The code is copy pasted from <see cref="T:JetBrains.Util.InvokeChildProcess"/>. We cannot that class because it uses JetDispatcher which is not
            available when we run code on NETCore.App on windows.
            </summary>
            <param name="sJobName"></param>
            <returns></returns>
            <exception cref="T:System.ComponentModel.Win32Exception"></exception>
        </member>
        <member name="M:JetBrains.Util.Processes.DotNetGlobalToolsRunnerHelpers.AssignJobToProcess(JetBrains.Util.Processes.DotNetGlobalToolsRunnerHelpers.SafeJobHandle,System.IntPtr)">
            <summary>
            The code is copy pasted from <see cref="T:JetBrains.Util.InvokeChildProcess"/>. We cannot use that class because it uses JetDispatcher which is not
            available when we run code on NETCore.App on windows.
            </summary>
            <param name="jobHandle"></param>
            <param name="processHandle"></param>
            <exception cref="T:System.ComponentModel.Win32Exception"></exception>
        </member>
        <member name="T:JetBrains.Util.InvokeChildProcess">
            <summary>
              Helps with invoking a child process during a build.
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.TimeoutChildProcess">
            <summary>
            The default timeout for running child processes.
            Originally, when this were used for spawning builds in child processes, this were limited to 1h. But with all the other uses, this is not a safe default anymore.
            </summary>
        </member>
        <member name="M:JetBrains.Util.InvokeChildProcess.InvokeCore_Native_JobObject_ListProcesses(JetBrains.Lifetimes.Lifetime,System.Void*,System.Action{System.Exception,System.String},JetBrains.Util.OnError)">
            <summary>
            Lists the processes which are currently running and belong to the job.
            </summary>
        </member>
        <member name="M:JetBrains.Util.InvokeChildProcess.StartInfo.#ctor(JetBrains.Util.FileSystemPath,JetBrains.Util.CommandLineBuilderJet,JetBrains.Util.FileSystemPath,JetBrains.Util.ProcessUtil.CreateProcessWDelegate,System.Nullable{System.Diagnostics.ProcessPriorityClass},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},JetBrains.Util.InvokeChildProcess.PipeStreams,System.Boolean,System.Nullable{System.TimeSpan},System.Nullable{JetBrains.Interop.WinApi.MachineId})">
            <summary>
            Copy constructor. Be prepared to have it binary incompat when the number of parameters changes.
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.StartInfo.AdditionalEnvironmentVariables">
            <summary>
            By default, a child process inherits all of the environment variables of the parent process.
            This dictionary allows to modify the list by setting the new ones or removing existing ones (by setting them a NULL value).
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.StartInfo.OverrideCreateProcessW">
            <summary>
            Optional. If set, overrides the call to Windows NT <c>CreateProcessW</c> with a call to this function instead, with all the exact parameters as designated for the system call. It is an error to set this value when the implementation is not about to call the native WinNT CreateProcessW.
            </summary>
        </member>
        <member name="P:JetBrains.Util.InvokeChildProcess.StartInfo.Pipe">
            <summary>
            Gets or sets how the StdOut/StdErr streams of the child process should be pumped.
            <c>NULL</c> means that the streams should not be captured, and the process should be allowed to show its own console (if it's a console process).
            The initial setting is to redirect child process streams into those of the parent process (even if any of them is not a console process).
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.StartInfo.StdIn">
            <summary>
            Gives optional access to the child process standard input stream.
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.StartInfo.StartInJob">
            <summary>
            Starts a process inside a Windows Job Object
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.StartInfo.IgnoreJobErrors">
            <summary>
            Assigning a process to a job object may fail, e.g. "Access is denied".
            There are cases when it's not an error as the process is started successfully. 
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.StartInfo.MachineType">
            <summary>
            Specifies the machine architecture of the process to start, Windows only.
            </summary>
        </member>
        <member name="T:JetBrains.Util.InvokeChildProcess.PipeStreams">
            <summary>
            Determines what happens to the StdOut and StdErr streams of the child process.
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.PipeStreams.PumpStreamHighLevel">
            <summary>
            MUST be given. Called for each line of the incoming stdout/stderr, unless runtime decides it would be calling <see cref="F:JetBrains.Util.InvokeChildProcess.PipeStreams.PumpStreamLowLevel" /> instead (if defined and if runtime supports it, see comments there).
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.PipeStreams.StreamHighLevelEncoding">
            <summary>
              <para>Hi-level stream handler takes strings, which requires interpreting incoming bytes with a certain encoding.</para>
              <para>On NT, this is rather non-deterministic: the process is sending out bytes, there is no strict convention on how they would be encoded, even on that every stdout writer would use the same encoding for writing bytes into it.</para>
              <para>IF left NULL, would fall back to using <see cref="!:Console.OutputEncoding" />. This is in sync with <see cref="P:System.Diagnostics.ProcessStartInfo.StandardOutputEncoding" /> behavior.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.PipeStreams.PumpStreamLowLevel">
            <summary>
            Optional. If specified, AND IF the runner supports low-level reading of the stream as raw bytes (originally, for NT native runner only), this handler would be called INSTEAD OF <see cref="F:JetBrains.Util.InvokeChildProcess.PipeStreams.PumpStreamHighLevel" /> for any incoming bytes. Allows for custom handling for ill-defined encodings or hi-perf pumping of incoming bytes into own process' output.
            If given, you must be ready to be handling either <see cref="F:JetBrains.Util.InvokeChildProcess.PipeStreams.PumpStreamHighLevel" /> or <see cref="F:JetBrains.Util.InvokeChildProcess.PipeStreams.PumpStreamLowLevel" /> consistently.
            </summary>
        </member>
        <member name="M:JetBrains.Util.InvokeChildProcess.PipeStreams.IntoJetLogger(JetBrains.Util.InvokeChildProcess.TreatStderr,System.Nullable{JetBrains.Diagnostics.LoggingLevel})">
            <summary>
              <para>Child process StdOut gets logged into the <see cref="T:JetBrains.Util.Logging.Logger" /> as <see cref="F:JetBrains.Diagnostics.LoggingLevel.INFO" /> (or custom level) messages.</para>
              <para>Child process StdErr gets logged into the <see cref="T:JetBrains.Util.Logging.Logger" /> as <see cref="F:JetBrains.Diagnostics.LoggingLevel.ERROR" /> or <see cref="F:JetBrains.Diagnostics.LoggingLevel.INFO" /> (or custom level) messages, depending on the <see cref="T:JetBrains.Util.InvokeChildProcess.TreatStderr" /> setting.</para>
              <para>The logger instance (and hence the logging category) is taken from the logger passed into <see cref="M:JetBrains.Util.InvokeChildProcess.InvokeCore(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.InvokeChildProcess.StartInfo,JetBrains.Util.InvokeChildProcess.SyncAsync,JetBrains.Util.ILogger)" /> or its wrappers.</para>
              <para>If the message parses as a standard error or warning line (in accordance with csc/vbc/msbuild rules), then it gets logged as an error or as a warning.</para>
            </summary>
            <param name="treatStderr">Allows to suppress treating StdErr lines as errors, considering them the same as StdOut.</param>
            <param name="levelDefault">Optionally changes the logging level for non-error messages from its default <see cref="F:JetBrains.Diagnostics.LoggingLevel.INFO" />.</param>
        </member>
        <member name="M:JetBrains.Util.InvokeChildProcess.PipeStreams.IntoParentProcessStreams(JetBrains.Util.InvokeChildProcess.TreatStderr,System.Boolean)">
            <summary>
            Child process StdOut gets piped into the parent process StdOut.
            Child process StdErr gets piped into either StdErr or StdOut of the parent process, depending on the <see cref="T:JetBrains.Util.InvokeChildProcess.TreatStderr" /> setting.
            </summary>
            <param name="treatStderr">Allows to suppress treating StdErr lines as errors, considering them the same as StdOut.</param>
            <param name="forceHighLevel">Forces to use high level line-by-line text redirection.</param>
        </member>
        <member name="F:JetBrains.Util.InvokeChildProcess.ProcessIdHandleName.Handle">
            <summary>
            Handle MUST be closed after use.
            </summary>
        </member>
        <member name="T:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn">
            <summary>
            This is a crude initial prototype API for handling child process StdIns. Let's enhance when we have a base of actual usages.
            To use, set <see cref="P:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.IsOpeningStdInWhenStartingProcess" /> before the process starts, and call <see cref="M:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.WriteToStdIn(System.ReadOnlySpan{System.Byte})" /> after it does.
            </summary>
        </member>
        <member name="P:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.IsOpeningStdInWhenStartingProcess">
            <summary>
            This MUST be set to <c>True</c> before starting the process. Isn't possible to turn on this mode later.
            </summary>
        </member>
        <member name="M:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.WriteToStdIn(System.ReadOnlySpan{System.Byte})">
            <summary>
            Writes to the standard input of the child process, if it's been opened by setting <see cref="P:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.IsOpeningStdInWhenStartingProcess" /> before it starts.
            Only available while the process is running, check the return value (or turn into an exception) if you are interested in handling errors.
            </summary>
        </member>
        <member name="M:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.Close">
            <summary>
            Closes the standard input of the child process, if it's been opened by setting <see cref="P:JetBrains.Util.InvokeChildProcess.ChildProcessStdIn.IsOpeningStdInWhenStartingProcess" /> before it starts.
            Only available while the process is running, check the return value (or turn into an exception) if you are interested in handling errors.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.GetChildren(System.Diagnostics.Process)">
            <summary>
            Tries to get all of the immediate child processes for a given process.
            Might accidentally mix processes up if the parent process terminates and its ID is reused.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.GetAllChildren(System.Diagnostics.Process)">
            <summary>
            Recursively gets all of the child processes for a given process.
            Might accidentally mix processes up if the parent process terminates and its ID is reused.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.Is64BitProcess(System.Diagnostics.Process)">
            <summary>
            Indicates if the process is 32 or 64 bit.
            </summary>
            <param name="process">process to query</param>
            <returns>true: process is 64 bit; false: process is 32 bit</returns>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.GetParent(System.Diagnostics.Process)">
            <summary>
            Tries to get the parent process for a given process.
            Might accidentally mix processes up if the parent process terminates and its ID is reused.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.ShutdownGracefully(System.Diagnostics.Process,JetBrains.Util.ProcessUtil.ShutdownFlags,System.TimeSpan,JetBrains.Util.ILogger)">
            <summary>
            Initiates the process graceful shutdown by closing its main window.
            Optionally, kills the process abruptly if the shutdown fails to complete as the timeout expires.
            </summary>
            <param name="process">The process to kill. Could be own process.</param>
            <param name="flags">Behavior flags.</param>
            <param name="waitTimeout">The timeout to wait for the process to shutdown gracefully (before exiting or killing the process). Ignored in some <paramref name="flags" /> combinations.</param>
            <param name="logger">Optional logger</param>
            <returns>Whether the process has exited.</returns>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.EncodeEnvironmentStringMbcs(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}},System.Text.Encoding)">
            <summary>
            Encodes an env string with a multibyte-character-string encoding, like CoreCLR Debugger Shim would expect when running under Linux.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.EnumerateJobProcessIds(System.Void*,JetBrains.Util.OnError)">
            <summary>
            Gets the list of processes attached to the given Job object (or its child Job objects).
            </summary>
            <param name="hJob"></param>
            <param name="onerror"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.ProcessUtil.GetMainModuleName">
            <summary>
            Gets the main module name (name without extension of the main executable file, for example). Usually same as ProcessName, but faster.
            Querying the process name thru the process APIs involves doing the full enumeration, which might be undesirable in low-level code.
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.ProcessUtil.NativeWaitHandle">
            <summary>
            Allows to guise a native HANDLE as a NetFx waitable handle.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ProcessUtil.ShutdownFlags">
            <summary>
            <see cref="M:JetBrains.Util.ProcessUtil.ShutdownGracefully(System.Diagnostics.Process,JetBrains.Util.ProcessUtil.ShutdownFlags,System.TimeSpan,JetBrains.Util.ILogger)" /> flags.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.ShutdownFlags.WaitSynchronously">
            <summary>
            After sending the shutdown control, does not return from the method until either the timeout expires or the process exits.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.ShutdownFlags.KillAfterTimeout">
            <summary>
            If the process fails to exit within the timeout, the process is killed.
            If <see cref="F:JetBrains.Util.ProcessUtil.ShutdownFlags.WaitSynchronously" />, this method performs a non-pumping wait; otherwise, a timer is used to wait async.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsCreateNewProcessGroup">
            <summary>
            <see cref="F:JetBrains.Interop.WinApi.Constants.CreationFlags.CREATE_NEW_PROCESS_GROUP" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsCreateNoWindow">
            <summary>
            <see cref="F:JetBrains.Interop.WinApi.Constants.CreationFlags.CREATE_NO_WINDOW" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsDetachedProcess">
            <summary>
            <see cref="F:JetBrains.Interop.WinApi.Constants.CreationFlags.DETACHED_PROCESS" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsCreateNewConsole">
            <summary>
            <see cref="F:JetBrains.Interop.WinApi.Constants.CreationFlags.CREATE_NEW_CONSOLE" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsDontInhetitHandles">
            <summary>
            Passes <c>False</c> to <c>bInheritHandles</c>.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsRedirectStdErr">
            <summary>
            Creates a custom pipe for the stream, gives the reader pipe end handle in <see cref="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.BeforeProcessRuns" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsRedirectStdIn">
            <summary>
            Creates a custom pipe for the stream, gives the reader pipe end handle in <see cref="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.BeforeProcessRuns" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.StdInLifetime">
            <summary>
            Allows to define a custom lifetime for stdin in cases when we need to close it before process closed
            (i.e. if we need to send an input and close stream to inform the process it may process the input) 
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.IsRedirectStdOut">
            <summary>
            Creates a custom pipe for the stream, gives the writer pipe end handle in <see cref="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.BeforeProcessRuns" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.ResumeAfterStart">
            <summary>
            The process will stay in suspended state after start.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.OverrideCreateProcessW">
            <summary>
            Optional. If set, overrides the call to Windows NT <c>CreateProcessW</c> with a call to this function instead, with all the exact parameters as designated for the system call. It is an error to set this value when the implementation is not about to call the native WinNT CreateProcessW.
            </summary>
        </member>
        <member name="F:JetBrains.Util.ProcessUtil.CreateProcessInfo`1.MachineType">
            <summary>
            Specifies the machine architecture of the process to start.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ProcessUtil.Pipes">
            <summary>
            Handles to the standard streams of the child process, whichever were requested to be piped, others are NULL.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ProcessUtil.CreateProcessWDelegate">
            <summary>
            A delegate with the exact <c>::CreateProcessW</c> prototype.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ProductHeadline">
            <summary>
            Formats product headline like 'Product Name 2017.3 EAP 8 build 111.0.20171124.0-eap08. Copyright © 2009-2017 JetBrains s.r.o.'
            according to https://youtrack.jetbrains.com/issue/LegalCZ-9
            </summary>
            <remarks>
            This class is similar to <c>JetBrains.Application.BuildScript.ProductHeadlineBuilder</c> but might be used in runtime.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.Reflection.PlatformCommonBindingRedirects">
            <summary>
            At some point, Platform is no more able to provide a consistent set of assemblies whose versions match their references. The breaking point were the Unsafe assembly.
            From then on, every NetFX runtime must have binding redirects in place to enforce compatibility, or, in some cases, assembly resolvers doing the same.
            This class lists assemblies which must be redirected, and the target versions.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.SystemBuffersV4040">
            <summary>
            As a dependency of System.Memory, must also be present in binding redirects (with code base).
            When we are running in LoadFrom context (e.g. as a VS extension), loading <c>System.Memory</c> in a LoadFrom context of one of our own DLLs would find it in the folder of our assembly, but Fusion hits a <c>bindingRedirect</c> with a <c>codeBase</c> for it.
            As a result, <c>System.Memory</c> gets loaded in a Load context instead (!). All of its references are then looked up in the global context too, and not in LoadFrom of our assembly anymore, so Fusion does not look for them in the folder of our assembly, and bind fails. See RSRP-499758 for case details.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.SystemNumericsVectorsV4150">
            <inheritdoc cref="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.SystemBuffersV4040"/>
        </member>
        <member name="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.PlatformMandatoryBindingRedirectsTargets">
            <summary>
            The set of assembly identities into which assemblies with a matching simple name and token must be redirected.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.PlatformMandatoryBindingRedirectPolicies">
            <summary>
            <see cref="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.PlatformMandatoryBindingRedirectsTargets" /> as policies (incl redirection rules, no codebase of course), ready for making into xml configs.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Reflection.PlatformCommonBindingRedirects.DefaultConfigurationFileForPlatform">
            <summary>
            Makes the ready for use trivial app config file with just the redirections.
            </summary>
        </member>
        <member name="T:JetBrains.Util.RegistryUtil">
            <summary>
            This is a convenient wrapper around Registry API. It recognizes registry paths of the XPath syntax
            </summary>
        </member>
        <member name="M:JetBrains.Util.RegistryUtil.GetMimeType(System.String)">
            <summary>
            Gets the MIME type of the file by looking up Registry for its extension.
            </summary>
        </member>
        <member name="T:JetBrains.Util.ReinterpretCast">
            <summary>
            In a generic method, allows to reinterpret-cast a value type to the matching generic parameter type without boxing it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.ReinterpretCast.ValueTypeOrNullable``2(``0)">
            <summary>
            Call on POD structs only!
            Reinterpret-casts types bluntly.
            </summary>
        </member>
        <member name="M:JetBrains.Util.RichText.ImplementationDetailsForRichText.GetRawParts(JetBrains.UI.RichText.RichText)">
            <summary>
            Dangerous! Do not modify!
            Provides raw access to the parts, for renderers which used to peek into the internal field when their UIIinteractive code were in the same project.
            Not sure if this is really perf-crit to allocate an object with <see cref="!:RichText.GetFormattedParts" />, but why risk a slowdown in this legacy code. Let's give it raw access.
            </summary>
        </member>
        <member name="T:JetBrains.Util.RichText.JetFont">
            <summary>
            Information about a font, in resolution-independent and framework-independent (mostly) manner.
            </summary>
        </member>
        <member name="P:JetBrains.Util.RichText.JetFont.EmSizeInDip">
            <summary>
            This is the em-size of the font, aka character size, or character cell height minus internal leading.
            The units are device-independent pixels (96 DPI pixels, Avalon pixels, logical pixels). This isn't in points, which are 72 DPI pixels.
            The value is directly usable for Avalon font sizes. For WinForms, it must be scaled to the DPI, and units must be set to pixels. Do not use resolution-independent units such as points for WinForms, because often the rendering engine does not know the correct DPI value at render time, better use our live DPI routines and get the physical pixels ourselves.
            </summary>
        </member>
        <member name="P:JetBrains.Util.RichText.JetFont.FontFamilyName">
            <summary>
            String name of the font family.
            </summary>
        </member>
        <member name="P:JetBrains.Util.RichText.JetFont.FontStyle">
            <summary>
            Gets the font style (variation / weight), in a framework-independent manner, basic values only.
            </summary>
        </member>
        <member name="M:JetBrains.Util.RichText.JetFont.Equals(JetBrains.Util.RichText.JetFont)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.RichText.JetFont.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.RichText.JetFont.GetHashCode">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.RichText.MnemonicRendering.No">
            <summary>
            Don't touch any special chars, render them as is.
            </summary>
        </member>
        <member name="F:JetBrains.Util.RichText.MnemonicRendering.RemoveAmpersand">
            <summary>
            Handle ampersand for mnemonics by treating them as special chars and removing, but paint no underline.
            </summary>
        </member>
        <member name="F:JetBrains.Util.RichText.MnemonicRendering.UnderlineByAmpersand">
            <summary>
            Handle ampersand for mnemonics by treating them as special chars and removing, and paint the underline.
            </summary>
        </member>
        <member name="T:JetBrains.Util.StringEncryption">
            <summary>
            StringEncryption is a wrapper of System.Security.Cryptography.SymmetricAlgorithm classes
            and simplifies the interface. It supports customized SymmetricAlgorithm as well.
            </summary>
        </member>
        <member name="T:JetBrains.Util.StringEncryption.StringEncryptionMethod">
            <remarks>
            Supported .Net intrinsic SymmetricAlgorithm classes.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.StringEncryption.#ctor(JetBrains.Util.StringEncryption.StringEncryptionMethod)">
            <remarks>
            Constructor for using an intrinsic .Net SymmetricAlgorithm class.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.StringEncryption.#ctor(System.Security.Cryptography.SymmetricAlgorithm)">
            <remarks>
            Constructor for using a customized SymmetricAlgorithm class.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.StringEncryption.GetLegalKey(System.String)">
            <remarks>
            Depending on the legal key size limitations of a specific CryptoService provider
            and length of the private key provided, padding the secret key with space character
            to meet the legal size of the algorithm.
            </remarks>
        </member>
        <member name="T:JetBrains.Util.Serialization.CsexpArchive">
            <summary>
            Like an MFC Archive, handles read and write operations with the same API.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Serialization.CsexpReader.BuffersCbSize">
            <summary>
            For reuse when we need max buf size, allows to avoid field reads.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Serialization.CsexpReader.myDelayedError">
            <inheritdoc cref="M:JetBrains.Util.Serialization.CsexpReader.ReportDelayedError(System.Exception)" />
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.GetCurrentStringTokenCbSize">
            <summary>
            If the current <see cref="P:JetBrains.Util.Serialization.CsexpReader.TokenKind" /> is a <see cref="F:JetBrains.Util.Serialization.CsexpTokenKind.String" />, gets its length, in bytes.
            Otherwise, throws.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.ReadStringValue(System.String)">
            <summary>
            Reads the value of the current String token as a managed string.
            </summary>
            <param name="assertThisValue">Optional. If defined, will check that it's equal to token, and throw an exception otherwise; no heap memory will be allocated unless the string is too large.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.ReadValueToSpan(System.Span{System.Byte})">
            <summary>
            Reads the value of the current string token into a user-supplied buffer.
            </summary>
            <param name="userbuffer">Buffer space to write the data into. This buffer is allowed to be larger than the size of the current <see cref="M:JetBrains.Util.Serialization.CsexpReader.GetCurrentStringTokenCbSize">string token value</see>. Check the return value if you need a buffer of an exact size.</param>
            <returns>A subrange of <paramref name="userbuffer" /> truncated to the bytes actually read. This length is exactly known before you call the method as <see cref="M:JetBrains.Util.Serialization.CsexpReader.GetCurrentStringTokenCbSize" /> (NOTE: when this method returns, the value of that method would already refer to the next token).</returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.ReportDelayedError(System.Exception)">
            <summary>
            If an error happens on a closing bracket of a using construct, this is often due to an exception somewhere inside the bracket (which unbalances the rest of the reading within the bracket).
            Throwing from the closing bracket is undesired because if there is an exception being propagated, said exception (which explains everything) will be totally lost and replaced with a useless exception about unbalancing the reader.
            Throw out on the next regular read operation (skips are not considered as they happen on bracked closings).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.Skip">
            <summary>
            Skips the current token to the next one. Returns the next state.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.TryReadShortValueAsSpan(System.ReadOnlySpan{System.Byte}@)">
            <summary>
            If the value of the current string token is <see cref="M:JetBrains.Util.Serialization.CsexpReader.GetCurrentStringTokenCbSize">short</see> enough (buffer size minus some technical bytes), gets a view on it directly in the cache buffer, and advances to the next token. This is the fastest possible access to a value.
            </summary>
            <param name="buffer">A temporary range looking directly into the reading buffer, invalidated on ANY operation, use only briefly without calling other methods.</param>
            <returns>Whether we could view the value, which MUST succeed for reasonably-sized values. If not, you can assume the value is really long, no efficient non-allocating methods for reading long values right now, either add one (which reads it as a sequence of span sections), or read to a user-supplied buffer. See <see cref="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadShortOrLongValueSpan(JetBrains.Util.Serialization.CsexpReader,System.ReadOnlySpan{System.Byte}@)" /> as an example.</returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.BeginReadNextToken(System.Boolean)">
            <summary>
            Before calling this method, MUST be positioned at the start of the token.
            Processes the beginning of the next token, i.e. does not complete the token processing:
            * For list open/close, consumes the bracket, but does not change the levels.
            * For string, consumes the length and colon and positions at value start.
            In <paramref name="isNoFillCache" /> mode, aborts (backtracksto token start and returns <c>False</c>) if runs out of the precache, wouldn't pump from the stream (and invalidate any spans looking into pre-cache).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.ReadByteSlow">
            <summary>
            Reads a single input byte in case of a precache miss.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.TryGetUnderlyingStreamPosition">
            <summary>
            Gets the current position of the input bytes stream (note: the underlying stream might be positioned elsewhere).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReader.DelayedListCloseError.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadDecValue(JetBrains.Util.Serialization.CsexpReader)">
            <summary>
            Reads the current string value as an encoded unsigned decimal number.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadHexValue(JetBrains.Util.Serialization.CsexpReader)">
            <summary>
            Reads the current string value as an encoded hex number.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadNamedValue(JetBrains.Util.Serialization.CsexpReader,System.String)">
            <summary>
            Expects a string token with this <paramref name="name" />, and then reads the string value from the next string token.
            </summary>
            <seealso cref="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValue``1(JetBrains.Util.Serialization.CsexpReader)" />
            [NotNull]
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadNamedValue``1(JetBrains.Util.Serialization.CsexpReader,System.String)">
            <summary>
            Expects a string token with this <paramref name="name" />, and then reads the value from the next string token with <see cref="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValue``1(JetBrains.Util.Serialization.CsexpReader)" />.
            </summary>
            <seealso cref="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValue``1(JetBrains.Util.Serialization.CsexpReader)" />
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadShortOrLongValueSpan(JetBrains.Util.Serialization.CsexpReader,System.ReadOnlySpan{System.Byte}@)">
            <summary>
            Reads the value of the current string token and returns it as a span.
            If value is short enough to fit within the internal buffer, then a span view on the internal buffer is given out directly.
            Otherwise, allocates temporary memory within the Unsafe Writer, gives out a span view into that, and returns a disposable which you MUST dispose of to release memory.
            You MUST NOT use the span beyond any next operation with the reader.
            </summary>
            <returns>Dispose of this value when you are done working with the span.</returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValue``1(JetBrains.Util.Serialization.CsexpReader)">
            <summary>
            Generic reader function for string tokens.
            Reads primitive types as their ASCII text representation, strings as UTF-8, and any other type thru <see cref="M:JetBrains.Reflection.StringConversion.ParseInvariantString(System.String,System.Type,JetBrains.Util.ILogger)" /> (<see cref="T:System.Windows.Markup.ValueSerializerAttribute" />, <see cref="T:System.ComponentModel.TypeConverterAttribute" /> string conversion).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValueToNewArray(JetBrains.Util.Serialization.CsexpReader)">
            <summary>
            Allocates a new buffer to read the value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValueToNewImmutableArray(JetBrains.Util.Serialization.CsexpReader)">
            <summary>
            Allocates a new buffer to read the value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpReaderEx.ReadValueToUnsafeWriterMemory(JetBrains.Util.Serialization.CsexpReader,JetBrains.Serialization.UnsafeWriter.Cookie)">
            <summary>
            Reads the value of the current string token into a user-supplied native memory buffer.
            It is advised not to allocate a new Unsafe Writer per each atomic read because the operation is relatively costly. For known small values, try to get away with direct spans.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpWriterEx.BeginWriteList(JetBrains.Util.Serialization.CsexpWriter)">
            <summary>
            Opens-cloes the nested list.
            To begin the use of this object, you must open the single toplevel list.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpWriterEx.BeginWriteNamedList(JetBrains.Util.Serialization.CsexpWriter,System.String)">
            <summary>
            Opens-cloes the nested list.
            To begin the use of this object, you must open the single toplevel list.
            </summary>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpWriterEx.WriteDoubleTextValue(JetBrains.Util.Serialization.CsexpWriter,System.Double)">
            <summary>
            A helper which writes a double value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpWriterEx.WriteNameValue(JetBrains.Util.Serialization.CsexpWriter,System.String,System.String)">
            <summary>
            A helper which writes a nested list of two items, name and value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpWriterEx.WriteNameValue``1(JetBrains.Util.Serialization.CsexpWriter,System.String,``0)">
            <summary>
            A helper which writes a nested list of two items, name and value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.CsexpWriterEx.WriteValue``1(JetBrains.Util.Serialization.CsexpWriter,``0)">
            <summary>
            A helper which writes a string conversion of a typed value.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Serialization.JsonConverterForNullableImmutableArray">
            <summary>
            By default, Newtonsoft JSON cannot handle NULL immutable arrays. This converter adds the capability.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Serialization.JsonTypeConverterNewtonsoft`1">
            <summary>
            Uses the alternative JSON serializer, not the system one.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.JsonTypeConverterNewtonsoft`1.#ctor">
            <summary>
            Uses the alternative JSON serializer, not the system one.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Serialization.JsonValueSerializerNewtonsoft`1">
            <summary>
            Uses the alternative JSON serializer, not the system one.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Serialization.JsonValueSerializerNewtonsoft`1.#ctor">
            <summary>
            Uses the alternative JSON serializer, not the system one.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Serialization.MemberwiseSerializableAttribute">
            <summary>
              <para>Means that the artifact should be serialized on member-by-member basis, by reading values of all public fields or properties.</para>
              <para>When restoring, values should be assigned either back to fields and properties (if writable), or to constructor parameters.</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.Serialization.XamlSerializableAttribute">
            <summary>
            Means that the artifact should be serialized into XAML.
            </summary>
        </member>
        <member name="T:JetBrains.Util.SimpleTextDiff">
            <param name="LinesRange">Zero-based range of lines that should be replaced: [start, end)</param>
            <param name="NewLines">A list of lines that should be used for replacing</param>
            <param name="OldLines">A list of lines that should be replaced</param>
            <remarks>All lines contain line ending</remarks>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiff.#ctor(System.Range,System.String[],System.String[])">
            <param name="LinesRange">Zero-based range of lines that should be replaced: [start, end)</param>
            <param name="NewLines">A list of lines that should be used for replacing</param>
            <param name="OldLines">A list of lines that should be replaced</param>
            <remarks>All lines contain line ending</remarks>
        </member>
        <member name="P:JetBrains.Util.SimpleTextDiff.LinesRange">
            <summary>Zero-based range of lines that should be replaced: [start, end)</summary>
        </member>
        <member name="P:JetBrains.Util.SimpleTextDiff.NewLines">
            <summary>A list of lines that should be used for replacing</summary>
        </member>
        <member name="P:JetBrains.Util.SimpleTextDiff.OldLines">
            <summary>A list of lines that should be replaced</summary>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.CalculateDiffInLines(System.String,System.String)">
            <summary>
            Calculates single change which allows to transform <paramref name="oldContent" /> to <paramref name="newContent" />
            Change is presented as inserting/removing/replacing line(s). All offsets (ranges) are line-based.
            All lines end with line-ending character (if it is present in the content).
            Change contains additional ("excessive") lines which allow automatic conflict resolution.
            Designed to work fast on insane input - 400.000.000 characters strings
            </summary>
            <remarks>
            Only \n, \r and \r\n are supported.
            It is OK because only them are supported in <c>LineEndings.UnifyLineSeparators</c> as well.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.ResolveConflictIfAny(JetBrains.Util.SimpleTextDiff,System.Collections.Generic.List{System.String})">
            <summary>
            Finds the correct place where diff should be applied to the currently present text.
            Supports automatic resolution of conflicts if currentLines slightly changed from the original state which existed when creating diff
            </summary>
            <exception cref="T:JetBrains.Util.SimpleTextDiffConflictException">It is impossible to apply diff to current text</exception>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.OptimizeDiff(JetBrains.Util.SimpleTextDiff)">
            <summary>
            Separates one big diff into several smaller ones if original diff has unchanged lines in the middle.
            Works only when the number of lines in the diff is relatively small (for performance reasons).
            Resulting diffs guaranteed to be sorted.
            </summary>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.ThrowAwayContext(JetBrains.Util.SimpleTextDiff)">
            <summary>
            Gets rid of the prefix and postfix lines. BEWARE, correct conflict resolution (ResolveConflictIfAny) won't be possible after that.
            </summary>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.DoesMatchAtLineAndChar(JetBrains.Util.SimpleTextDiff,System.Collections.Generic.IList{System.String},JetBrains.Util.SimpleTextDiffUtil.LineAndChar,System.Int32)">
            <returns>
            If the diff can be matched at this position - it returns new match position for the real diff (excluding prefix line).
            New position can be the same as original position (if prefix doesn't exist).
            Returns 'null' otherwise.
            </returns>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.AreSameSymbols(System.String,System.Int32@,System.String,System.Int32@)">
            <summary>
            Checks whether two symbols are the same.
            Checks that one line contains normal symbol (for instance, '"') while another one - escaped ('&quot;).
            Shifts one of the indices in that case but expects that both of them will be incremented by a callee.
            </summary>
            <returns>'true' if they are the same, 'false' - otherwise</returns>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.SplitByLines(JetBrains.Util.StringSlice)">
            <remarks>
            Keeps line ending characters
            </remarks>
        </member>
        <member name="M:JetBrains.Util.SimpleTextDiffUtil.LineAndChar.SkipWhitespaces(System.String@,System.Collections.Generic.IList{System.String})">
            <returns>Number of skipped lines</returns>
        </member>
        <member name="T:JetBrains.Util.StackTrace.StackTraceModel">
            <summary>
            Serializable model of stack trace.
            Can be used for pretty presentation.
            </summary>
        </member>
        <member name="T:JetBrains.Util.StackTrace.StackFrameModel">
            <summary>
            Serializable model of stack trace frame.
            Can be used for pretty presentation.
            </summary>
        </member>
        <member name="T:JetBrains.Util.StackTrace.MethodParameterInfoModel">
            <summary>
            Serializable model of method's parameter.
            Can be used for pretty presentation.
            </summary>
        </member>
        <member name="M:JetBrains.Util.StackTrace.StackTraceModelUtil.StackFrameToString(JetBrains.Util.StackTrace.StackFrameModel)">
            <summary>
            TODO (DK) Write in a right way
            </summary>
        </member>
        <member name="T:JetBrains.Util.StandardFolderLocationsStatic">
            <summary>
            This class gives standard folder locations for raw static utils.
            Any code running in shelled apps should use <c>HostFolderLocations</c> to get the desired locations and pass them to the corresponding utils. Only very static and basic code can use this class directly.
            </summary>
        </member>
        <member name="P:JetBrains.Util.StandardFolderLocationsStatic.LocalAppdata">
            <summary>
            The non-Roaming Application Data, shared for all versions and all hosts (%localappdata%\JetBrains\Shared\vAny).
            </summary>
        </member>
        <member name="P:JetBrains.Util.StandardFolderLocationsStatic.RoamingAppdata">
            <summary>
            The Roaming Application Data, shared for all versions and all hosts (%appdata%\JetBrains\Shared\vAny).
            </summary>
        </member>
        <member name="P:JetBrains.Util.StandardFolderLocationsStatic.TempFolder">
            <summary>
            Company temp folder (%temp%\JetBrains).
            </summary>
        </member>
        <member name="P:JetBrains.Util.StandardFolderLocationsStatic.TransientAppdata">
            <summary>
            The Application Data Transient folder (%localappdata%\JetBrains\Transient\Shared\vAny).
            </summary>
        </member>
        <member name="P:JetBrains.Util.StandardFolderLocationsStatic.TransientAppdataShortened">
            <summary>
            A version of <see cref="P:JetBrains.Util.StandardFolderLocationsStatic.TransientAppdata" /> with a shorter path, in case your usage hits the <see cref="F:JetBrains.Interop.WinApi.WinDef.MAX_PATH" /> limit.
            </summary>
        </member>
        <member name="F:JetBrains.Util.StandardFolderLocationsStatic.Constants.LocalAppdataCachesSubfolder">
            <summary>
            Subfolder under local-app-data for caches (specifically transient stuff).
            </summary>
        </member>
        <member name="F:JetBrains.Util.StandardFolderLocationsStatic.Constants.NonPerHostSubfolder">
            <summary>
            Replaces the host name when not per-host.
            </summary>
        </member>
        <member name="F:JetBrains.Util.StandardFolderLocationsStatic.Constants.NotPerVersionFolderInfix">
            <summary>
            Replaces the version number when not per-wave.
            Goes after <see cref="F:JetBrains.Util.StandardFolderLocationsStatic.Constants.VersionSubfolderPrefix" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.StandardFolderLocationsStatic.Constants.VersionSubfolderPrefix">
            <summary>
            Prefix for the version folder name.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.DistributedCacheEx.DoSingleStreamAsync(JetBrains.Build.Platform.DistributedCache.DistributedCache,JetBrains.Build.Platform.DistributedCache.IHasher,System.Func{System.Threading.Tasks.Task{JetBrains.Util.dataStructures.ImmutableByteStream}})">
            <inheritdoc cref="M:JetBrains.Build.Platform.DistributedCache.DistributedCache.DoAsync(System.String,System.Func{System.Threading.Tasks.Task{System.IO.Stream}})" />
        </member>
        <member name="T:JetBrains.Util.Storage.FileItemSet">
            <summary>
            A wrapper for serializing a set of file items. Does not retain order, always sorts them.
            </summary>
            <param name="files"></param>
        </member>
        <member name="M:JetBrains.Util.Storage.FileItemSet.#ctor(System.Collections.Immutable.ImmutableArray{JetBrains.Util.Storage.ImmutableFileItem})">
            <summary>
            A wrapper for serializing a set of file items. Does not retain order, always sorts them.
            </summary>
            <param name="files"></param>
        </member>
        <member name="M:JetBrains.Util.Storage.FileItemSet.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.FileItemSet.JetBrains#Util#Storage#StructuredStorage#IStructuredStorageSerializable#GetObjectData(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.IHasherEx.AppendManyBlittable``1(JetBrains.Build.Platform.DistributedCache.IHasher,System.ReadOnlySpan{``0})">
            <summary>
            Pumps a span into the hasher.
            Make sure your data has the same binary representation across relevant platforms.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.IHasherEx.AppendFileItem(JetBrains.Build.Platform.DistributedCache.IHasher,JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Appends a single item, passes the whole body for better diag.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.IHasherEx.AppendFileItemsSet(JetBrains.Build.Platform.DistributedCache.IHasher,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.ImmutableFileItem})">
            <summary>
            Appends items as a set, in a stable order.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.IHasherEx.AppendFileItemsSet(JetBrains.Build.Platform.DistributedCache.IHasher,System.Collections.Generic.IReadOnlyCollection{JetBrains.Util.Storage.ImmutableFileItem})">
            <summary>
            Appends items as a set, in a stable order (does not re-sort if already in stable order).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.IInMemoryStream.GetBufferFromPosition(System.Int64,System.IO.SeekOrigin,System.Int32,System.Int32@)">
            <summary>
            
            </summary>
            <param name="startPosition"></param>
            <param name="origin"></param>
            <param name="needBytes">Minimum byte count what we expect</param>
            <param name="availableBytes">Available bytes. It is more or equal then needBytes</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.IInMemoryStream.GetBufferEndAtPosition(System.Int64,System.IO.SeekOrigin,System.Int32,System.Int32@)">
            <summary>
            Return pointer to buffer
            Return value + <see cref="!:availableBytes"/> points at <see cref="!:endOffset"/>
            </summary>
            <param name="endOffset"></param>
            <param name="origin"></param>
            <param name="needBytes">Minimum byte count what we expect</param>
            <param name="availableBytes">Available bytes. It is more or equal then needBytes</param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Storage.ImmutableFileItem">
            <summary>
              <para>Represents a file item which takes part in the build or other similar operations. It has a name (possibly, with partial folder path), but is not bound to any specific location on disk; it has a body, which is an immutable stream of bytes.</para>
            </summary>
            <remarks>
              <para>Disconnecting file items from specific disk paths makes operations more reliable. Firstly, getting a file item means a correct dependency on its producer, while reading a disk path might be based on well-known paths or guesswork, and miss the actual dependency on the producer. Secondly, passing around file items allows running operations in parallel without aliasing over the same disk locations. All this might be achieved on disk paths as well, but has rather weak guarantees to always hold in large systems with long history.</para>
            </remarks>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.#ctor(JetBrains.Util.RelativePath,JetBrains.Util.dataStructures.ImmutableByteStream)">
            <summary>
            Identity ctor.
            </summary>
            <param name="relativePath">
              <para>The file name of this file item. Might also be placed in a subfolder.</para>
              <para>Must not be an up-going relative path.</para>
            </param>
            <param name="fileContent">The byte content of the file. Must be an immutable stream, will be frozen by the ctor.</param>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.#ctor(JetBrains.Util.RelativePath,JetBrains.Util.dataStructures.ChunkedMemoryStream)">
            <summary>
            Memory stream ctor.
            </summary>
            <param name="relativePath">
              <para>The file name of this file item. Might also be placed in a subfolder.</para>
              <para>Must not be an up-going relative path.</para>
            </param>
            <param name="fileContent">The byte content of the file. Must be an immutable stream, will be frozen by the ctor.</param>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.#ctor(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Clone ctor. Most useful for typed inheritors.
            </summary>
            <param name="sample"></param>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.#ctor(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage)">
            <summary>
            Deserialiation ctor.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.ImmutableFileItem.ContentHash">
            <summary>
            Lazily-computed file content hash, for quickly comparing file contents.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.ImmutableFileItem.FileContent">
            <summary>
              <para>The byte content of the file. This stream is frozen, initially positioned at the beginning, and does not share its current position with other callers.</para>
            </summary>
            <remarks>A shallow clone is created for each caller. This means that (a) callers don't affect each other's stream positions, (b) there is a slight memory penalty for creating a small wrapper object on each call, and (c) the full contents of the underlying buffers are not cloned but reused immutably.</remarks>
        </member>
        <member name="P:JetBrains.Util.Storage.ImmutableFileItem.RelativePath">
            <summary>
              <para>The file name of this file item. Might also be placed in a subfolder.</para>
              <para>Must not be an up-going relative path.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.ComputeHash(System.IO.Stream)">
            <summary>
            Exposes the function which is used for computing <see cref="P:JetBrains.Util.Storage.ImmutableFileItem.ContentHash" /> over the file content.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.CreateFromDisk(JetBrains.Util.FileSystemPath)">
            <summary>
              <para>Creates an in-memory file item from a physical disk file.</para>
              <para>When the read completes, the created file item has no connection with the disk file. The latter can be modified or deleted.</para>
            </summary>
            <param name="path">Path to the disk file to be read. Must exist as a file. Its local name will be used as the name of the file item.</param>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.CreateFromStream(JetBrains.Util.RelativePath,System.Action{System.IO.Stream})">
            <summary>
            Creates a new file by writing the content into a stream.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.ImmutableFileItem.NoFileOnDiskException">
            <summary>
            A typed exception for the case when <see cref="M:JetBrains.Util.Storage.ImmutableFileItem.CreateFromDisk(JetBrains.Util.FileSystemPath)" /> finds no file.
            NOTE that it's not 100% race-safe (yet). It targets the cases when the file is really not there.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.NoFileOnDiskException.#ctor(JetBrains.Util.FileSystemPath,System.Exception)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItem.NoFileOnDiskException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItemEx.RealizeOnDisk(JetBrains.Util.Storage.ImmutableFileItem,JetBrains.Lifetimes.Lifetime,JetBrains.Util.IWorkingDirectory)">
            <summary>
            Temporarily realizes the file item as a physical disk file.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItemEx.WithNoLifetime(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
              <para>Ideally, file items should be non-lifetimed and GC controlled. In reality, to optimize memory use, sometimes the immutable byte streams inside the file items might have limited lifetime. To make it worse, file items might derive these streams from some other storage different from the immediate originator of the file, and its lifetime might be even shorter. An example is when the creator of the file item artifact is deserializing from some interprocess transport stream, the stream might be short-lived.</para>
              <para>This method tries to ensure that the memory owned by this file item has no end of life. Returns a new instance only if a change were made.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItemEx.WithRelativePath(JetBrains.Util.Storage.ImmutableFileItem,JetBrains.Util.RelativePath)">
            <summary>
            Returns a clone which shares the content stream, but uses a different file path.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.ImmutableFileItemEx.WithRelativePath(JetBrains.Util.Storage.ImmutableFileItem,System.Func{JetBrains.Util.RelativePath,JetBrains.Util.RelativePath})">
            <summary>
            Returns a clone which shares the content stream, but uses a different file path.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.ImmutableFileItemEx.FileCheck.SkipContentHashCheck">
            <summary>
            Does not read the file content from disk to make sure its hash matches that of the in-memory copy.
            Not recommended for the real installation, but can be used to speed up in some simple cases like PWC pre-extraction.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.IHaveJetNugetPackage">
            <summary>
            For extracting a package from various artifact containers.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IHaveJetNugetPackageEx.GetFullNameWDot(JetBrains.Util.Storage.Packages.IHaveJetNugetPackage)">
            <summary>
            Gets the full name of the package, based on its <see cref="P:JetBrains.Util.Storage.Packages.IJetNugetPackage.Identity" />, including ID and Name.
            Dot-separated notation (classic nuget, non-roundtrip because dot separator is ambiguous; see <see cref="M:JetBrains.Util.Storage.Packages.IHaveJetNugetPackageEx.GetFullNameWSlash(JetBrains.Util.Storage.Packages.IHaveJetNugetPackage)" />).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IHaveJetNugetPackageEx.GetFullNameWSlash(JetBrains.Util.Storage.Packages.IHaveJetNugetPackage)">
            <summary>
            Gets the full name of the package, based on its <see cref="P:JetBrains.Util.Storage.Packages.IJetNugetPackage.Identity" />, including ID and Name.
            Slash-separated notation (modern nuget, roundtrips, can be parsed back because slash cannot be a part of id/name).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IHaveJetNugetPackageEx.GetNupkgFileName(JetBrains.Util.Storage.Packages.IHaveJetNugetPackage)">
            <summary>
            Gets the local name of the package file with the given ID and version.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IHaveJetNugetPackageEx.GetPackageIdentity(JetBrains.Util.Storage.Packages.IHaveJetNugetPackage)">
            <summary>
            Gets the identity of the package, which is the ID and Version. It's equatable and sortable.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IHaveJetNugetPackageEx.UnwrapPackages(System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.IHaveJetNugetPackage})">
            <summary>
            Extracts packages from a have-package collection.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.IJetNugetPackage">
            <summary>
            Common interface for entities which act as Nuget packages — either real nupkg package files, or the “nugettable” set of package parts plus metadata from which we might easily make a real .nupkg package file, but haven't done so yet.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.IJetNugetPackage.Identity">
            <summary>
            Package identity (name + version).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.IJetNugetPackage.Manifest">
            <summary>
            The manifest of the package.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.IJetNugetPackage.PackageParts">
            <summary>
              <para>Gets the package parts as file items. No filtering applied. Parts are sorted by their part paths as <seealso cref="P:JetBrains.Util.Storage.ImmutableFileItem.RelativePath" />s.</para>
              <para>For most practical needs, you'd need a filtered set with effective paths, for which look for <seealso cref="!:GetEntries" />.</para>
              <para>Notes on performance.</para>
              <para>In case of a nugettable, parts are stored as file items and this provides direct access.</para>
              <para>In case of a nupkg, these are lazy promises which would decompress file content on-demand, which is a costly operation for larger items.</para>
              <para>In case of a nupkg + scattered package on disk, larger items would be served from uncompressed disk copies, if available, which should be not as costly.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackage.FilterPackageParts(JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework)">
            <summary>
            Gets the parts of the Nuget package (this skips the nuspec, and of course skips technical OPC package ZIP entires which are not parts).
            </summary>
            <param name="flags">Flags to skip certain items, for speed.</param>
            <param name="targetfx">
              <para>Allows to limit the extracted content items by a specific Target Framework.</para>
              <para>Not filtering (not <see cref="P:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.IsFiltering" />): gets the union of all the content items for any frameworks; might yield items with the same <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.EffectivePathJet" /> (but different <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.PartPath" /> of course). This is the legacy behavior.</para>
              <para>Filtering (<see cref="P:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.IsFiltering" />):</para>
              <para>• Illegal if not <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" />.</para>
              <para>• Returns content items for this specific framework only.</para>
              <para>• If limiting for the specific framework yields an empty list, falls back to the original behavior as if this were <c>NULL</c>. This is a compatibility fix to make sure that we're still able to support projects targeting the non-solution-standard fx version and their custom nuget references.</para>
              <para>The commonly-used value would be <see cref="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.ToolsetDefault" />.</para>
            </param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackage.GetNugetPackageFile">
            <summary>
            Gets the .nupkg package file.
            This might be a costly operation in case we only have the nugettable sources and will have to ZIP an OPC package together.
            DO NOT use for anything which does not require the actual file bytes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.CalcDigestOnParts(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
            Uses uncompressed entry bodies in a stable order to calc digest which does not depend on the nuget representation, compressed or scattered or disk or whatever.
            This is most useful for local nugets which are not unique per identity.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetContentEntriesInDefaultTfx(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
              <para>See description of <see cref="!:IJetNugetPackage.GetEntries" />.</para>
              <para>A thin wrapper which applies filtering to content items in default target framework.</para>
              <para>“Content items” means we only take those items for which <see cref="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)" /> is defined, i.e. those recognized as content items by our system. That's <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" /> flag.</para>
              <para>The default target framework is taken from <see cref="F:JetBrains.Util.ToolsetInfo.CurrentDefaultTargetFx" /> (<see cref="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.ToolsetDefault" /> filter parameter).</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetContentItemsInDefaultTfx(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
              <para>See description of <see cref="M:JetBrains.Util.Storage.Packages.IJetNugetPackage.FilterPackageParts(JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework)" />.</para>
              <para>A thin wrapper which applies filtering to content items in default target framework.</para>
              <para>“Content items” means we only take those items for which <see cref="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)" /> is defined, i.e. those recognized as content items by our system. That's <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" /> flag.</para>
              <para>The default target framework is taken from <see cref="F:JetBrains.Util.ToolsetInfo.CurrentDefaultTargetFx" /> (<see cref="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.ToolsetDefault" /> filter parameter).</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetEntries(JetBrains.Util.Storage.Packages.IJetNugetPackage,System.Nullable{JetBrains.Lifetimes.Lifetime},JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework)">
            <summary>
            Gets the entries of the Nuget package (this only includes files of the package, not the nuspec or any service OPC parts).
            </summary>
            <param name="lifetime">Might limit the lifetime of the entry bodies, if you know when you'd be needing them. The implementation is ready to take a NULL here and make them ever-available.</param>
            <param name="flags">Flags to skip certain items, for speed.</param>
            <param name="targetfx">
              <para>Allows to limit the extracted content items by a specific Target Framework.</para>
              <para>Not filtering (not <see cref="P:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.IsFiltering" />): gets the union of all the content items for any frameworks; might yield items with the same <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.EffectivePathJet" /> (but different <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.PartPath" /> of course). This is the legacy behavior.</para>
              <para>Filtering (<see cref="P:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.IsFiltering" />):</para>
              <para>• Illegal if not <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" />.</para>
              <para>• Returns content items for this specific framework only.</para>
              <para>• If limiting for the specific framework yields an empty list, falls back to the original behavior as if this were <c>NULL</c>. This is a compatibility fix to make sure that we're still able to support projects targeting the non-solution-standard fx version and their custom nuget references.</para>
              <para>The commonly-used value would be <see cref="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.ToolsetDefault" />.</para>
            </param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetEntriesUnfiltered(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
            See description of <see cref="!:IJetNugetPackage.GetEntries" />.
            A thin wrapper which just passes no flags and <see cref="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.DontFilter" /> for the target framework, hence no filtering, all possible entries in the package which are not service parts.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetFileItemOfEitherFormat(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
            Might get Nupkg or our Nugettable. For the case when we do not care.
            </summary>
            <param name="nupkg"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetNupkgFileItem(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <inheritdoc cref="M:JetBrains.Util.Storage.Packages.IJetNugetPackage.GetNugetPackageFile" />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetSomethingToCheckPackagesEqual(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
            When you want to compare packages by their real content, gives some entity which would do a deep check on bodies regardless of the format.
            TODO: make sure works for nugettable vs. nupkg
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.WithEntries``1(JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework,System.Func{System.Collections.Immutable.ImmutableArray{JetBrains.Util.Storage.Packages.JetNugetEntry},``0})">
            <summary>
            Retrieves the Nuget entries with their bodies available for the duration of the user callback.
            On filtering parameters, see <see cref="!:IJetNugetPackage.GetEntries" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.WithEntriesUnfiltered``1(JetBrains.Util.Storage.Packages.IJetNugetPackage,System.Func{System.Collections.Immutable.ImmutableArray{JetBrains.Util.Storage.Packages.JetNugetEntry},``0})">
            <summary>
            See description of <see cref="!:IJetNugetPackage.GetEntries" />.
            A thin wrapper over <see cref="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.WithEntries``1(JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework,System.Func{System.Collections.Immutable.ImmutableArray{JetBrains.Util.Storage.Packages.JetNugetEntry},``0})" /> which just passes no flags and <see cref="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.DontFilter" /> for the target framework, hence no filtering, all possible entries in the package which are not service parts.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.IJetNugetPackageManager">
            <summary>
            Wraps a Nuget Package Manager together with its settings (like what the package source is and where the default local Packages directory should be).
            Has extension methods with our implementations for reliable package retrieval and extraction.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.IJetNugetPackageManager.NugetConfigFile">
            <summary>
            Nuget settings on which this repo is running, unless operating in the fallback-to-default mode.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.IJetNugetPackageManager.GetPackageAsync(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.JetPackageIdentity,JetBrains.Util.OnError,JetBrains.DataFlow.IProperty{JetBrains.Util.Storage.Packages.GetPackageStatus})">
            <summary>
            The package repository for retrieving packages from the Nuget uplink. Uses own caching on disk.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.JetNugetEntry.CompressedLength">
            <summary>
            Gets the compressed length of the entry, if available.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.JetNugetEntry.IsNull">
            <summary>
            Allows to tell uninitialized structs, e.g. with TryGet methods.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetEntry.Paths">
            <summary>
            Can tell the effective path (logical path with content folder name removed).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.JetNugetEntry.UncompressedLength">
            <summary>
            Gets the uncompressed length of the entry without actually inflating the bytes.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetEntry.CreateEffectivePathFileItem">
            <summary>
            Inflates the part into an uncompressed copy in the memory.
            Uses the <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.EffectivePathJet" /> path.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetEntry.CreatePartPathFileItem">
            <summary>
            Inflates the part into an uncompressed copy in the memory.
            Uses the full part path of the file, <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.PartPath" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetEntry.OpenSequentialStream(JetBrains.Lifetimes.Lifetime)">
            <summary>
            Inflates the part on-demand. Prefer this method if you only need to peek into the head of the stream, or you want to read it streaming-way without leaving bytes in memory.
            Guarantees the stream has random-access capabilities, but this comes at a cost of doubled memory use. Call <see cref="M:JetBrains.Util.Storage.Packages.JetNugetEntry.ReadSequentialStream``1(System.Func{System.IO.Stream,``0})" /> unless you need random access.
            </summary>
            <returns>The stream. Might want to dispose of, but this is not necessary.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetEntry.ReadRandomAccessStream``1(System.Func{System.IO.Stream,``0})">
            <summary>
            Inflates the part on-demand. Prefer this method if you only need to peek into the head of the stream.
            Guarantees the stream has random-access capabilities, but this comes at a cost of doubled memory use. Call <see cref="M:JetBrains.Util.Storage.Packages.JetNugetEntry.ReadSequentialStream``1(System.Func{System.IO.Stream,``0})" /> unless you need random access.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetEntry.ReadSequentialStream``1(System.Func{System.IO.Stream,``0})">
            <summary>
            Inflates the part on-demand. Prefer this method if you only need to peek into the head of the stream, or you want to read it streaming-way without leaving bytes in memory.
            The stream might be returned as sequential-only, depending on the ZIP options used.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.JetNugetFilterFlags">
            <summary>
            Filtering magic for <see cref="!:IJetNugetPackage.GetEntries" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly">
            <summary>
            Only take those items for which <see cref="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)" /> is defined, i.e. those recognized as content items by our system.
            The empty folder marker file, <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.PackageEmptyFileName" />, affects filtering and folder preference, but is skipped from being returned in the list.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.DoNotSkipEmptyFolderFileMarker">
            <summary>
              <para>Do not skip <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.PackageEmptyFileName">empty folder maker</see>.</para>
              <para>We now do not skip these files by default and return them, otherwise the folders disappear and this affects TFX preference. The content-items extraction (<see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" />) skips them on content filtering phase; in raw modes, you should do this yourself.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.ContentPreferReferencesFolder">
            <summary>
            Modifier for <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" /> mode.
            Historically, we've been taking the <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetLibFolder" /> (<c>lib</c>) folder from non-ours packages.
            With newer nugets and multiple supported target frameworks, it is sometimes needed to take the specifically tailored references from the <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetRefFolder" /> (<c>ref</c>) folder.
            Still falls back to lib folder if no refs.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.ContentPreferRuntimesFolder">
            <summary>
            Modifier for <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" /> mode.
            Historically, we've been taking the <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetLibFolder" /> (<c>lib</c>) folder from non-ours packages.
            With newer nugets and multiple supported target frameworks, it is sometimes needed to take the specifically tailored assemblies from the <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetRuntimesFolder" /> (<c>runtime</c>) folder when running on a specific target system.
            Still falls back to lib folder if no refs.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.ContentIncludeRuntimesFolder">
            <summary>
            Modifier for <see cref="F:JetBrains.Util.Storage.Packages.JetNugetFilterFlags.JetContentItemsOnly" /> mode.
            Historically, we've been taking the <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetLibFolder" /> (<c>lib</c>) folder from non-ours packages.
            With newer nugets and multiple supported target frameworks, it is sometimes needed to take the specifically tailored assemblies from the <see cref="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetRuntimesFolder" /> (<c>runtime</c>) folder when running on a specific target system, but they should be used together with regular libs, so this reads from both content and runtime folders.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetPackages.FromFileItemOfEitherFormat(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Takes a file representation of a nuget package and makes an <see cref="T:JetBrains.Util.Storage.Packages.IJetNugetPackage" /> interface to it.
            This might be either a <c>.nupkg</c> file, or an uncompressed file of a nugettable set, or else.
            Can read output of <see cref="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetFileItemOfEitherFormat(JetBrains.Util.Storage.Packages.IJetNugetPackage)" />, though saving it again might possibly change format.
            Getting the <see cref="M:JetBrains.Util.Storage.Packages.IJetNugetPackageEx.GetNupkgFileItem(JetBrains.Util.Storage.Packages.IJetNugetPackage)" /> might not be cheap if it were not a <c>.nupkg</c> file already.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetPackages.FromNupkgFileItem(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Takes a <c>.nupkg</c> file and wraps as an <see cref="T:JetBrains.Util.Storage.Packages.IJetNugetPackage" /> package.
            For this sort of package, getting the nupkg file back is a cheap operation. However, accessing file contents means doing decompression and mem allocation.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetPackages.FromPackageBuilder(NuGet.Packaging.PackageBuilder)">
            <summary>
            Takes a <c>.nupkg</c> file and wraps as an <see cref="T:JetBrains.Util.Storage.Packages.IJetNugetPackage" /> package.
            For this sort of package, getting the nupkg file back is a cheap operation. However, accessing file contents means doing decompression and mem allocation.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.JetNuGetSettingsV2">
            <summary>
            NuGet Settings with expanding environment variables in values
            Implemented in NuGet 3.4 <see href="https://github.com/NuGet/NuGet.Client/pull/171"/>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.JetNuGetSettingsV2.IsMachineWideSettings">
            <summary>
            Flag indicating whether this file is a machine wide settings file. A machine wide settings
            file will not be modified.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNuGetSettingsV2.LoadDefaultSettings(NuGet.IFileSystem,System.String)">
            <summary>
            Loads user settings from the NuGet configuration files. The method walks the directory
            tree in <paramref name="fileSystem"/> up to its root, and reads each NuGet.config file
            it finds in the directories. It then reads the user specific settings,
            which is file <paramref name="configFileName"/>
            in <paramref name="fileSystem"/> if <paramref name="configFileName"/> is not null,
            If <paramref name="configFileName"/> is null, the user specific settings file is
            %AppData%\NuGet\NuGet.config.
            After that, the machine wide settings files are added.
            </summary>
            <remarks>
            For example, if <paramref name="fileSystem"/> is c:\dir1\dir2, <paramref name="configFileName"/>
            is "userConfig.file", the files loaded are (in the order that they are loaded):
                c:\dir1\dir2\nuget.config
                c:\dir1\nuget.config
                c:\nuget.config
                c:\dir1\dir2\userConfig.file
                machine wide settings (e.g. c:\programdata\NuGet\Config\*.config)
            </remarks>
            <param name="fileSystem">The file system to walk to find configuration files.</param>
            <param name="configFileName">The user specified configuration file.</param>
            <returns>The settings object loaded.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNuGetSettingsV2.LoadDefaultSettings(JetBrains.Util.FileSystemPath,System.String)">
            <summary>
            Loads user settings from the NuGet configuration files. The method walks the directory
            tree in <paramref name="rootDir"/> up to its root, and reads each NuGet.config file
            it finds in the directories. It then reads the user specific settings,
            which is file <paramref name="configFileName"/>
            in <paramref name="rootDir"/> if <paramref name="configFileName"/> is not null,
            If <paramref name="configFileName"/> is null, the user specific settings file is
            %AppData%\NuGet\NuGet.config.
            After that, the machine wide settings files are added.
            </summary>
            <remarks>
            For example, if <paramref name="rootDir"/> is c:\dir1\dir2, <paramref name="configFileName"/>
            is "userConfig.file", the files loaded are (in the order that they are loaded):
                c:\dir1\dir2\nuget.config
                c:\dir1\nuget.config
                c:\nuget.config
                c:\dir1\dir2\userConfig.file
                machine wide settings (e.g. c:\programdata\NuGet\Config\*.config)
            </remarks>
            <param name="rootDir">The root directory.</param>
            <param name="configFileName">The user specified configuration file.</param>
            <returns>The settings object loaded.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNuGetSettingsV2.GetSettingsFileNames(NuGet.IFileSystem)">
            <remarks>
            Order is most significant (e.g. applied last) to least significant (applied first)
            ex:
            c:\foo\nuget.config
            c:\nuget.config
            </remarks>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNuGetSettingsV2.ExecuteSynchronized(System.Action)">
            <summary>
            Wrap all IO operations on setting files with this function to avoid file-in-use errors
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.JetNugetTargetFramework">
            <summary>
            Specifies filtering by target framework when fast-extracting the nuget packages.
            The NULL value means the toolset-default targetfx should be used.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.DontFilter">
            <summary>
            Gets the union of all the content items for any frameworks; might yield items with the same <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.EffectivePathJet" /> (but different <see cref="P:JetBrains.Util.Storage.Packages.NugetPartPaths.PartPath" /> of course). This is the legacy behavior.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.ToolsetDefault">
            <summary>
            Filters by the netfx of <see cref="F:JetBrains.Util.ToolsetInfo.CurrentDefaultTargetFx" />, which is the default target netfx version for the managed projects in the solution.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.#ctor(System.Boolean,NuGet.Frameworks.NuGetFramework)">
            <summary>
            This weird combination is required so that the NULL value of the structure were the preferred omitted-default value (use current toolset).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.CurrentNetCore">
            <summary>
            Filters by the netfx of the .NET Core runtime version we're currently targeting in our codebase.
            This is a minimum supported version, not a current .net core runtime version. 
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetNugetTargetFramework.ToString">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.JetPackageIdentity">
            <summary>
            Most like the <see cref="T:NuGet.PackageName" /> class, but with correct equality members implementation.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetPackageIdentity.ToDotString">
            <summary>
              <para>Dot-separated presentation of the name.</para>
              <para>&lt;<c>PackageId</c>&gt;<c>.</c>&lt;<c>Version</c>&gt;</para>
              <para>Classic nuget.</para>
              <para>Might not roundtrip because parsing of this form is ambiguous if package name ends in numbers.</para>
              <para>This is the default.</para>
            </summary>
            <example>Some.Package.Name.1.2.3.4</example>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetPackageIdentity.ToSlashString">
            <summary>
              <para>Slash-separated presentation of the name.</para>
              <para>&lt;<c>PackageId</c>&gt;<c>/</c>&lt;<c>Version</c>&gt;</para>
              <para>Newer nuget.</para>
              <para>Does roundtrip.</para>
            </summary>
            <example>Some.Package.Name/1.2.3.4</example>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetPackageIdentity.ToString">
            <inheritdoc cref="M:JetBrains.Util.Storage.Packages.JetPackageIdentity.ToDotString"/>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalPackagesMeta.OpenInFolder(JetBrains.Lifetimes.Lifetime,JetBrains.Util.FileSystemPath)">
            <summary>
            Opens the meta stored in the folder (usually, the solution's Packages folder) for the duration of the lifetime.
            Deserializes when opening, serializes upon termination of the lifetime, holds the lock to the file the whole duration.
            </summary>
            <param name="lifetime">When to serialize back and close file.</param>
            <param name="dirPackages">Usually, the solution Packages folder.</param>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.TimeoutOnNugetMetaLock">
            <summary>
            The timeout to wait for a lock when trying to open metadata on a nuget entry in the Central Cache or a Local Restore folder.
            This might mean that another thread/process is also performing an operation on the same package location.
            The supposedly most lengthy operation is package download, which also locks the folder (why not? you cannot local restore a package before you download it. and you do not want to run simultaneous downloads). We got large packages and possibly slow connections. Do not limit the process.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.ExpandedFilesTimestamp">
            <summary>
            Validates the files expanded from out of the package. Their size is checked against the package contents, and their stamp must all match this one.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.PackageFileSize">
            <summary>
            Validates the copy of .nupkg stored in the expanded folder.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.PackageFileTimestamp">
            <summary>
            Validates the copy of .nupkg stored in the expanded folder.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.PackageVersionString">
            <summary>
            String representation of the package semantic version, to defer costly parsing — this speeds up mass-serialization considerably.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.OpenAndLockSinglePackageMetadataAsync(JetBrains.Lifetimes.Lifetime,JetBrains.Util.FileSystemPath,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger,System.Nullable{System.TimeSpan})">
            <summary>
            Opens the package local expansion metadata for a single package, and locks access to it by holding an exclusive lock on the file for the duration of the lifetime.
            The metadata is in the <see cref="T:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord" /> format and describes the single package to which this directory <see cref="!:dirExpanded" /> (either as a local-expand location, or just a caching place for its nupkg). The metadata helps control its integrity.
            If the metadata does not exist, an empty one gets created. When the lifetime ends, the new value is written to the metadata file.
            Locking access means that the file is opened exclusively (with awaiting for it to become available), and is held locked for the <paramref name="lifetime" />, thus protecting the <see cref="!:dirExpanded" /> from unexpected modification by another party. Multiple concurrent tasks or processes can safely request caching/expanding a package this way.
            The metadata is stored in directory attributes in the stream named <see cref="F:JetBrains.Util.Storage.Packages.LocalPackagesMeta.SinglePackageMetadataFileName" /> on supporting file systems, or in a file under the same name concatenated to the directory name otherwise (so it's outside the dir itself). Beware opening on a symlink: on NTFS, the attributes would go on the symlink target, but otherwise it would be on the symlink source.
            The returned box would be NULL if record missing/invalid, or the valid record. Upon lifetime termination, the box contents would be written if reference changed from the previous one.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.TryReadFromDirectoryAttributes(JetBrains.Util.FileSystemPath)">
            <summary>
            Reads the package local expansion metadata which can validate that it has not been tampered with, written right into the package expansion directory extended attributes (more specifically, an alternate data stream named <see cref="F:JetBrains.Util.Storage.Packages.LocalPackagesMeta.SinglePackageMetadataFileName" />). This is used in case we're linking package folders from the common storage, so the per-Packages-folder local metadata file is not sufficient because it does not know about packages written to the central storage by other parties.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.TryWriteToDirectoryAttributes(JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord)">
            <summary>
            See <see cref="M:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord.TryReadFromDirectoryAttributes(JetBrains.Util.FileSystemPath)" />.
            “Try” because the filesystem might not support this (but in that case linking the packages folders to the central storage won't be supported either).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalPackagesMeta.PkgIdString">
            <summary>
            Operates on strings, without parsing the semver. Profitable for mass-serialization.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalRestoredPackage">
            <summary>
            Package's been expanded — now it has a folder on disk.
            Plus some stats.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoredPackage.ExpandedFileCount">
            <summary>
            Gets the number of files in the expanded package. This includes the copy of the package file itself.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoredPackage.ExpandedSize">
            <summary>
            Gets the number of bytes the package took after expanding. Note that this includes the package file itself, so that's at least double the package size if the parts were not compressed in the package, but usually even more.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoredPackage.IsExpandedAnew">
            <summary>
            Gets whether the package files had to be written (or rewritten).
            If all the files are already there and OK (same set, same size, same stamps) then this would be <c>False</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoredPackage.Equals(JetBrains.Util.Storage.Packages.LocalRestoredPackage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoredPackage.Equals(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoredPackage.GetHashCode">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoredPackage.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoredPackage.System#IComparable{JetBrains#Util#Storage#Packages#LocalRestoredPackage}#CompareTo(JetBrains.Util.Storage.Packages.LocalRestoredPackage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoredPackage.System#IComparable#CompareTo(System.Object)">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.LocalRestoredPackage.JetBrains#Util#Storage#Packages#IHaveJetNugetPackage#Package">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache">
            <summary>
              <para>Represents a central NTSF folder into which all packages are actually expanded upon local-restore and then linked into individual Packages folders with directory junctions as needed.</para>
              <para>The actual folder path might be <c>NULL</c>, which means that the central folder is not available (e.g. due to the lack of filesystem support for junctions), and local package folders must be used normally in such a case.</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.EnvironmentVariableNameForForceNuGetDownload">
            <summary>
            Name of the environment variable which suppresses NuGet local cache usage for download issues investigation.
            Should parse as a boolean value.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.ExpirationAgeLimit">
            <summary>
            Time after a folder in the central cache or backlog (with either just the package or its local restoration) is last accessed for package download or local restore, before it's deleted.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.CleanupExpiredFolders(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.FileSystemPath,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger)">
            <summary>
            Does not let the nuget cache folder grow infinitely.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.Create(JetBrains.Util.FileSystemPath)">
            <summary>
            Creates the custom directory (does not check OS features, use <see cref="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.CreateIfSoftLinksSupported(JetBrains.Util.FileSystemPath)" /> if not sure, use <see cref="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.CreateInLocalAppDataIfSoftLinksSupported" /> for machine-default location).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.CreateIfSoftLinksSupported(JetBrains.Util.FileSystemPath)">
            <summary>
            If the volume supports junctions.
            Always returns a non-NULL instance, but it might have a NULL path.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache.CreateInLocalAppDataIfSoftLinksSupported">
            <summary>
            Creates at the default machine location, if OS and file system support the necessary features.
            </summary>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession">
            <summary>
              <para>Restores a specific set of Nuget package into the packages directory, mostly the same way as Nuget will do.</para>
              <para>As opposed to the standard Nuget procedure:</para>
              <para>• Ensures the folder contains no more packages than the retrieved list, to prevent projects from using non-whitelisted pkgs by accident. Operates on the Backlog folder to quickly retrieve such packages whenif we switch context.</para>
              <para>• Ensures the expanded content still matches the original packages (the file set and their content, by timestamp of the last time we wrote them).</para>
              <para>• Fixes exceptions in Nuget which probably resulted from some race (NP-1199).</para>
              <para>• Operates on the already-retrieved package body, as an artifact object.</para>
              <para>• Uses a slightly optimized procedure for accessing the artifact body (not so important).</para>
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.EnvironmentVariableNameForNoNugetValidation">
            <summary>
            Name of the env var which suppresses validation of the expanded nuget packages.
            This could be used for debug purposes when you modify an already-expanded package and run experiments with the new content. In the normal course of action, local restore would repair corruption with the original contents.
            Should parse as a boolean value.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.OptionNugetExpandedFilesCompressionRatioThreshold">
            <summary>
            Whether to set the NTFS Compressed attribute on folders with expanded nugets, so that they occupied less disk space (e.g. for Platform SDK and VC Build Tool nugets).
            Set to <c>0</c> to compress no packages, or <c>1</c> to compress every package.
            A valid value in between specifies the compression ratio (compressed div uncompressed) of the original nuget under which compression should be applied to expanded disk files, ie do not compress if files are noncompressable.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PackagesBacklogFolder">
            <summary>
            Gets relative path from the <see cref="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PackagesDir" /> to the to the folder in which expanded packages not currently referenced are hidden from accidental use in project references for potential reuse when we switch a branch and need them again.
            The name of the folder does not match the regex on Package ID (<c>\w</c>), so it shan't interfere with normal packages.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.myCentralCacheDirectory">
            <summary>
            Directory to the <see cref="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache" />, if were supplied and we decided to put it to use.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.myFolderLocalNames">
            <summary>
            Tracks the folders in Packages directory which we have used — we will hide unuseds.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.mySubstantialDiskWriteSemaphore">
            <summary>
            Limits concurrent substantial write operations (eg metadata ops are not limited here, supposing we're on SSD).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.#ctor(JetBrains.Lifetimes.Lifetime,JetBrains.Util.FileSystemPath,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesCentralCache)">
            <summary>
            Opens the session. You can declare more packages as used while the session is open.
            The intended use is to close the session as soon as you are done with the restore, and then proceed using the packages — it's a restore-time session, not working-time session.
            Upon close, session will clean up packages you have not touched.
            </summary>
            <param name="lifetime"></param>
            <param name="dirPackages">The <c>Packages</c> dir. Note that it's not the product home dir but usually the <c>Packages</c> folder under it.</param>
            <param name="tasker">The async strategy.</param>
            <param name="centralcache">Optional central cache. If gives a non-NULL dir, and packages folder supports junctions, will use directory junctions to the central cache instead of the local backlog dir.</param>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.IsEnvironmentVariableForNoNugetValidation">
            <summary>0 lazy delayed, 1 yes, -1 no</summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.UnusedPackages">
            <summary>
            By default, <see cref="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogUnusedPackages" /> is called automatically when session is closed, so that the folder only had those packages mentioned in the session.
            By changing this value you can prevent this cleanup. The untouched packages are not removed, but are not validated either.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogDirectoryCleanupAsync">
            <summary>
            Cleans up old unused packages in the backlog folder. Do not terminated the session lifetime while running.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogUnusedPackages">
            <summary>
            This is done automatically when session is closed, but you can call it at any time as well. Adding more packages won't break things.
            All packages which were not mentioned in this session are hidden from the packages directory, to make sure they're not accidentally referenced without also adding a reference to the package.
            To clean up the backlog folder of the very old packages, call <seealso cref="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogDirectoryCleanupAsync" /> (called by session async helpers automatically).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.LocalRestoreAsync(JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.OnError,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PerPackageCustomization)">
            <summary>
            As the first stage of the local restore, tries to see if there's a potential location with already expanded package files.
            Fast track: executes always.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.ChooseExpandDirectoryCompression(JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.FileSystemPath,JetBrains.Util.ILogger)">
            <summary>
            For packages with effectively compressable content, might be worth setting the compressed attr on directory.
            Called when new expansion has been done for the package. Thus assume we've taken the lock for lengthy FS writes, and have gone to another thread.
            The directory should be the real dir (not the soft link source).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.EnsureValidExpandedAsync(JetBrains.Lifetimes.Lifetime,JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.FileSystemPath,JetBrains.Util.dataStructures.Boxed{JetBrains.Util.Storage.Packages.LocalPackagesMeta.PackageRecord},System.Boolean,JetBrains.Util.FileSystemPath,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.Threading.Tasks.TaskSemaphore,JetBrains.Util.OnError,JetBrains.Util.ILogger)">
            <summary>
            Validates that the Central Cache has a correct expand directory for this package, with all the files intact.
            NOTE: Central Cache directories might have either just the nupkg file (if it were only downloaded), or the full expanded package. Here we only need the latter.
            </summary>
            <param name="lifeSinglePackageExpand">Lifetime for this single package expansion act (not the session nor anything larger).</param>
            <param name="nupkg">The package.</param>
            <param name="dirExpand">The real expand dir, either the local one, or the central cache one in case of the central cache.</param>
            <param name="metabox">Expansion metadata for validation (obtained from the correct place, ie either local or ccache).</param>
            <param name="isWritable">When validation fails, try to fix it by writing/deleting files.</param>
            <param name="dirExpandedBacklog">Backlog folder, can use it to supply the missing files.</param>
            <param name="taskHost"></param>
            <param name="substantialDiskWriteSemaphore"></param>
            <param name="onerror">Reports encountered errors here.</param>
            <param name="logger"></param>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.EnumUnusedPackageLikeFolders(System.UInt32@,System.UInt32@,System.Action{JetBrains.Util.FileSystemPath})">
            <summary>
            Enum which gives out folders with unused packages, to be backlogged or cleaned up.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.IsNoNugetValidation(JetBrains.Util.ILogger)">
            <summary>
            Gets if we've gotten ourselves a flag to suppress all nuget validation
            </summary>
            <param name="logger"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.MoveUnusedPackageDirsToBacklog">
            <summary>
            Backlogs unused packages, so that there were no accidental references into them from around the solution.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.RegisterExpandedPackage(JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.ValidatedAndExpanded)">
            <summary>
            Creates a <see cref="T:JetBrains.Util.Storage.Packages.LocalRestoredPackage" /> to return and caches it. Proper caching is why this method exists at all.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.TryFindAlreadyRestoredByFolderName(JetBrains.Util.Storage.Packages.IJetNugetPackage,System.String,JetBrains.Util.Storage.Packages.LocalRestoredPackage@)">
            <summary>
            Looks up the folder name in <see cref="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.myFolderLocalNames" />, asserts that we restored the same package ID into it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.TryGetMetadataRecordForPackage(JetBrains.Util.Storage.Packages.JetPackageIdentity,JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalPackagesMeta)">
            <summary>
            Gets the record with metadata on package expansion, which allows to validate the actual package files on disk against what must be there in a valid expanded package.
            Metadata is looked up in two places: (1) on the expansion directory itself — this supports the case when packages are expanded into the central storage and then linked with junctions to actual package folders; (2) in the local-meta file in the Packages folder, which supports the case without junctions.
            </summary>
            <param name="pkgid">ID of the package to look for.</param>
            <param name="dirExpanded">The directory into which the package is expanded, if applicable. Looks for metadata on the directory itself, which is the case with the junctions way. This is the preferred location.</param>
            <param name="meta">The local-meta file from Packages, if available. Checked after the on-dir storage. Supposedly, they're the same.</param>
            <returns></returns>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior">
            <seealso cref="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.UnusedPackages" />
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior.BacklogUnusedPackagesOnClosingSession">
            <summary>
            When the session closes, all of the packages which are in the session's Packages dir and were not mentioned within the session are considered unused in the current layout and are moved to the Backlog location, so that they were not accidentally referenced in solution files.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior.LeaveUnusedPackages">
            <summary>
            When the session closes, all of the packages which are in the session's Packages dir and were not mentioned within the session are considered unused in the current layout, but are left AS IS. This is applicable when the same folder is reused by multiple unrelated sessions, and each session does not cover the whole set (like with test data).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.CachedPackageFile">
            <summary>
            Returned when looking up a package in the central cache.
            Holds the lock while the lifetime is open.
            Allows to set a new entry to the cache.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.CachedPackageFile.NugetPackage">
            <summary>
            Gets the Nuget package, either the originally retrieved from cache, or after assigning the new value.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.CachedPackageFile.SetPackage(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
            Assigns a new package. Would be written to the cache when the lifetime cache ends.
            </summary>
            <param name="nupkgManuallyAssigned"></param>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PerPackageCustomization">
            <summary>
            Mainly exists as a separate struct to hide these params from the API and make them less likely to be used.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PerPackageCustomization.CustomLocalNameForFolder">
            <summary>
              <para>Custom local name for the subfolder for this package under the packages dir. Caller must make sure names do not clash, this will be asserted within the session.</para>
              <para>Allowed values:</para>
              <para>• <c>NULL</c> — means no customization, use canonical name based on package identity, dot-separated.</para>
              <para>• <c>""</c> — same as <c>NULL</c>.</para>
              <para>• A one-component path — use this for the folder name.</para>
              <para>• A path with more than one component, or an up-going path — an error.</para>
              <para>Currently must be a one-component name. Must comply with the charset valid for package names.</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.NugetHelpers">
            <summary>
            Nuget package helpers which might be specific to build-related types, but are not specific to build semantic.
            </summary>
            <remarks>
              <para><c>NugetApplicationPackageConvention</c> — Nuget package layouts, locations, constants, etc for application shell aware needs.</para>
              <para><see cref="T:JetBrains.Util.Storage.Packages.NugetHelpers" /> — very generic Nuget helpers in the <c>Util</c>, not aware of Build nor Application Shell packages layout.</para>
              <para><c>NugetHelpersBuild</c> — Nuget services for supporting the Build infrasturcture and build operations not aware of the Application Shell packages.</para>
              <para><c>NugetHelpersShell</c> — Nuget services for working with the Application Shell packages.</para>
              <para><c>NugetApplicationPackageTasks</c> — Application Shell packages logic.</para>
            </remarks>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetHelpers.NugetBulkOperationWithProgressSemaphore">
            <summary>
            We do not want to run an unbounded number of bulk nuget operations in parallel, they would use up the same HTTP (for download) or disk (for mass reads). Also, progress messages would mix up.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetHelpers.OptionTakeBulkOperationSemaphoreForRetrieval">
            <summary>
            Controls whether <see cref="F:JetBrains.Util.Storage.Packages.NugetHelpers.NugetBulkOperationWithProgressSemaphore" /> applies to package retrieval too (or only to local-restore).
            The latter is disk-intensive, while there's no big reason not to parallel retrievals.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetHelpers.ProgramDatabasePackageIdAppendix">
            <summary>
            Add to the package ID of the main package to get the ID of the Nuget package with the program database for that subplatform, separated with a dot.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetHelpers.StaticLogger">
            <summary>
            Don't use except for in legacy build-only methods.
            All new (async/parallel) usages should correctly write into the logger of the caller.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.CreateSourceRepository(JetBrains.Util.Storage.Packages.NuGetSettingWrapper)">
            <summary>
            Creates the source repo, with per-machine caching enabled.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.CreateSourceRepositoryNoMachineCache(JetBrains.Util.Storage.Packages.NuGetSettingWrapper)">
            <summary>
            Creates the source repo, with per-machine caching skipped.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.ExactIdentityForVersionRange(System.String,NuGet.Versioning.VersionRange,JetBrains.Util.JetSemanticVersion,JetBrains.Util.OnError)">
            <summary>
            Ensures that this reference represents the exact package identity (rather than a version range), and returns that identity.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FilterDependencyGroup(System.Collections.Generic.IEnumerable{NuGet.Packaging.PackageDependencyGroup})">
            <summary>
            Restores the Nuget logic for filtering dependency sets by the target framework.
            Calling Nuget native API has a drawback of throwing exceptions when it finds surprising records in the Registry of the local machine, and also makes excessive allocations.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackage``1(System.Collections.Generic.IEnumerable{``0},System.String)">
            <summary>
            Gets the package by ID. A missing package is an error.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackageAndItsReferences``1(System.Collections.Generic.IEnumerable{``0},System.String,JetBrains.Util.OnError)">
            <summary>
            Gets the package by ID, plus all its references, transitively. A missing reference is an error.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackages``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets the packages by ID. A missing package is an error.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackagesAndTheirReferences``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{System.String},JetBrains.Util.OnError)">
            <summary>
            Gets the packages by ID, plus all their references, transitively. A missing reference is an error.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackagesCore``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Predicate{System.String},JetBrains.Util.OnError,System.Func{JetBrains.Util.Storage.Packages.IHaveJetNugetPackage,System.Collections.Generic.IEnumerable{NuGet.Packaging.Core.PackageDependency},System.Collections.Generic.IEnumerable{NuGet.Packaging.Core.PackageDependency}})">
            <summary>
            Gets the package by ID, plus all its references, transitively. A missing reference is an error.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackagesWithNativeImages``1(System.Collections.Generic.IReadOnlyCollection{``0},System.Collections.Generic.IEnumerable{``0},System.ValueTuple{JetBrains.HabitatDetector.JetClrImplementation,JetBrains.Util.JetRuntimeId})">
            <summary>
            For a set of packages with binaries, tries to look up corresponding packages with native images in the total packages set.
            </summary>
            <typeparam name="TPackage"></typeparam>
            <param name="packagesWithBinaries">Subset of binaries packages.</param>
            <param name="allpackages">The total set of packages to consider.</param>
            <param name="runtime">Native image packages are per-runtime, which runtime to look for.</param>
            <returns>The set of found additional native image packages.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.FindPackagesWithSymbols``1(System.Collections.Generic.IReadOnlyCollection{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            For a set of packages with binaries, tries to look up corresponding packages with symbols in the total packages set.
            To filter out native symbols, look for the <c>FindPackagesWithManagedSymbolsAsync</c> method.
            </summary>
            <typeparam name="TPackage"></typeparam>
            <param name="packagesWithBinaries">Subset of binaries packages.</param>
            <param name="allpackages">The total set of packages to consider.</param>
            <returns>The set of found symbol packages.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetJetOrNugetEffectivePath(NuGet.Packaging.IPackageFile)">
            <summary>
            Gets the effective path of the embedded file in the package.
            If the package follows the DotFiles folder convention, cuts this folder name. Otherwise, takes what Nuget thinks to be the effective path of the file.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetNupkgFileName(NuGet.IPackageName)">
            <summary>
            Gets the local name of the package file with the given ID and version.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetNupkgFileNameForMetadata(NuGet.Packaging.IPackageMetadata)">
            <summary>
            Gets the local name of the package file with the given ID and version.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackagesWithProgressAdvancedAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.NugetHelpers.GetPackageRequest},System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger)">
            <summary>
            A helper to get a group of packages in one take. Adds progress reports for the whole group process.
            </summary>
            <param name="packman"></param>
            <param name="lifetime"></param>
            <param name="requests">The packages to be retrieved, as the request structures which allow to match the request with the result without additional lookups.</param>
            <param name="topic">A noun-like title case or lowercase topic for this operation (e.g. "Build Script Package References", "CDB Self-Debugger").</param>
            <param name="tasker"></param>
            <param name="loggerOuter">Your parent logger. The impl creates an own logger instance to track messages from this bulk operation.</param>
            <returns>Those package items which were retrieved (no NULLs).</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackagesWithProgressAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.JetPackageIdentity},System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger)">
            <inheritdoc cref="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackagesWithProgressAdvancedAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.NugetHelpers.GetPackageRequest},System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger)" />
            <remarks>You do not need to make <paramref name="ids" /> unique or stabily-ordered.</remarks>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetSinglePackageWithProgressAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.JetPackageIdentity,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger)">
            <inheritdoc cref="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackagesWithProgressAdvancedAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.NugetHelpers.GetPackageRequest},System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.ILogger)" />
            <remarks>Gets the single package, throws if failed.</remarks>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.LocalRestorePackagesWithProgressAsync(JetBrains.Lifetimes.Lifetime,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.IJetNugetPackage},System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,JetBrains.Util.ILogger,System.Func{JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PerPackageCustomization})">
            <summary>Runs restore for the list of the given packages against the given session (which defines the target directory for restore and the unused packages behavior). See other overloads for options to create the session automatically.</summary>
            <param name="lifetime"></param>
            <param name="session">In this overload, you already have the session.</param>
            <param name="packages">The packages to restore with the session, one by one.</param>
            <param name="topic">A noun-like title case or lowercase topic for this operation (e.g. "Build Script Package References", "CDB Self-Debugger").</param>
            <param name="tasker">Async driver.</param>
            <param name="onerror">Error reporting.</param>
            <param name="logger"></param>
            <param name="perPackageCustomization">Optional. Extra customization for each package local expand behavior.</param>
            <returns>The description of the restored package (nullity depends on <paramref name="onerror" />).</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.LocalRestorePackagesWithProgressAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.JetPackageIdentity},JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,JetBrains.Util.ILogger,System.Func{JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PerPackageCustomization})">
            <seealso cref="!:LocalRestoreSinglePackageWithProgressAsync(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior,string,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,string)" />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.LocalRestorePackagesWithProgressAsync(JetBrains.Lifetimes.OuterLifetime,System.Collections.Generic.IEnumerable{JetBrains.Util.Storage.Packages.IJetNugetPackage},JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,JetBrains.Util.ILogger,System.Func{JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.PerPackageCustomization})">
            <summary>
            Creates the session with recommended parameters and runs restore in it for the given packages.
            </summary>
            <param name="lifetime">The limiting lifetime for the async activity.</param>
            <param name="packages">The list of packages to be restored within this session.</param>
            <param name="dirForRestore">The target directory for restore, corresponds to the <c>Packages</c> directory under the solution. See <paramref name="perPackageCustomization" /> for possible overrides.</param>
            <param name="onUnusedPackages">What to do with unused packages in that <paramref name="dirForRestore" />. See <see cref="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior" /> for details.</param>
            <param name="topic">A noun-like title case or lowercase topic for this operation (e.g. "Build Script Package References", "CDB Self-Debugger").</param>
            <param name="tasker">Async driver.</param>
            <param name="onerror">Error reporting.</param>
            <param name="logger"></param>
            <param name="perPackageCustomization">Optional. Extra customization for each package local expand behavior.</param>
            <returns>The description of the restored packages (depending on <paramref name="onerror" />, might be missing some of the original packages in case they failed).</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.LocalRestoreSinglePackageWithProgressAsync(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,JetBrains.Util.ILogger,System.String)">
            <summary>
            Creates the session with recommended parameters and runs restore in it for the given packages (when you have only one; use the other overload if there are many).
            </summary>
            <param name="lifetime">The limiting lifetime for the async activity.</param>
            <param name="packageIfSingle">The list of packages to be restored within this session, if there's only one package. Do use the other overload if you have many.</param>
            <param name="dirForRestore">
              <para>The target directory for restore, corresponds to the <c>Packages</c> directory under the solution.</para>
              <para>See also <paramref name="subfolderForPackage" />: the package contents would be either in a subfolder named after the package identity (default), or the given custom path.</para>
            </param>
            <param name="onUnusedPackages">What to do with unused packages in that <paramref name="dirForRestore" />. See <see cref="T:JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior" /> for details.</param>
            <param name="topic">A noun-like title case or lowercase topic for this operation (e.g. "Build Script Package References", "CDB Self-Debugger").</param>
            <param name="tasker">Async driver.</param>
            <param name="onerror">Error reporting.</param>
            <param name="logger"></param>
            <param name="subfolderForPackage">
              <para>Where package contents would be under the <paramref name="dirForRestore" />:</para>
              <para>• <c>NULL</c> (default) or <c>""</c>. As with usual multi-package restore, each package would be expanded into its own subdirectory under <paramref name="dirForRestore" />, named after the package identity, dot-separated. Example: <c>PackagesDirForRestore/PackageName.1.0.0/&lt;files here&gt;</c></para>
              <para>• A custom one-component path. You can choose a custom subfolder name (for example, a shorter one). You can not actually avoid the subfolder at all, because on non-NTFS the metadata file about the package expansion goes into the base packages folder next to the actual expansion directory, so without a subdir this would go ABOVE <paramref name="dirForRestore" />, which might litter directories outside your workdir for example.</para>
            </param>
            <returns>The description of the restored package (nullity depends on <paramref name="onerror" />).</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.LocalRestoreSinglePackageWithProgressAsync(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.JetPackageIdentity,JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior,System.String,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,JetBrains.Util.ILogger,System.String)">
            <inheritdoc cref="!:LocalRestoreSinglePackageWithProgressAsync(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.IJetNugetPackage,JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.Packages.LocalRestoreNugetPackagesSession.BacklogBehavior,string,JetBrains.Application.Threading.Tasks.ITaskHost,JetBrains.Util.OnError,string)" />
            <remarks>Combines together retrival and restoring.</remarks>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.RetrievePackageCore(System.Func{System.Boolean,NuGet.IPackage},System.Object,JetBrains.Util.OnError)">
            <summary>
            Gets the package in a reliable way, working around problems like inability to retrieve bytes of the actually-returned package.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.RetrievePackageExact(JetBrains.Util.Storage.Packages.IJetNugetPackageManager,JetBrains.Util.Storage.Packages.JetPackageIdentity,JetBrains.Util.OnError)">
            <summary>
            Gets the package in a reliable way, working around problems like inability to retrieve bytes of the actually-returned package.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.TryGetJetEffectivePath(NuGet.Packaging.IPackageFile)">
            <summary>
            Gets the effective path of the embedded file in the package, by our convention, only from the <c>Lib</c> or <c>DotFiles</c> folders.
            If the package follows the DotFiles folder convention, cuts this folder name. Otherwise, takes what Nuget thinks to be the effective path of the file in the <c>Lib</c> folder.
            </summary>
            <returns>The effective path, and whether the file were within the Lib folder in our or Nuget-standard convention.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetNugetIdSuffix(JetBrains.HabitatDetector.JetClrImplementation)">
            <summary>
            Makes a suffix to be added to a Nuget package ID if we want to make it specific to this runtime.. No specific Nuget convention for this, just something to be specific.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackageRequest.#ctor(JetBrains.Util.Storage.Packages.JetPackageIdentity)">
            <inheritdoc />
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackageRequest.Identity">
            <summary>
            MUST be specified. The package to retrieve.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetHelpers.GetPackageRequest.Result">
            <summary>
            Requester's functor to process the result (as this is the most natural mapping of the result to the identity for the requester).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection">
            <summary>
              <para>Uses alternative methods for introspecting Nuget packages, which can give up to 2x total speed and greatly reduces intermediate memory usage.</para>
              <para>Does not reference the Nuget itself, so is netfx35-friendly.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetNugetEntriesCore(System.Nullable{JetBrains.Lifetimes.Lifetime},System.Collections.Immutable.ImmutableArray{JetBrains.Util.Storage.ImmutableFileItem},JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework)">
            <inheritdoc cref="!:IJetNugetPackage.GetEntries" />
            <remarks>
            Notes on not disposing of the ZipFile: running off an immutable memory stream, and never modifying the ZIP, there's nothing to dispose actually.
            Notes on no filter: as we're not retrieving the content aggressively, it's no big deal to postfilter. Filter is critical for fns which return bodies already.
            Notes on thread safety: looks like Nuget allows to access underlying streams in parallel OK.
            </remarks>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetNugetManifestPartName(ICSharpCode.SharpZipLib.Zip.ZipFile,System.Object,JetBrains.Util.OnError)">
            <summary>
            Looks up the relationships file in the package, and reads the Nuget Manifest relationship target to learn the part which has the package manifest.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetNupkgParts(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Gets parts of the package without semantical filtering.
            Technical filtering happens on OPC level (OPC supplementary ZIP entries) and on Nupkg level (the manifest package part).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetPackageManifestFast(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Using Nuget's own package for getting a manifest results in copying the full package stream and then copying the metadata a few times. Try skipping all that.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetPackageManifestFast_SystemPackaging(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Using Nuget's own package for getting a manifest results in copying the full package stream and then copying the metadata a few times. Try skipping all that.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetPackageManifestFast_Zip(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Using Nuget's own package for getting a manifest results in copying the full package stream and then copying the metadata a few times. Try skipping all that.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileFormatIntrospection.GetNugetEntriesCore_GetFolderPreferenceOrder(JetBrains.Util.Storage.Packages.JetNugetFilterFlags)">
            <summary>
            Gets a list of dirs to take for this set of flags. The break-flag means we should not add items from next folders if we add anything from this one. Otherwise they're unioned.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.NugetPackageFileItem">
            <summary>
            Represents an in-memory serializable Nuget package item, much like a <see cref="T:JetBrains.Util.Storage.ImmutableFileItem" /> is for a file.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.#ctor(JetBrains.Util.Storage.Packages.JetNugetPackageMetadata,JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Identity ctor.
            </summary>
            <param name="manifest"></param>
            <param name="file"></param>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.#ctor(JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Reads manifest from the package file.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.NugetPackageFileItem.File">
            <summary>
            The package file stream contents in <c>.nupkg</c> format.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackageFileItem.Identity">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackageFileItem.Manifest">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.FilterPackageParts(JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.GetObjectData(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.System#IComparable#CompareTo(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.System#IComparable{JetBrains#Util#Storage#Packages#IJetNugetPackage}#CompareTo(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.System#IEquatable{JetBrains#Util#Storage#Packages#IJetNugetPackage}#Equals(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageFileItem.JetBrains#Util#Storage#Packages#IJetNugetPackage#GetNugetPackageFile">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackageFileItem.JetBrains#Util#Storage#Packages#IHaveJetNugetPackage#Package">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackageFileItem.JetBrains#Util#Storage#Packages#IJetNugetPackage#PackageParts">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.NugetPackagePromise">
            <summary>
            Has all the data needed to produce a package, but spares the operation itself (mostly due to performance costs on compression and decompression).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackagePromise.System#IComparable{JetBrains#Util#Storage#Packages#IJetNugetPackage}#CompareTo(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackagePromise.System#IComparable#CompareTo(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackagePromise.System#IEquatable{JetBrains#Util#Storage#Packages#IJetNugetPackage}#Equals(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#Packages#IJetNugetPackage#FilterPackageParts(JetBrains.Util.Storage.Packages.JetNugetFilterFlags,JetBrains.Util.Storage.Packages.JetNugetTargetFramework)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#Packages#IJetNugetPackage#GetNugetPackageFile">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#StructuredStorage#IStructuredStorageSerializable#GetObjectData(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage)">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#Packages#IJetNugetPackage#Identity">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#Packages#IJetNugetPackage#Manifest">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#Packages#IHaveJetNugetPackage#Package">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPackagePromise.JetBrains#Util#Storage#Packages#IJetNugetPackage#PackageParts">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.NugetPartPaths">
            <summary>
            </summary>
            <param name="PartPath">The path equivalent of the Part URI in the OPC package.</param>
            <param name="EffectivePathJet"><see cref="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)" />.
            Might be undefined for some of the parts.</param>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPartPaths.#ctor(JetBrains.Util.RelativePath,JetBrains.Util.RelativePath)">
            <summary>
            </summary>
            <param name="PartPath">The path equivalent of the Part URI in the OPC package.</param>
            <param name="EffectivePathJet"><see cref="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)" />.
            Might be undefined for some of the parts.</param>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPartPaths.PartPath">
            <summary>The path equivalent of the Part URI in the OPC package.</summary>
        </member>
        <member name="P:JetBrains.Util.Storage.Packages.NugetPartPaths.EffectivePathJet">
            <summary><see cref="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)" />.
            Might be undefined for some of the parts.</summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants">
            <summary>
            Defines some of the constants related to handling Nuget packages for subplatforms.
            Even though all of this functionality is NetFX4-specific and lives in higher assemblies, some of the constants must reside here to be shared.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.JetBrainsContentFilesFolder">
            <summary>
            Name of the folder within Nuget package files which we're to use for storing our generic content files by convention.
            This is not immediately visible to Nuget Core itself and prevents it from adding references to our DLLs from VS projects automatically. Instead, we'd add a custom .Targets file to manage what gets added and how.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.JetMetadataInApplicationPackageExt">
            <summary>
            Package part extension for the jet package metadata objects embedded into a subplatform package.
            The part contains a structured storage with a <c>SerializedValuesResolver</c> holding the components.
            The other half of the part local name is the package ID (no version included, for easier cleanup when extracting), and the folder is the main content folder.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetLibFolder">
            <summary>
            The standard Nuget Lib folder name.
            <c>Constants::Lib</c> if we got a reference to Nuget.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetRefFolder">
            <summary>
            The standard Nuget Ref folder name (reference assemblies suitable only for project references).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.NugetRuntimesFolder">
            <summary>
            The standard Nuget Runtime folder name (assemblies suitable only for running the app at the specific target system).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.PackageEmptyFileName">
            <summary>
            Starting from nuget 2.0, use a file with the special name '_._' to represent an empty folder.
            <c>Constants::PackageEmptyFileName</c> if we got a reference to Nuget.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.SubplatformPlatformCoreShellPackageId">
            <summary>
            Name of the Nuget package which is the central/core package of the system, and is basically referenced by nearly every other package.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.IsPackageFileEffectivePathSuitableForManagedReference(JetBrains.Util.RelativePath,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
              <para>After content files are listed for the package (this means looking in the set folders, and stripping off their paths to make an effective path), checks whether this effective path look like this file could be used as a managed assembly or a managed assembly reference after it's installed.</para>
              <para>This allows to seamlessly skip content files shipped in subfolders if they're actually managed assemblies, for being inspected for cataloging etc.</para>
              <para>Also checks the file extension.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.SubplatformPackageLayoutConstants.TryGetJetEffectivePath(JetBrains.Util.RelativePath)">
            <summary>
            Gets the effective path of the embedded file in the package, by our convention, only from the <c>Lib</c> or <c>DotFiles</c> folders.
            If the package follows the DotFiles folder convention, cuts this folder name. Otherwise, takes what Nuget thinks to be the effective path of the file in the <c>Lib</c> folder.
            </summary>
            <returns>The effective path, and whether the file were within the Lib folder in our or Nuget-standard convention.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetPackageIdentityExtensions.GetNupkgFileName(JetBrains.Util.Storage.Packages.JetPackageIdentity)">
            <summary>
            Gets the local name of the package file with the given ID and version.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.JetPackageIdentityExtensions.GetExpandedPackageDirectoryName(JetBrains.Util.Storage.Packages.JetPackageIdentity)">
            <summary>
            Name of the directory under <c>Packages</c> folder into which the package would be expanded.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageLegacyConversion.LoadWithNuget2(JetBrains.Util.Storage.Packages.IJetNugetPackage)">
            <summary>
            Loads the package with Nuget.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NugetPackageLegacyConversion.ToJetNugetPackage(NuGet.IPackage)">
            <summary>
            Reads the package and detaches from the instance.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.NuGetSettingWrapper">
            <summary>
            Temporary class for v2->v5 NuGet migration;
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.GetPackageStatus">
            <summary>
            Status reporting item for <see cref="M:JetBrains.Util.Storage.Packages.IJetNugetPackageManager.GetPackageAsync(JetBrains.Lifetimes.OuterLifetime,JetBrains.Util.Storage.Packages.JetPackageIdentity,JetBrains.Util.OnError,JetBrains.DataFlow.IProperty{JetBrains.Util.Storage.Packages.GetPackageStatus})" />.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.GetPackageStatus.EPath.MemCache">
            <summary>
            The package has already been loaded into memory by some prev request.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.GetPackageStatus.EPath.DiskCache">
            <summary>
            The package has been loaded from disk from a valid cached copy.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.Packages.GetPackageStatus.EPath.Source">
            <summary>
            The package had to be retrieved from source (e.g. http-downloaded).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.Packages.JetNugetPackageMetadata">
            <summary>
            Same as <see cref="T:NuGet.Packaging.Manifest" />, but serializable.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LegacyNuGetVersion.ToBackwardCompatibleVersionRange(System.String)">
            <summary>
            Converts NuGetVersion to VersionRange which contains only this version.
            </summary>
            <example>ToBackwardCompatibleVersionRange("11.1.0").ToLegacyShortString() == "[11.1.0]"</example>
            <example>ToBackwardCompatibleVersionRange("11.1.0.0").ToLegacyShortString() == "[11.1.0.0]"</example>
            <example>ToBackwardCompatibleVersionRange("11.1.0.1").ToLegacyShortString() == "[11.1.0.1]"</example>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LegacyNuGetVersion.ToString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.LegacyNuGetVersion.ToNormalizedString">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NuGetManifestExtensions.MakeBackwardCompatible(NuGet.Packaging.Manifest)">
            <summary>
            With this hack, Manifest can hold some NuGet 5.x-indcompatible versions like 1.0 or 1.0.0.0.
            The most important effect: such versions will be correctly saved during serialization.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.Packages.NuGetUtil.HasDependencyOn(JetBrains.Util.Storage.Packages.IJetNugetPackage,System.String)">
            <summary>
            Fast-checks if the package <paramref name="nupkgFile" /> has a dependency on package <paramref name="packageId" />.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.SimpleFileItemPackageFile">
            <summary>
            Adapts a <see cref="T:JetBrains.Util.Storage.ImmutableFileItem" /> to be exposed as a package file (NuGet v5 only).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.SimpleFileItemPackageFile.GetOsDependentPath">
            <summary>
            It is critical to return forward slashes on unix.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.AnonymousStructuredStorageCollection`1.JetBrains#Util#Storage#StructuredStorage#IStructuredStorageCollection{TItem}#TryAdd(`0,JetBrains.Util.OnError)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.AnonymousStructuredStorageCollectionClosureFree`2.#ctor(`1,System.Func{`1,System.Collections.Generic.IEnumerable{`0}},System.Func{`1,System.Nullable{System.Int32}},System.Func{`1,`0,System.Boolean},System.Func{`1,System.String,`0},System.Func{`1,System.String,`0},System.Func{`1,`0,System.String},System.Func{`1,`0,JetBrains.Util.OnError,System.Boolean})">
            <summary>
            This class is “anonymous” in that you can create a fully custom implementation without declaring your own derived class. So all these implementations would have the same name of this class, hence “anonymous”.
            </summary>
            <param name="ctx">The context which would be passed to each of the functors. This allows to avoid allocating closures for each of the functors, passing all of the closure params thru the <paramref name="ctx" />.</param>
            <param name="enumFunc"></param>
            <param name="countFunc"></param>
            <param name="removeFunc"></param>
            <param name="createFunc"></param>
            <param name="tryGetFunc">Optional. Implements getting an item by name faster than O(N). If omitted, would do an O(N) search via <paramref name="enumFunc" />.</param>
            <param name="getItemNameFunc">Optional. Gets a name of the item. If omitted, will cast to <see cref="T:JetBrains.Util.Storage.StructuredStorage.INamedItem" />. If omitted and items do not implement <see cref="T:JetBrains.Util.Storage.StructuredStorage.INamedItem" />, will crash, but only if <paramref name="tryGetFunc" /> is also omitted and we have to do a full search by name.</param>
            <param name="tryAddFunc">Optional. Implements the <see cref="M:System.Collections.Generic.ICollection`1.Add(`0)" /> and <see cref="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.TryAdd(`0,JetBrains.Util.OnError)" /> operation, if your collection supports adding ready items. Generally, this should only be allowed for immutable items which you can safely co-own. For regular storages, items are added by calling <see cref="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.Create(System.String)" /> and <paramref name="createFunc" />. <see cref="T:JetBrains.Util.Storage.StructuredStorage.IImmutableStreamsStorage" /> supports adding immutable file items as ready items via <c>Add</c>.  If omitted, would throw an error hinting to use <see cref="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.Create(System.String)" />.</param>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.AnonymousStructuredStorageCollectionClosureFree`2.JetBrains#Util#Storage#StructuredStorage#IStructuredStorageCollection{TItem}#TryAdd(`0,JetBrains.Util.OnError)">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple">
            <summary>
            A Structured Storage implementation for fast in-memory operations in the "write once, read many" fashion.
            The format is NOT compatible with any standard readers.
            Not all possible operations are implemented.
            The supported operations are: write a newly-created stream (hence, one at a time); read an existing stream (any number). Others might be suboptimal or unavailable.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord">
            <summary>
            Represents a filesystem tree node for either a storage or a stream (see <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.ContentLength" /> to tell).
            The record length in <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.SizeOfRecord" /> does not include the last <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.wsz" /> field, because it's just a marker.
            Immediately follwed by the node name (would have a zero char, even if empty), <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.SizeOfRecord" /> from the record RVA.
            After that comes the content bytes, <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.ContentLength" /> long unless it's <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.StgContentLengthValue" />, at Record RVA + <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.SizeOfRecord" /> bytes + (<see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.CchName" /> + 1 zero-terminator) chars (!).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.StgContentLengthValue">
            <summary>
            The special value in the <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.ContentLength" /> field if the node represents a storage rather than a stream. Note that there can be a storage without any children, yet existing.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.RvaParent">
            <summary>
            RVA to the parent.
            Can be NULL on the root storage, or if the node has been deleted from the tree (=unlinked).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.RvaPrevSibling">
            <summary>
            Prev sibling, or NULL for the first child or a node without a parent.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.RvaNextSibling">
            <summary>
            Next sibling, or NULL for the first child or a node without a parent.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.RvaFirstChild">
            <summary>
            First child, or NULL if it's a stream, or a storage with zero children.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.RvaLastChild">
            <summary>
            Last child, or NULL if it's a stream, or a storage with zero children.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.ContentLength">
            <summary>
            For a stream node, the content length of that stream.
            For a storage node, the special <see cref="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.StgContentLengthValue" /> value.
            That's how we tell them.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.CchName">
            <summary>
            Length of the string, in chars, not including the terminating zero (which must also be written).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.NodeRecord.wsz">
            <summary>
            Not in the structure! Just marks the beginning of the string, UTF-16LE, zero-terminated (ready for use in the runtime).
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.BankSwitchingStructuredStorageSimple.Stg.JetBrains#Util#Storage#StructuredStorage#IImmutableStreamsStorage#ImmutableStreams">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage">
            <summary>
            Wraps a native COM storage with the managed <see cref="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage" /> interface.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.#ctor(JetBrains.Lifetimes.Lifetime,JetBrains.Interop.WinApi.Declarations.Interfaces.IStorage,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.ImplementationFlags)">
            <summary>
            Wraps a native COM storage with the managed <see cref="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage" /> interface.
            </summary>
            <param name="lifetime">The lifetime to deterministically close all of the storages and streams.</param>
            <param name="storage">The native storage.</param>
            <param name="implflags">If this storage implementation requires name mangling.</param>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.#ctor(JetBrains.Util.RelativePath,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool)">
            <summary>
            Internal ctor for substorages.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.ComStructuredStorageStream.#ctor(JetBrains.Util.RelativePath,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenOrCreate)">
            <summary>
            The stream is only opened when calling Open, to avoid keeping the COM reference open for too long.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.ImplementationFlags.MangleLongNamesDownTo31">
            <summary>
            Docfile impl can't have names longer than 31, mangling and table lookup required.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.ImplementationFlags.NeverWriteNonemptyStreams">
            <summary>
            ITSS impl can't write nonempty streams. Have to be cloned if opened for writing.
            // TODO: actually, it's surfaced that ITSS can't actually seek for writing, not write to already-existing streams. Deal with that if such a case surfaces.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.ImplementationFlags.IsOpeningSubStoragesForWriting">
            <summary>
            Means substorages should be opened with <see cref="F:JetBrains.Interop.WinApi.Declarations.Constants.STGM.STGM_READWRITE" /> instead of <see cref="F:JetBrains.Interop.WinApi.Declarations.Constants.STGM.STGM_READ" />.
            ITSS ignores these flags, but docfiles impl won't open child storages for writing under a readonly storage.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler">
            <summary>
            COM compound files only handle 31 chars of name length. Have to mangle anything that is longer than that.
            The full names will be stored in the property storage.
            Note that the character set is quite permissive, nearly no mangling is needed.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler.MaxUnmangledLength">
            <summary>
            Technical limit is 31, but 31-long names will be an additional indication that they have been mangled
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler_PropertyPerName">
            <summary>
            The original impl.
            Looks up mangled names right in the property storage stream, writes each new mangling directly to the stream.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler_SingleList">
            <summary>
            Gen 2 impl. Stores the single name mangling list in the property storage stream.
            Reads the stream when first needed, saves (if modified) before closing the storage.
            Does the lookups and modifications in an in-memory dictionary.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler_SingleList.myMapMangledToUnmangled">
            <summary>
            NULL until it's actually read from the persisted form, upon the first read/write call.
            Written when the lifetime ends.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler_SingleList.SerializedNamesSeparatorChar">
            <summary>
            A char which separates names in the mangled names table. Must not be valid for file names.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.NameMangler_SingleList.Serialize">
            <summary>
            Serializes the name mapping before closing the storage, in case there were any modifications.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStorageRecord.myOpenStorage">
            <summary>
            NULLed when closed.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStorageRecord.myLocks">
            <summary>
            Ownership locks on this storage.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStorageRecord.OpenStorage">
            <summary>
            The open physical storage object.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStorageRecord.CloseComObjectsCore">
            <summary>
            A separate func, to avoid capturing anything in a closure.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStorageRecord.Path">
            <summary>
            Path, starting from the root storage we've opened (not including it).
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool">
            <summary>
            Pools opening the physical <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.IStorage" /> objects. Does not keep them opened once and forever.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool.myOpenStorages">
            <summary>
            Sorted list of open storages.
            Topmost first, deeper go next.
            Usually only as large as substorages depth.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool.CollectGarbage">
            <summary>
            Close the storages which have no locks.
            They're kept open for some time to avoid re-opening the same storage with each next call.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool.OpenStorage(JetBrains.Util.RelativePath,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenOrCreateOrTryOpen)">
            <summary>
            Opens the storage. Does not add the lock (will be GCed when <see cref="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorage.OpenStoragesPool.CollectGarbage" /> is called or another storage is opened, so for onstack use only).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.CreateDiskFile(JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Creates a new empty storage on a disk file, and fills it with a user callback.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.CreateMemoryStream(JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Creates a new empty storage, fills it with a user callback, and returns it as a memory stream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.CreateOnLockBytes(JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Creates a new empty storage on user-supplied COM resizable memory exposed as <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.CreateOnLockBytes(JetBrains.Lifetimes.Lifetime,JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat)">
            <summary>
            Creates a new empty storage on user-supplied COM resizable memory exposed as <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes" />, and fills it with a user callback.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.CreateOnStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat)">
            <summary>
            Creates a new empty storage.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ModifyLockBytes(JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Opens an already-initialized storage in user-supplied COM resizable memory exposed as <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes" />, and processes it with a user callback (for just reading and writing).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.OpenDiskFile``1(JetBrains.Util.FileSystemPath,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Func{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,``0})">
            <summary>
            Opens an already-initialized storage in a disk file, and processes it with a user callback (for just reading, or possibly modification).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.OpenLockBytes(JetBrains.Lifetimes.Lifetime,JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,JetBrains.Util.Storage.StructuredStorage.StreamOpenFlags.ReadWrite)">
            <summary>
            Opens an already-initialized storage in user-supplied COM resizable memory exposed as <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes" />, and processes it with a user callback (for just reading, or possibly modification).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.OpenStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat)">
            <summary>
            Opens an already-initialized storage in a stream of some sort (for just reading, or possibly modification).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ReadLockBytes``1(JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Func{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,``0})">
            <summary>
            Opens an already-initialized storage in user-supplied COM resizable memory exposed as <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.ILockBytes" />, and processes it with a user callback (for just reading).
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ReadStream``1(System.IO.Stream,JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat,System.Func{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,``0})">
            <summary>
            Opens an already-initialized storage in a stream of some sort, and processes it with a user callback (for just reading, or possibly modification).
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat.ComCompoundFile">
            <summary>
            System-implemented, no compression, 31-char names only.
            Typical DOC, MSI, XLS, younameit.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ComStructuredStorages.ComStorageFormat.InfoTechStorage">
            <summary>
            InfoTech storage implementation from IE4, long filenames, decent compression.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.DiskFolderStructuredStorage">
            <summary>
            Represents a disk folder as a structured storage.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.IImmutableStreamsStorage">
            <summary>
              <para>A modification to <see cref="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage" /> which can serve its streams as <see cref="T:JetBrains.Util.Storage.ImmutableFileItem" /> in case they are really immutable.</para>
              <para>If the streams are not immutable, they will not be present in the list.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.IImmutableStreamsStorage.ImmutableStreams">
            <summary>
              <para>Those streams of this storage which are immutable and can be represented as immutable file items.</para>
              <para>Might have fewer streams available than the main <see cref="P:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage.Streams" /> interface, down to zero, if their bodies cannot be served as immutables.</para>
              <para>This file item usually efficiently reuses the internal memory of the storage without allocating a copy, which would ordinarily happen when you wrap a regular stream with an immutable file item.</para>
              <para>With this collection, you can use <see cref="M:System.Collections.Generic.ICollection`1.Add(`0)" /> for existing <see cref="T:JetBrains.Util.Storage.ImmutableFileItem">file items</see> instead of <see cref="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.Create(System.String)" /> and copying the streams. Regular <see cref="P:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage.Storages" /> and <see cref="P:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage.Streams" /> do not support <see cref="M:System.Collections.Generic.ICollection`1.Add(`0)" />.</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.INamedItem">
            <summary>
            A common basic interface for accessing items with a name.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.INamedItem.Name">
            <summary>
            The item name.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage">
            <summary>
              <para>Means for storing hierarchical data within a single object, similar to COM Structured Storage.</para>
              <para>Semantially, a storage is like a folder, and a stream is like a file.</para>
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage.Storages">
            <summary>
            Child storages, just like subfolders.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage.Streams">
            <summary>
            Streams of this storage, just like child files in a folder.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.Item(System.String)">
            <summary>
            Gets an existing item by its name.
            Throws an exception if the item is missing.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.Create(System.String)">
            <summary>
            Creates a new item filed under the given unique name.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.TryAdd(`0,JetBrains.Util.OnError)">
            <summary>
              <para>Tries to add the item, if supported by this collection and if not added yet.</para>
              <para>For most of the storages, adding existing streams and storages is not supported, you should create a new empty storage/stream in the new place and fill with content. <see cref="T:JetBrains.Util.Storage.StructuredStorage.IImmutableStreamsStorage" /> is an exception in that you can add existing streams, if supported by the storage.</para>
            </summary>
            <param name="item">An existing item to add.</param>
            <param name="onerror">Error reporting.</param>
            <returns>Whether added OK. Implementations are expected to report to <paramref name="onerror" /> if not OK.</returns>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageCollection`1.TryGetItem(System.String)">
            <summary>
            Gets an existing item by its name, or <c>Null</c> if there is no item with such a name.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageEx.AddFileItem(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,JetBrains.Util.Storage.ImmutableFileItem)">
            <summary>
            Adds a stream with this file item to a storage.
            If the file item name isn't just a local name and includes components, then substorages are created as needed.
            If the target storage supports <see cref="T:JetBrains.Util.Storage.StructuredStorage.IImmutableStreamsStorage" />, then the file item might be included with the storage without eagerly copying its immutable content.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageEx.CopyTo(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,JetBrains.Util.Storage.StructuredStorage.IStructuredStorage)">
            <summary>
            Copies the contents of one storage into another.
            Note that a clone of <paramref name="structuredStorage" /> itself is not added under <paramref name="dest" />, just the clones of its child storages/streams.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageSerializable">
            <summary>
            Allows an object to support serialization into an <see cref="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage" />. To support deserialization, implement a constructor taking a storage as the single parameter.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.IStructuredStorageSerializable.GetObjectData(JetBrains.Util.Storage.StructuredStorage.IStructuredStorage)">
            <summary>
            Populates an <see cref="T:JetBrains.Util.Storage.StructuredStorage.IStructuredStorage" /> with the data needed to serialize the target object.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage">
            <summary>
            Implements a Structured Storage over the OPC Package, such as a ZIP file package.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.CreateMemoryStream(System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Creates a new OPC structured storage, writes it into a memory stream, and returns that stream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.CreateOnStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream)">
            <summary>
            Creates a new OPC structured storage in a stream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.OpenStream(System.IO.Stream,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Opens the stream for reading an OPC storage in it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.OpenStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream)">
            <summary>
            Opens the stream for reading an OPC storage in it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.OpenStream``1(System.IO.Stream,System.Func{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,``0})">
            <summary>
            Opens the stream for reading an OPC storage in it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.GetPartPath(System.IO.Packaging.PackagePart)">
            <summary>
            Use this method for getting the relative path for the part. Don't use <see cref="P:System.IO.Packaging.PackagePart.Uri" /> directly.
            </summary>
            <param name="part"></param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.GetPartUri(JetBrains.Util.RelativePath)">
            <summary>
            The inverse to <see cref="M:JetBrains.Util.Storage.StructuredStorage.PackageStructuredStorage.GetPartPath(System.IO.Packaging.PackagePart)" />. Serves turning the path into the URI correctly.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.RuntimeStructuredStorage">
            <summary>
            A set of runtime objects holding all the data, not backed with any media.
            </summary>
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.RuntimeStructuredStorage.JetBrains#Util#Storage#StructuredStorage#IImmutableStreamsStorage#ImmutableStreams">
            <inheritdoc />
        </member>
        <member name="P:JetBrains.Util.Storage.StructuredStorage.RuntimeStructuredStorage.Stm.JetBrains#Util#Storage#StructuredStorage#INamedItem#Name">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.RuntimeStructuredStorage.Stm.JetBrains#Util#Storage#StructuredStorage#IStructuredStorageStream#Open(JetBrains.Lifetimes.Lifetime,JetBrains.Util.Storage.StructuredStorage.StreamOpenFlags.StreamOpenFlags)">
            <inheritdoc />
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.StreamOpenFlags.ReadWrite">
            <summary>
            Compatible with <see cref="T:System.IO.FileAccess" />.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.StreamOpenFlags.StreamOpenFlags">
            <summary>
            The logical flags for opening streams, with all the options usually available in CreateFile.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StreamOpenFlags.StreamOpenFlags.IsValidCombination(JetBrains.Util.OnError)">
            <summary>
            Checks if the flags are compatible.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorageHelpers.EmptyNameEscapeString">
            <summary>
            Substitutes an empty string when making a valid name. Has characters so that escaping any other names with our algorithm could not match it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorageHelpers.EscapeToValidName(System.String)">
            <summary>
            Given a candidate stream/storage name, applies escaping so that it fit with <see cref="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorageHelpers.IsNameValid(System.String,JetBrains.Util.OnError)" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorageHelpers.ReverseEscapeToValidName(System.String)">
            <summary>
            Reverses the effect of <see cref="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorageHelpers.EscapeToValidName(System.String)" />.
            Note that this MUST NOT be applied to strings which didn't undergo <see cref="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorageHelpers.EscapeToValidName(System.String)" /> because the escaping is only optional; you cannot readily detect if the name were escaped or not. For each storage, it should be decided by its author if names within are freehand outer-world strings and they should be escaped, or not.
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.DefaultStorageFormat">
            <summary>
            The default for creating a new stream if the format is not explicitly specified.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.PublicFilesPreferredFormat">
            <summary>
            The preferred format for publicly-exposed files for which in-system performance is not as critical as readability with a wider set of tools.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.UniversalStorageExtension">
            <summary>
            For writing storage files in any of the supported formats, if we're not fixing its format but suppose autodetection.
            Use this rather than OPC, ITS, DOC etc.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.CreateMemoryStream(System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage},System.Nullable{JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format})">
            <summary>
            Creates a new structured storage, writes it into a memory stream, and returns that stream.
            The format specification is optional. If omitted, uses <see cref="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.DefaultStorageFormat" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.CreateOnStream(System.IO.Stream,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage},System.Nullable{JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format})">
            <summary>
            Creates a new structured storage, writes it into the given stream.
            The format specification is optional. If omitted, uses <see cref="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.DefaultStorageFormat" />.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.OpenStream``1(System.IO.Stream,System.Func{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,``0},System.Nullable{JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format})">
            <summary>
            Opens a structured storage on an existing stream.
            The format specification is optional. If omitted, autodetects format by the stream header.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.OpenStream(System.IO.Stream,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage},System.Nullable{JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format})">
            <summary>
            Opens a structured storage on an existing stream.
            The format specification is optional. If omitted, autodetects format by the stream header.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.OpenStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream,JetBrains.Util.OnError,System.Nullable{JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format})">
            <summary>
            Opens a structured storage on an existing stream.
            </summary>
            <param name="lifetime">Lifetime for using the storage object.</param>
            <param name="stream"></param>
            <param name="onerror"></param>
            <param name="formatIfKnown">Supports autodetection of the format by the storage header, but also allows to specify it manually.</param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.DetectStreamFormat(System.IO.Stream,System.Boolean,JetBrains.Util.OnError)">
            <summary>
            Tries to tell which format the storage is in.
            </summary>
            <param name="stream">Must be seekable. Storage impl would need that anyway.</param>
            <param name="isNotTellingZipBasedFormatsApart">A new mode, won't tell apart ZIP-based formats like OPC, for speed.</param>
            <param name="onerror"></param>
            <returns></returns>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format.OpenPackagingConventions">
            <summary>
            ECMA-376 OpenXML, 1st Edition, Part 2: Open Packaging Conventions (OPC). Based on ZIP.
            The format of the new docx, xlsx, xps, vsix, nuget, etc files. A successor for COM Compound Files.
            Uses the managed implementation from <see cref="!:ZipPackage" />, which has some impact due to the intermediate data storages in .NET Isolated Storage. A native implementation is available, but it requires newer Windows systems and is thus not used.
            Viewer: any ZIP viewer.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format.ComCompoundFiles">
            <summary>
            The classical implementation of the COM Structured Storage, the COM Compound Files binary format, aka DocFile format.
            The format of the doc, xls, msi, etc. Uses the Windows built-in COM implementation over <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.IStorage" />. Technically, does not support paths longer than 31 char in utf16, so external long names support has been layered over it.
            Viewer: FAR, or any other docfile viewer.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format.InfoTechStorageSystem">
            <summary>
            The InfoTech Storage System, as introduced with IE4 and used for CHM (compiled HTML help) and ITS file formats.
            Exposes the same COM Structured Storage <see cref="T:JetBrains.Interop.WinApi.Declarations.Interfaces.IStorage" /> interface, supports long names internally and has decent compression.
            Viewer: FAR, or any other CHM file viewer like HelpwareFAR.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.StructuredStorages.Format.Zip">
            <summary>
            Plain zip file
            </summary>
        </member>
        <member name="T:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage">
            <summary>
            Implements a Structured Storage over ZIP file.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.EscapeRules">
            <summary>
            ASCII range, XML-safe and printable-safe and filename-safe.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.CreateOnStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream)">
            <summary>
            Creates a new OPC structured storage in a stream.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.OpenStream(System.IO.Stream,System.Action{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage})">
            <summary>
            Opens the stream for reading an OPC storage in it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.OpenStream(JetBrains.Lifetimes.Lifetime,System.IO.Stream)">
            <summary>
            Opens the stream for reading a ZIP storage in it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.OpenStream``1(System.IO.Stream,System.Func{JetBrains.Util.Storage.StructuredStorage.IStructuredStorage,``0})">
            <summary>
            Opens the stream for reading an OPC storage in it.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.AssertNotOpc(ICSharpCode.SharpZipLib.Zip.ZipFile)">
            <summary>
            OPC storages is a different class. Now, for speed, we won't probe for them when detecting format, but rather open as ZIP and catch if we missed. They aren't used much, really.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.TreeLeaf.CacheStream">
            <summary>
            When writing new content, gets kept here until we commit to the ZIP.
            For if we do a full commit after each write, it gets to rebuild the whole ZIP on each iteration, and feels O(n2) on writes.
            And if we submit it to ZIP and do not commit, it won't return the newly-submitted streams when opening entries. So we got to keep them in own cache for a while.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.TreeLeaf.ZipEntry">
            <summary>
            The originating ZIP entry of this stream, if created over an unmodified stream from the loaded storage.
            Keeps the index (for fast reading) and the entry transport name. When opening by entry, only uses the index when it still matches the name, ie is a safe bet.
            For modified or newly-created entries, we keep their streams until we are ready to commit the archive, so this will be NULL.
            </summary>
        </member>
        <member name="F:JetBrains.Util.Storage.StructuredStorage.ZipStructuredStorage.TreeNode.ZipEntry">
            <summary>
            Set to an entry if this node has been created from a real zip directory entry, or to NULL if it's been created because some child entry exists for a dir/file.
            Used to delete the entry.
            </summary>
        </member>
        <member name="T:JetBrains.Util.StreamUnderLifetime">
            <summary>
              <para>An adapter from <see cref="T:JetBrains.Lifetimes.Lifetime" />s world into the <see cref="T:System.IDisposable" /> world: if your provider can give a stream under a lifetime, but your consumer wants a stream that it will dispose.</para>
              <para>Gives you the lifetime under which you can get the stream from provider.</para>
              <para>Terminates this lifetime when your consumer disposes of this object.</para>
              <para>Prevents the original stream which you've received under the lifetime from being disposed of when the consumer disposes of this object (whether to dispose of that stream is up to the producer who's given the lifetime).</para>
            </summary>
        </member>
        <member name="T:JetBrains.Util.SystemObjectEqualityComparer`1">
            <summary>
            Uses methods from base <see cref="T:System.Object"/> class for equality comparison: the object equality is checked bitwise on the reference value (or value type body), and the hash code is produced from the sync table entry. The object contents is not inspected (on reference types), and object's methods are not called (in either case).
            Extremely recommended for delegates, because normally they should only match themselves, and comparing or hashing a delegate is an expensive operation in modern NetFX.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="M:JetBrains.Util.TemporaryDirectoryCookie.CreateFolder(JetBrains.Util.FileSystemPath,System.String)">
            <summary>
            Creates temporary folder in specified parent folder. Parent folder must exist.
            If parent folder is omitted %temp% is used
            </summary>
        </member>
        <member name="M:JetBrains.Util.TemporaryDirectoryCookie.CreateFolderEx(JetBrains.Lifetimes.Lifetime,JetBrains.Util.FileSystemPath,System.String,System.Boolean)">
            <summary>
            Creates temporary folder in specified parent folder. Parent folder must exist.
            If parent folder is omitted %temp% is used
            </summary>
        </member>
        <member name="M:JetBrains.Util.TemporaryDirectoryCookie.CreateFolder(JetBrains.Lifetimes.Lifetime,JetBrains.Util.FileSystemPath,System.String,System.Boolean)">
            <summary>
            Creates temporary folder in specified parent folder. Parent folder must exist.
            If parent folder is omitted %temp% is used
            </summary>
        </member>
        <member name="M:JetBrains.Util.TemporaryDirectoryCookie.UseFolder(JetBrains.Util.FileSystemPath)">
            <summary>
            Use folder as temporary and  clean-up on dispose
            </summary>
        </member>
        <member name="T:JetBrains.Util.TestPresentationMap">
            <summary>
            Must be used with <code>using (new TestPresentationMap()) {...}</code> idiom
            </summary>
        </member>
        <member name="P:JetBrains.Util.TestPresentationMap.Available">
            <summary>
            To suppress calculation of <code>presentation</code> in <see cref="M:JetBrains.Util.TestPresentationMap.RegisterTestPresentation``1(``0,System.String)"/>/>
            </summary>
        </member>
        <member name="T:JetBrains.Util.TextStreamReader">
            <summary>Uses one character to represent new line.</summary>
        </member>
        <member name="T:JetBrains.Util.TextStringReader">
            <summary>Uses one character to represent new line.</summary>
        </member>
        <member name="F:JetBrains.Util.ToolsetInfo.CurrentDefaultTargetFx">
            <summary>
            Gets the default target netfx version for the managed projects in the solution, unless overridden by their specific needs (like supporting newer VS versions).
            This is the default Nuget package content extraction framework.
            </summary>
        </member>
        <member name="M:JetBrains.Util.UriUtil.Clone(System.Uri)">
            <summary>
            Make a clone of the URI where OriginalString is a previous full url string 
            </summary>
        </member>
        <member name="M:JetBrains.Util.UriUtil.WithCacheRedirector(System.Uri)">
            <summary>
            Wraps with URI to access thru JetBrains Cache Redirector if applicable.
            </summary>
        </member>
        <member name="T:JetBrains.Util.Uuid">
            <summary>
            Implementation of RFC 4122 - A Universally Unique Identifier (UUID) URN Namespace.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Uuid.NewUuid(System.Guid,System.String)">
            <summary>
            Creates a version 5 name-based UUID.
            </summary>
            <param name="namespaceGuid">The namespace UUID.</param>
            <param name="value">The value.</param>
            <returns>The UUID for the given namespace and value.</returns>
        </member>
        <member name="M:JetBrains.Util.Version2.ToVersion4WithMinusOnes">
            <summary>
            <see cref="P:System.Version.Major" /> and <see cref="P:System.Version.Minor" /> are taken from this version, and <see cref="P:System.Version.Build" /> and <see cref="P:System.Version.Revision" /> are set to <c>-1</c>. The resulting version object has only two components defined, and renders as <c>x.y</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.Version2.ToVersion4WithZeros">
            <summary>
            <see cref="P:System.Version.Major" /> and <see cref="P:System.Version.Minor" /> are taken from this version, and <see cref="P:System.Version.Build" /> and <see cref="P:System.Version.Revision" /> are set to <c>0</c>. The resulting version object has all four components defined, and renders as <c>x.y.0.0</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.VersionExtensions.TrimZeroesAtEnd(System.Version)">
            <summary>
            Returns version with trailing zeroes replaced with -1
            </summary>
            <param name="version">Version to update</param>
            <returns>Version with no trailing zeroes</returns>
        </member>
        <member name="M:JetBrains.Util.VersionExtensions.MakeDateTimeVersion(JetBrains.Util.Version2,System.Nullable{System.DateTime})">
            <summary>
            Version number based on date and time in its two last components.
            </summary>
        </member>
        <member name="M:JetBrains.Util.VersionExtensions.MakeDateTimeVersionRough(JetBrains.Util.Version2,System.DateTime,System.TimeSpan)">
            <summary>
            Version number based on date and time in its two last components.
            </summary>
        </member>
        <member name="F:JetBrains.Util.WaveInfoEx.MajorVersionFixed">
            <seealso cref="M:JetBrains.Util.WaveInfoEx.GetDefaultAssemblyVersion(JetBrains.Util.WaveInfo)" />
        </member>
        <member name="M:JetBrains.Util.WaveInfoEx.GetDefaultAssemblyVersion(JetBrains.Util.WaveInfo)">
            <summary>
            The default assembly version for such assemblies that have not been assigned a manual version.
            Currently, fixed to <c>777, 0</c>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.WaveInfoEx.GetDefaultSubplatformVersion(JetBrains.Util.WaveInfo)">
            <summary>
            The default subplatform package version for such subplatforms that have not been assigned a manual version.
            Currently, <c>wavenumber, 0</c> — when the new wavenumbers are 182+.
            </summary>
        </member>
        <member name="T:JetBrains.Util.WindowsExplorer">
            <summary>
            An util class to interact with Windows Explorer
            </summary>
        </member>
        <member name="M:JetBrains.Util.WindowsExplorer.SelectItem(JetBrains.Util.FileSystemPath)">
            <summary>
            Open Windows Explorer with active selection on item (either file or folder)
            </summary>
        </member>
        <member name="M:JetBrains.Util.WindowsExplorer.SelectItem(JetBrains.Util.VirtualFileSystemPath)">
            <summary>
            Open Windows Explorer with active selection on item (either file or folder)
            </summary>
        </member>
        <member name="M:JetBrains.Util.WindowsExplorer.SelectItems(JetBrains.Util.FileSystemPath,System.Collections.Generic.IEnumerable{JetBrains.Util.FileSystemPath})">
            <summary>
            Opens Windows Explorer in specific folder and select one or several items in it.
            </summary>
            <param name="directory">full path to the directory</param>
            <param name="items">
              Full paths to items to select. Must be located in directory, provided by <paramref name="directory"/>
              When null or empty <paramref name="directory"/> without selection will be opened.
            </param>
        </member>
        <member name="M:JetBrains.Util.WindowsExplorer.OpenFolder(JetBrains.Util.VirtualFileSystemPath)">
            <summary>
            Open folder without selection in Windows Explorer.
            </summary>
        </member>
        <member name="M:JetBrains.Util.WindowsExplorer.OpenFolder(JetBrains.Util.FileSystemPath)">
            <summary>
            Open folder without selection in Windows Explorer.
            </summary>
        </member>
        <member name="M:JetBrains.Util.WindowsExplorer.OpenOrSelect(JetBrains.Util.FileSystemPath)">
            <summary>
            When path is file - select it, otherwise - open it
            </summary>
        </member>
        <member name="F:JetBrains.Util.WindowsServiceMode.Own">
            <summary>
              One executable, one service
            </summary>
        </member>
        <member name="F:JetBrains.Util.WindowsServiceMode.Share">
            <summary>
              One executable, many services
            </summary>
        </member>
        <member name="F:JetBrains.Util.WindowsServiceMode.SvcHost">
            <summary>
              One svchost.exe, many services from DLLs
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.AssertAtElement(System.Xml.XmlReader,System.String)">
            <summary>
            Asserts that the reader is currently at the element with the specific name. Advances before throwing to avoid endless child loops.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.AssertAtElement(System.Xml.XmlReader,System.String,System.String)">
            <summary>
            Asserts that the reader is currently at the element with the specific name. Advances before throwing to avoid endless child loops.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.KeepDepth(System.Xml.XmlReader,System.Action)">
            <summary>
            <para>Makes sure the reader is at the same node depth after executing the <paramref name="action">nested code</paramref> as before running it. Throws if the nested code pops out of the orignal level.</para>
            <para>Note: this is a lightweight alternative to <see cref="M:System.Xml.XmlReader.ReadSubtree"/>. Use the latter to get maximum stability.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.KeepParentDepth(System.Xml.XmlReader,System.Action)">
            <summary>
            <para>After executing the <paramref name="action">nested code</paramref>, makes sure the depth level is that of the parent of the orignial element (one depth level up). Throws if the nested code pops out of the limiting level.</para>
            <para>Note: this is a lightweight alternative to <see cref="M:System.Xml.XmlReader.ReadSubtree"/>. Use the latter to get maximum stability.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadElement(System.Xml.XmlReader,System.Action{System.Xml.XmlReader})">
            <summary>
            Creates a new reader that scopes the current element only. <paramref name="funcElem"/> cannot proceed past the current element on its reader, as the reader will report end-of-stream. After this function exits, the outer <paramref name="reader"/> is positioned on the next node after the element it was called on.
            The reader of the <paramref name="funcElem"/> is initially positioned on the same element.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadElementChildren(System.Xml.XmlReader,System.Action{System.Xml.XmlReader})">
            <summary>
            <para>Enters the current element, scans through all of its children, and calls <see cref="!:funcChild"/> for each of the first-level child elements.</para>
            <para>Must be called on an element (use <see cref="M:JetBrains.Util.XmlReaderEx.ReadToElementStart(System.Xml.XmlReader)"/> if needed).</para>
            <para><paramref name="funcChild"/> must do at least one read operation on the <see cref="!:reader"/>, otherwise the reader could enter an endless loop. It is not necessary to read all of the child content, or return to the original depth level.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadSiblingElements(System.Xml.XmlReader,System.Action{System.Xml.XmlReader})">
            <summary>
            <para>On the current depth level, scans through all of the elements, and calls <see cref="!:funcElem"/> for each of the same-level elements.</para>
            <para><paramref name="funcElem"/> must do at least one read operation on the <see cref="!:reader"/>, otherwise the reader could enter an endless loop. It is not necessary to read all of the element content, or return to the original depth level.</para>
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadToElementStart(System.Xml.XmlReader)">
            <summary>
            Reads up to the opening tag of an element on the same level as the current reader position. Returns whether such an element could be found.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadToElementStart(System.Xml.XmlReader,System.Int32)">
            <summary>
            Reads up to the opening tag of an element on the specified depth level. Returns whether such an element could be found.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.KeepReaderDepthCore(System.Xml.XmlReader,System.Action,System.Int32)">
            <summary>
            Impl for <see cref="M:JetBrains.Util.XmlReaderEx.KeepDepth(System.Xml.XmlReader,System.Action)"/> and <see cref="M:JetBrains.Util.XmlReaderEx.KeepParentDepth(System.Xml.XmlReader,System.Action)"/>.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadXml(System.IO.Stream,System.Action{System.Xml.XmlReader})">
            <summary>
            Creates a reader over the stream. Does not close the stream by default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadXml``1(System.IO.Stream,System.Func{System.Xml.XmlReader,``0})">
            <summary>
            Creates a reader over the stream. Does not close the stream by default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadXml(System.IO.Stream,System.Xml.XmlReaderSettings,System.Action{System.Xml.XmlReader})">
            <summary>
            Creates a reader over the stream. Does not close the stream by default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.ReadXml``1(System.IO.Stream,System.Xml.XmlReaderSettings,System.Func{System.Xml.XmlReader,``0})">
            <summary>
            Creates a reader over the stream. Does not close the stream by default.
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.AddLineColumnData(System.Xml.IXmlLineInfo,System.Exception)">
            <summary>
            Adds the current line-column of the XML parser position (if this information is available on the parser).
            </summary>
        </member>
        <member name="M:JetBrains.Util.XmlReaderEx.AddLineColumnData(System.Xml.XmlReader,System.Exception)">
            <summary>
            Adds the current line-column of the XML parser position (if this information is available on the parser).
            </summary>
        </member>
        <member name="T:JetBrains.ActivityCollector.ActivityCollector">
            <summary>
            Logs disposable activities to a temporary file (%TEMP%\ReSharper_ActivityCollector-[time-and-random-stuff].txt)
            Activity is <see cref="T:System.IDisposable"/> with name. Basic usage pattern:
            <code>
            var activity = ActivityCollector.GetEndpoint().StartActivity(new Key("activity name"))
            [do some stuff]
            activity.Dispose()
            </code>
            After dispose call thread id, activity name, start time and end time will be written to log.
            
            
            </summary>
        </member>
        <member name="T:JetBrains.UI.Anchoring">
            <summary>
            Linear anchoring constants.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.NearWithout">
            <summary>
            Left or top, anchored outside the area.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.NearWithin">
            <summary>
            Left or top, anchored inside the area.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.MiddleWithin">
            <summary>
            Center or middle, anchored inside the area. Preferably, in the center.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.FarWithin">
            <summary>
            Right or bottom, anchored inside the area.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring.FarWithout">
            <summary>
            Right or bottom, anchored outside the area.
            </summary>
        </member>
        <member name="T:JetBrains.UI.Anchoring2D">
            <summary>
            Describes the anchoring in two dimensions.
            </summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorAside">
            <summary>Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorAside"/>.</summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorBottomOrTop">
            <summary>Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorBottomOrTop"/>.</summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorLeftOrRightOnly">
            <summary>Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorLeftOrRightOnly"/>.</summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorTop">
            <summary>Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorTop"/>.</summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.myAnchorTopOrBottom">
            <summary>Backup for <see cref="P:JetBrains.UI.Anchoring2D.AnchorTopOrBottom"/>.</summary>
        </member>
        <member name="F:JetBrains.UI.Anchoring2D.Value">
            <summary>The raw value combining both vertical and horizontal anchoring.</summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.#ctor(System.Int32)">
            <summary>
            Initializes from a raw value.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.#ctor(JetBrains.UI.Anchoring,JetBrains.UI.Anchoring)">
            <summary>
            Initializes the instance.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorAside">
            <summary>
            Gets the list of anchoring to place the entity aside the anchor, preferably, left, right, then bottom and top.
            The content is centered aside the anchor.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorAsideNonCentered">
            <summary>
            Gets the list of anchoring to place the entity aside the anchor, preferably, left, right, then bottom and top.
            The content is not centered against the anchor, prefers hanging to the bottom or to the right.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorBottomOrTop">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is bottom, then top, then right and left.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorLeftOrRightOnly">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is right, then left. That's all.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorTop">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is top, sides top to bottom, then bottom.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.AnchorTopOrBottom">
            <summary>
            Gets the list of side-anchoring dispositions in descending order of preferrability.
            The preferred side is top, then bottom, then left and right.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.Horizontal">
            <summary>
            Gets or sets the hotizontal component of the anchoring.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.IsInside">
            <summary>
            Gets whether the anchoring is inside the rect against both dimensions.
            </summary>
        </member>
        <member name="P:JetBrains.UI.Anchoring2D.Vertical">
            <summary>
            Gets or sets the hotizontal component of the anchoring.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.IsFar(JetBrains.UI.Anchoring)">
            <summary>
            Checks whether the given <paramref name="anchoring"/> is one of the Far— anchorings,
            namely, <see cref="F:JetBrains.UI.Anchoring.FarWithin"/> or <see cref="F:JetBrains.UI.Anchoring.FarWithout"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.IsNear(JetBrains.UI.Anchoring)">
            <summary>
            Checks whether the given <paramref name="anchoring"/> is one of the Near— anchorings,
            namely, <see cref="F:JetBrains.UI.Anchoring.NearWithin"/> or <see cref="F:JetBrains.UI.Anchoring.NearWithout"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.ToArray">
            <summary>
            Creates an array consisting of just one item.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Anchoring2D.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.UI.ExpectedBackgroundColorHintMode">
            <summary>
            Mode how to treat ExpectedBackgroundColorHint property
            </summary>
        </member>
        <member name="F:JetBrains.UI.ExpectedBackgroundColorHintMode.Semblance">
            <summary>
            (Legacy mode) Render will tune foreground slightly to preserve original color as far as possible. 
            Use it when you need to preserve your foreground color primarily but you need to be able to read it. 
            Other words hint for the engine to just makes sure the foreground color is visible over the background color
            </summary>
        </member>
        <member name="F:JetBrains.UI.ExpectedBackgroundColorHintMode.Contrast">
            <summary>
            Render will try to obey maximum contrast. 
            Use it when you need good text experience (perception) no matter where it will render
            </summary>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.Assert(JetBrains.Interop.WinApi.HResults)">
            <summary>
            Checks the given <c>HRESULT</c>, and throws an exception if it's a failure one (<see cref="M:JetBrains.Interop.WinApi.HResultHelpers.FAILED(System.Int32)"/>).
            The comment is used in case of the failure only.
            </summary>
            <remarks>Note: located here because we do not have ExtensionAttribute in Interop.WinAPI. In there, use <see cref="M:JetBrains.Interop.WinApi.HResultHelpers.Assert(System.Int32,System.Int32[])"/>.</remarks>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.Assert(JetBrains.Interop.WinApi.HResults,System.String)">
            <summary>
            Checks the given <c>HRESULT</c>, and throws an exception if it's a failure one (<see cref="M:JetBrains.Interop.WinApi.HResultHelpers.FAILED(System.Int32)"/>).
            The comment is used in case of the failure only.
            </summary>
            <remarks>Note: located here because we do not have ExtensionAttribute in Interop.WinAPI. In there, use <see cref="M:JetBrains.Interop.WinApi.HResultHelpers.Assert(System.Int32,System.Int32[])"/>.</remarks>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.AssertSucceeded(System.Int32,System.String)">
            <summary>
            Checks the given <c>HRESULT</c>, and throws an exception if it's a failure one (<see cref="M:JetBrains.Interop.WinApi.HResultHelpers.FAILED(System.Int32)"/>).
            The comment is used in case of the failure only.
            </summary>
            <remarks>Note: located here because we do not have ExtensionAttribute in Interop.WinAPI. In there, use <see cref="M:JetBrains.Interop.WinApi.HResultHelpers.Assert(System.Int32,System.Int32[])"/>.</remarks>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.AssertSucceeded(System.UInt32,System.String)">
            <summary>
            Checks the given <c>HRESULT</c>, and throws an exception if it's a failure one (<see cref="M:JetBrains.Interop.WinApi.HResultHelpers.FAILED(System.Int32)"/>).
            The comment is used in case of the failure only.
            </summary>
            <remarks>Note: located here because we do not have ExtensionAttribute in Interop.WinAPI. In there, use <see cref="M:JetBrains.Interop.WinApi.HResultHelpers.Assert(System.Int32,System.Int32[])"/>.</remarks>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.AssertSucceeded(System.Int32)">
            <summary>
            Checks the given <c>HRESULT</c>, and throws an exception if it's a failure one (<see cref="M:JetBrains.Interop.WinApi.HResultHelpers.FAILED(System.Int32)"/>).
            The comment is used in case of the failure only.
            </summary>
            <remarks>Note: located here because we do not have ExtensionAttribute in Interop.WinAPI. In there, use <see cref="M:JetBrains.Interop.WinApi.HResultHelpers.Assert(System.Int32,System.Int32[])"/>.</remarks>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.Failed(JetBrains.Interop.WinApi.HResults)">
            <summary>
            The <c>FAILED</c> WinAPI Macro.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.Succeeded(JetBrains.Interop.WinApi.HResults)">
            <summary>
            The <c>SUCCEEDED</c> WinAPI Macro.
            </summary>
        </member>
        <member name="M:JetBrains.UI.Interop.HResultsEx.hr(System.Int32)">
            <summary>
            Applies the <see cref="M:JetBrains.UI.Interop.HResultsEx.AssertSucceeded(System.Int32,System.String)"/>.
            </summary>
            <param name="hresult"></param>
        </member>
        <member name="T:JetBrains.UI.RenderParams">
            <summary>
            Specifies rendering context for the <see cref="N:JetBrains.UI.RichText"/> and presentable item rederers.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RenderParams.myReadonly">
            <summary>
            <see cref="P:JetBrains.UI.RenderParams.Readonly"/>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RenderParams.myEmpty">
            <summary>
            <see cref="P:JetBrains.UI.RenderParams.Empty"/>, lazy-init.
            Let the defaults apply to all the static fields before we create an instance, so lazy-init on first use.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RenderParams.myDefaultTextRenderingMethod">
            <summary>
            <see cref="P:JetBrains.UI.RenderParams.DefaultTextRenderingMethod"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RenderParams.#ctor">
            <summary>
            Creates an empty instance initialized with the default values.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.FontOverride">
            <summary>
            Gets or sets a custom override for the font in which the text will be rendered.
            By default, <c>NULL</c>. This means that the renderer would use whatever font is considered default for the place it's rendered (message font, menu font, tooltip font, code font, etc etc).
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.FontStyleOverride">
            <summary>
            Gets or sets the optional override of the font style for rendering the text. If set, overrides both the style of the <see cref="P:JetBrains.UI.RenderParams.FontOverride"/> and local strings.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.NeutralForegroundColor">
            <summary>
            Gets or sets the  neutral foreground color setting. Does not override local colors, applies only to those strings whose color is set to <c>NULL</c>.
            May be <c>NULL</c>, in which case the renderer will choose the default color, most likely, <c>ControlText</c>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.NeutralBackgroundColor">
            <summary>
            Gets or sets the neutral background color setting. Does not override local colors, applies only to those strings whose color is set to <c>NULL</c>.
            May be <c>NULL</c>, in which case the renderer will choose the default color, most likely, <see cref="P:JetBrains.Util.Media.JetRgbaColors.Transparent"/>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.ExpectedBackgroundColorHint">
            <summary>
            <para>Gets or sets the hint for the expected background color under the transparently rendered rich text string.</para>
            <para>Unlike <see cref="P:JetBrains.UI.RenderParams.NeutralBackgroundColor"/> and <see cref="P:JetBrains.UI.RenderParams.OverrideBackgroundColor"/>, this color does not paint on screen as the opaque background under rich text. This is a hint for the engine which makes sure the foreground color is visible over the background color. When <see cref="P:JetBrains.UI.RenderParams.NeutralBackgroundColor"/> and <see cref="P:JetBrains.UI.RenderParams.OverrideBackgroundColor"/> are explicitly defined, they allow to adjust the foreground color as needed to be distinct. They don't apply when text has to be rendered over a transparent background (e.g. over a gradient or some image). If you know the approximate color of the background (e.g. gradient mid-color) and want the foreground color to be forced readable, but cannot set the text background to a flat value — assign the approximage color as the expected background color hint.</para>
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.ExpectedBackgroundColorHintMode">
            <summary>
            Gets or sets how to treat the hint for the expected background color
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.Trimming">
            <summary>
            Gets or sets the string trimming to be used when rendering the string.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.Mnemonics">
            <summary>
            Gets or sets the mnemonic treatment (ampersand characters) to be used when rendering the string.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.OverrideForegroundColor">
            <summary>
            Gets or sets the color that overrides the local foreground color of all the strings, unless set to <c>NULL</c>.
            Takes precedence over <see cref="P:JetBrains.UI.RenderParams.NeutralForegroundColor"/>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.OverrideBackgroundColor">
            <summary>
            Gets or sets the color that overrides the local background color of all the strings, unless set to <c>NULL</c>.
            Takes precedence over <see cref="P:JetBrains.UI.RenderParams.NeutralBackgroundColor"/>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.Effect">
            <summary>
            Gets or sets the effect style that overrides the local settings of the strings, unless set to <see cref="F:JetBrains.UI.RichText.TextStyle.EffectStyle.None"/>, in which case the local on the strings settings are used.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.EffectColor">
            <summary>
            Gets or sets the effect color that overrides the local setting on the strings, unless set to <c>NULL</c>.
            Works independently of <see cref="P:JetBrains.UI.RenderParams.Effect"/>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.TextRenderingMethod">
            <summary>
            Gets or sets a flag that defines the rendering engine to be used by text renderers.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.Empty">
            <summary>
            Gets the empty rendering parameters that do not override anything and supply the default UI font.
            This instance is read-only and cannot be modified.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.DefaultTextRenderingMethod">
            <summary>
            Gets the default text rendering method.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RenderParams.Readonly">
            <summary>
            Gets whether the instance is readonly and its fields cannot be changed.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RenderParams.DumpToXaml(System.Xml.XmlWriter)">
            <summary>
            Dumps the object state in the XAML format.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RenderParams.ResetColors">
            <summary>
            Sets all the colors to be <c>NULL</c>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RenderParams.SetReadonly">
            <summary>
            Seals the instance by setting it into the read-only mode, see <see cref="P:JetBrains.UI.RenderParams.Readonly"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RenderParams.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.UI.RichText.JetFontStyles">
            <summary>Specifies style information applied to a font represented by <see cref="T:JetBrains.Util.RichText.JetFont" />, in a framework-independent manner. Things like strikeout or underline are not directly represented by a font, but by text rendering (such as <see cref="T:JetBrains.UI.RichText.RichText" />), they cannot be mapped directly into an Avalon font, so they are not included here.</summary>
        </member>
        <member name="T:JetBrains.UI.RichText.RichString">
            <summary>
            Represents a formatted string that is a part of <see cref="P:JetBrains.UI.RichText.RichString.RichText"/>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichString.Text">
            <summary>
            Gets the text of this part.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichString.Style">
            <summary>
            Gets or sets the string style
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichString.Offset">
            <summary>
            Gets or sets the starting offset.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichString.Length">
            <summary>
            Gets or sets the length.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichString.RichText">
            <summary>
            Gets the parent text.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichString.#ctor(System.Int32,System.Int32,JetBrains.UI.RichText.TextStyle,JetBrains.UI.RichText.RichText)">
            <summary>
            Creates a new <see cref="T:JetBrains.UI.RichText.RichString"/> instance.
            </summary>
            <param name="offset">String part offset.</param>
            <param name="length">String part length.</param>
            <param name="style">The style.</param>
            <param name="richText">The parent richtext block.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="richText"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The range specified by <paramref name="offset"/>
            and <paramref name="length"/> does not fall within the parent <paramref name="richText"/> string.</exception>
        </member>
        <member name="M:JetBrains.UI.RichText.RichString.OverrideTextStyle(JetBrains.UI.RenderParams,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Overrides the local text style with those properties of the <paramref name="renderparams"/>' text style that are set to override.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichString.OverrideFontStyle(JetBrains.UI.RenderParams,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Overrides the local font style with settings from the rendering aspect.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichString.AssertValid">
            <summary>
            Checks whether the rich text substring settings are valid against the parent rich text object.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichString.Dump(System.Xml.XmlWriter)">
            <summary>
            Dumps the object.
            </summary>
        </member>
        <member name="T:JetBrains.UI.RichText.RichString.FormatFlags">
            <summary>
            Formatting flags that define the text rendering style.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichString.FormatFlags.None">
            <summary>
            No flags set.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichString.FormatFlags.EndEllipsis">
            <summary>
            Render the ellipsis character when the string gets truncated.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichString.FormatFlags.ShowMnemonics">
            <summary>
            Render the mnemonic by underlining the next character after the “&amp;” char.
            If not set, the ampersands are rendered “as is”.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichString.FormatFlags.Mask">
            <summary>
            All the flags.
            </summary>
        </member>
        <member name="T:JetBrains.UI.RichText.RichText">
            <summary>
            Represents a formatted text block (i.e., actually, sequence of <see cref="T:JetBrains.UI.RichText.RichString"/> instances).
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichText.OptionTrace">
            <summary>
            Verbose trace.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichText.myParts">
            <summary>
            Formatting for the text parts. Must not be <c>Null</c>.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichText.myRenderCache">
            <summary>
            Allows rich text renderer to cache custom data on the instance.
            Typically, this is the cached size value for the GDI+ painter.
            Plus, a hash for the <see cref="T:JetBrains.UI.RenderParams" /> and DPI for which the cache is valid.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichText.myStringBuilder">
            <summary>
            Plain text of the rich text. Must not be <c>Null</c>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.#ctor(System.String,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Creates a new rich text string.
            </summary>
            <param name="text">Text content.</param>
            <param name="style">The style to apply to the plain text.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.#ctor(System.String)">
            <summary>
            Creates a new rich text string.
            Does not apply any <see cref="T:JetBrains.UI.RichText.TextStyle"/> formatting to the plain text, uses the <see cref="P:JetBrains.UI.RichText.TextStyle.Default"/> value.
            </summary>
            <param name="text">Text content.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.#ctor">
            <summary>
            Creates a new empty non-styled rich text string.
            Same as <see cref="P:JetBrains.UI.RichText.RichText.Empty"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.#ctor(System.String,JetBrains.Util.dataStructures.FrugalLocalList{JetBrains.UI.RichText.RichString})">
            <summary>
            The internal cloning ctor.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichText.Empty">
            <summary>
            Gets an empty rich text string.
            Same as <see cref="M:JetBrains.UI.RichText.RichText.#ctor"/>
            </summary>
            <remarks>
            This cannot be made a public field, nor can it return the same instance for the sake of optimization,
            because it's not immutable and any modification will affect the subsequent uses
            </remarks>
        </member>
        <member name="P:JetBrains.UI.RichText.RichText.BackgroundColor">
            <summary>
            Returns common background color. If colors are different in different parts returns <c>NULL</c>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichText.ForegroundColor">
            <summary>
            Returns common foreground color. If colors are different in different parts returns <c>NULL</c>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichText.IsEmpty">
            <summary>
            Gets whether the string contained in this rich text is empty.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichText.Length">
            <summary>
            Gets total length of the text in characters.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichText.Text">
            <summary>
            Gets or sets the underlying text as an unformatted string.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.IsNullOrEmpty(JetBrains.UI.RichText.RichText)">
            <summary>
            Checks whether the given rich text instance is null or represents an empty string.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(System.String,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Appends a part with a custom style to the text.
            </summary>
            <param name="s">The part to add.</param>
            <param name="style">The style of the part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Insert(System.Int32,JetBrains.UI.RichText.RichText)">
            <summary>
            Inserts a string into the rich text at the specified offset. The string uses the default styles.
            </summary>
            <param name="offset">The offset at which to insert the string.</param>
            <param name="s">The string to insert.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(System.Char)">
            <summary>
            Appends a string to the text. Uses the default style.
            </summary>
            <param name="c">The character to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(System.Char,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Appends a string to the text.
            </summary>
            <param name="c">The character to add.</param>
            <param name="style">Style of the char</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(System.Char,System.Int32)">
            <summary>
            Appends the specified char specified number of times.
            </summary>
            <param name="c">The character to add several times.</param>
            <param name="repeatCount">The number of times to add the character.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.AppendLine(System.String)">
            <summary>
            Appends a string to the text, then appends a newline.
            </summary>
            <param name="s">The string to append</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.AppendLine(System.String,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Appends a string to the text with a given style, then appends a newline.
            </summary>
            <param name="s">The string to append</param>
            <param name="style">The style of the part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.AppendLine">
            <summary>
            Appends a new line to the rich text.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(System.String)">
            <summary>
            Appends a string to the text.
            Uses the default style.
            </summary>
            <param name="s">The part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.AppendWithLastStyle(System.String)">
            <summary>
            Appends a string to the text.
            Uses the style of the trailing character.
            </summary>
            <param name="s">The part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(JetBrains.UI.RichText.RichText.RichTextInterpolatedStringHandler)">
            <summary>
            Appends a interpolated string to the rich text.
            Preserves the rich text in the interpolated holes.
            Literal parts are formatted with default text style.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.AppendLine(JetBrains.UI.RichText.RichText.RichTextInterpolatedStringHandler)">
            <summary>
            Appends a interpolated string to the rich text.
            Preserves the rich text in the interpolated holes.
            Literal parts are formatted with default text style.
            Appends line break after.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Append(JetBrains.UI.RichText.RichText)">
            <summary>
            Appends some rich text to the current one.
            </summary>
            <param name="richText">The rich text to append.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Remove(System.Int32,System.Int32)">
            <summary>
            Removes range of character from the rich text and returns self
            </summary>
            <param name="start">Start offset of the range to remove</param>
            <param name="length">Length of the range to remove</param>
            <returns>Changed self</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Remove(JetBrains.Util.TextRange)">
            <summary>
            Removes range of character from the rich text and returns self
            </summary>
            <param name="textRange">Range of characters to remove</param>
            <returns>Changed self</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.AssertValid">
            <summary>
            Performs consistency checks over the rich text.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Clear">
            <summary>
            Clears the rich text string.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.DumpToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.DumpToXaml(System.Xml.XmlWriter)">
            <summary>
            Dumps the object.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.GetFormattedParts">
            <summary>
            Gets a readonly collection of the <see cref="T:JetBrains.UI.RichText.RichText"/> formatting elements.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Prepend(System.String,JetBrains.UI.RichText.TextStyle)">
            <summary>
            Prepends a part with a custom style to the text.
            </summary>
            <param name="s">The part to add.</param>
            <param name="style">The style of the part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Prepend(System.String)">
            <summary>
            Prepends a string to the text. Uses the default style.
            </summary>
            <param name="s">The part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.PrependWithFirstStyle(System.String)">
            <summary>
            Prepends a string to the text.
            Uses the style of the leading character.
            </summary>
            <param name="s">The part to add.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Prepend(JetBrains.UI.RichText.RichText)">
            <summary>
            Appends one rich text to another
            </summary>
            <param name="richText">The rich text to append</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetBackColor(JetBrains.Util.Media.JetRgbaColor,System.Int32,System.Int32)">
            <summary>
            Sets the new background color for the given range.
            Don't set background color to <see cref="P:JetBrains.Util.Media.JetRgbaColors.Transparent"/> because it would prevent painters from providing the neutral color.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetBackColor(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Sets the new background color for the whole text.
            Don't set background color to <see cref="P:JetBrains.Util.Media.JetRgbaColors.Transparent"/> because it would prevent painters from providing the neutral color.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetColors(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Sets new colors for the whole text.
            Don't set background color to <see cref="P:JetBrains.Util.Media.JetRgbaColors.Transparent"/> because it would prevent painters from providing the neutral color.
            </summary>
            <param name="foreColor">Foreground color to set.</param>
            <param name="backColor">Background color to set.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetColors(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,System.Int32,System.Int32)">
            <summary>
            Sets the new foreground and background colors for the given range.
            Don't set background color to <see cref="P:JetBrains.Util.Media.JetRgbaColors.Transparent"/> because it would prevent painters from providing the neutral color.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetForeColor(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Sets the new foreground color for the whole text.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetForeColor(JetBrains.Util.Media.JetRgbaColor,System.Int32,System.Int32)">
            <summary>
            Sets the new foreground color for the given range.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetAttributeId(System.String)">
            <summary>
            Sets the new foreground color for the whole text.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetAttributeId(System.String,System.Int32,System.Int32)">
            <summary>
            Sets the new foreground color for the given range.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetStyle(JetBrains.UI.RichText.TextStyle,System.Int32,System.Int32)">
            <summary>
            Sets new style to a specified part of the text
            </summary>
            <param name="style">The style to set</param>
            <param name="startOffset">Start offset of the block</param>
            <param name="length">Block length</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>startOffset</i> is invalid in current string</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>length</i> is invalid starting with specified <i>startOffset</i></exception>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetStyle(JetBrains.UI.RichText.JetFontStyles,System.Int32,System.Int32)">
            <summary>
            Sets new font style to a specified part of the text
            </summary>
            <param name="style">The font style to set</param>
            <param name="startOffset">Start offset of the block</param>
            <param name="length">Block length</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>startOffset</i> is invalid in current string</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>length</i> is invalid starting with specified <i>startOffset</i></exception>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetStyle(JetBrains.UI.RichText.TextStyle.EffectStyle,System.Int32,System.Int32,System.Nullable{JetBrains.Util.Media.JetRgbaColor})">
            <summary>
            Sets new effect style to a specified part of the text.
            </summary>
            <param name="effect">The effect style to set</param>
            <param name="startOffset">Start offset of the block</param>
            <param name="length">Block length</param>
            <param name="effectColor">Optionally, changes the color of the effect.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>startOffset</i> is invalid in current string</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>length</i> is invalid starting with specified <i>startOffset</i></exception>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetStyle(JetBrains.UI.RichText.TextStyle)">
            <summary>
            Applies a new <see cref="T:JetBrains.UI.RichText.TextStyle"/> (font style and colors) to the whole rich text string.
            </summary>
            <param name="style">The style to apply.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetStyle(JetBrains.UI.RichText.TextStyle.EffectStyle,JetBrains.Util.Media.JetRgbaColor,System.Int32,System.Int32)">
            <summary>
            Sets new effect to a specified part of the text
            </summary>
            <param name="effect">The effect style to set</param>
            <param name="effectColor">The effect color to set</param>
            <param name="startOffset">Start offset of the block</param>
            <param name="length">Block length</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>startOffset</i> is invalid in current string</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><i>length</i> is invalid starting with specified <i>startOffset</i></exception>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SetStyle(JetBrains.UI.RichText.TextStyle.EffectStyle,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Sets new effect to a specified part of the text
            </summary>
            <param name="effect">The effect style to set</param>
            <param name="effectColor">The effect color to set</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Split(System.Int32)">
            <summary>
            Splits rich text before the specified offset so that the first part's length is equal to the <paramref name="offset"/>.
            </summary>
            <param name="offset">The offset to split the text at.</param>
            <returns>An array consisting of the two resulting parts. The array length is always equal to <c>2</c>, even if either part is empty.</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SubRichText(System.Int32,System.Int32)">
            <summary>Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.</summary>
            <param name="start">The zero-based starting character position of a substring in this instance. </param>
            <param name="length">The number of characters in the substring. </param>
            <returns>A RichText that is equivalent to the substring of length <paramref name="length" /> that begins at <paramref name="start" /> in this instance, or <see cref="P:JetBrains.UI.RichText.RichText.Empty" />
            if <paramref name="start" /> is equal to the length of this instance and <paramref name="length" /> is zero.</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.SubRichText(System.Int32)">
            <summary>Retrieves a substring from this instance. The substring starts at a specified character position and lasts to its end.</summary>
            <param name="start">The zero-based starting character position of a substring in this instance. </param>
            <returns>A RichText that is equivalent to the substring that begins at <paramref name="start" /> in this instance, or <see cref="P:JetBrains.UI.RichText.RichText.Empty" />
            if <paramref name="start" /> is equal to the length of this instance</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Trim(System.Char[])">
            <summary>
            Trims the leading and trailing characters from the rich text string.
            Warning: a constant function, would not modify the instance!
            </summary>
            <param name="trimChars">An array of Unicode characters to remove or <c>Null</c>. </param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Trim(System.Func{System.Char,System.Boolean})">
            <summary>
            Trims the leading and trailing characters from the rich text string.
            Warning: a constant function, would not modify the instance!
            </summary>
            <param name="isTrimChar">Checks whether Unicode character needs to be removed.
            If null then <see cref="M:char.IsWhiteSpace(char)"/> is used</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.TrimEnd(System.Char[])">
            <summary>
            Trims the trailing characters from the rich text string.
            Warning: a constant function, would not modify the instance!
            </summary>
            <param name="trimChars">An array of Unicode characters to remove or <c>Null</c>. </param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.TrimEnd(System.Func{System.Char,System.Boolean})">
            <summary>
            Trims the trailing characters from the rich text string.
            Warning: a constant function, would not modify the instance!
            </summary>
            <param name="isTrimChar">Checks whether Unicode character needs to be removed.
            If null then <see cref="M:char.IsWhiteSpace(char)"/> is used</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.TrimEndInplace(System.Func{System.Char,System.Boolean})">
            <summary>
            Trims the trailing characters from the rich text string, modifying the current instance.
            Helps to avoid unnecessary allocations caused by the code patterns like
            <code>
              result = result.TrimEnd();
            </code>
            </summary>
            <param name="isTrimChar">Checks whether Unicode character needs to be removed. If null then <see cref="M:System.Char.IsWhiteSpace(System.Char)"/> is used.</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.TrimStart(System.Char[])">
            <summary>
            Trims the leading characters from the rich text string.
            Warning: a constant function, would not modify the instance!
            </summary>
            <param name="trimChars">An array of Unicode characters to remove or <c>Null</c>. </param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.TrimStart(System.Func{System.Char,System.Boolean})">
            <summary>
            Trims the leading characters from the rich text string.
            Warning: a constant function, would not modify the instance!
            </summary>
            <param name="isTrimChar">Checks whether Unicode character needs to be removed. If null then <see cref="M:char.IsWhiteSpace(char)"/> is used</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.BreakString(JetBrains.UI.RichText.RichString,System.Int32,System.Boolean)">
            <summary>
            Breaks a part into two parts at the given local offset, which is relative to the part.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Replace(System.Char,System.Char)">
            <summary>
            Replaces char a with b without formatting loose
            </summary>
            <param name="a">Char</param>
            <param name="b">Char</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Replace(System.Int32,System.Int32,System.String)">
            <summary>
            Replaces string while preserving formatting.
            Throws <seealso cref="T:System.ArgumentException"/> if replaced substring belongs to more than a single formatted part.
            </summary>
            <param name="index"></param>
            <param name="length"></param>
            <param name="text">text to replace with</param>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.GetPartsFromRangeAndSplit(System.Int32,System.Int32)">
            <summary>
            Gets the list of parts that fall within the given range.
            The rich strings on the range boundaries are split, if needed.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.ToString">
            <summary>
            Gets the underlying text as an unformatted string.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.ToStringWithPartDecoration(System.Func{JetBrains.UI.RichText.RichString,System.String})">
            <summary>
            Gets plain string representation of rich text, plus string part marks.
            </summary>
            <param name="partDecoration">Extra decoration after a part mark</param>
            <returns>String representation</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.ToDebugString">
            <summary>
            Gets plain string representation of rich text, plus string part marks.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.CompareTo(JetBrains.UI.RichText.RichText,System.StringComparison)">
            <summary>
            Rich text comparer mainly exists to enable stable-ordering rich texts.
            The main ordering property is the plain text of this item.
            Then, all possible properties of the parts are somehow considered.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.CompareTo(JetBrains.UI.RichText.RichText)">
            <summary>
            Rich text comparer mainly exists to enable stable-ordering rich texts.
            The main ordering property is the plain text of this item.
            Then, all possible properties of the parts are somehow considered.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.System#IComparable#CompareTo(System.Object)">
            <inheritdoc />
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.LegacyFormat(JetBrains.UI.RichText.RichText,JetBrains.UI.RichText.RichText[])">
            <summary>
            Like <see cref="M:System.String.Format(System.String,System.Object)"/>, but for RichText.<br/>
            NOTE: do NOT make an instance method of an ext method because RichText instance methods are mutating the object state!
            This one is pure and should thus bei n static call syntax to avoid being misguiding.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Format(System.String,System.Object[])">
            <summary>
            The version of 'string.Format' for 'RichText'. Handles 'RichText' as arguments, preserves the formatting.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichText.Format(JetBrains.UI.RichText.RichText,System.Object[])">
            <summary>
            The version of 'string.Format' for 'RichText'. Handles 'RichText' as arguments, preserves the formatting.
            </summary>
        </member>
        <member name="T:JetBrains.UI.RichText.RichText.TextRenderingMethod">
            <summary>
            Defines the possible rendering methods to be used when rendering text strings.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichText.TextRenderingMethod.GdiPlus">
            <summary>
            Use GDI+ rendering via the <see cref="T:System.Drawing.Graphics" /> class (.NET default).
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichText.TextRenderingMethod.Gdi">
            <summary>
            Use GDI rendering via the HDC device contexts and <code>User32Dll.DrawText</code> function calls.
            </summary>
        </member>
        <member name="T:JetBrains.UI.RichText.RichTextBlock">
            <summary>
            Represents a block (possibly multiline) of rich text.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlock.myLines">
            <summary>
            Lines of rich text block
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichTextBlock.Lines">
            <summary>
            Gets the rich text lines of the block.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichTextBlock.Parameters">
            <summary>
            Gets or sets the parameters.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichTextBlock.RichText">
            <summary>
            Gets or sets the rich text block as a whole rich text fragment.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.RichTextBlock.Text">
            <summary>
            Gets or sets the plaintext representation of the rich text block.
            The setter creates a number of unformatted rich text lines.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextBlock.DumpToXaml(System.Xml.XmlWriter)">
            <summary>
            Dumps the object.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextBlock.ToStringWithPartDecoration(System.Func{JetBrains.UI.RichText.RichString,System.String})">
            <summary>
            Gets plain string representation of rich text, plus string part marks.
            </summary>
            <param name="partDecoration">Optional extra decoration after a part mark</param>
            <returns>String representation</returns>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextBlock.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.UI.RichText.RichTextBlockParameters">
            <summary>
            Structure for setting parameters for rich text blocks
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextBlockParameters.#ctor(System.Int32,JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment)">
            <summary>
            Structure for setting parameters for rich text blocks
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextBlockParameters.DumpToXaml(System.Xml.XmlWriter)">
            <summary>
            Dumps the object.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextBlockParameters.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="T:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment">
            <summary>
            Similar to WinForms' <c>ContentAlignment</c>, but without depending on WinForms DLLs.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.TopLeft">
            <summary>Content is vertically aligned at the top, and horizontally aligned on the left.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.TopCenter">
            <summary>Content is vertically aligned at the top, and horizontally aligned at the center.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.TopRight">
            <summary>Content is vertically aligned at the top, and horizontally aligned on the right.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.MiddleLeft">
            <summary>Content is vertically aligned in the middle, and horizontally aligned on the left.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.MiddleCenter">
            <summary>Content is vertically aligned in the middle, and horizontally aligned at the center.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.MiddleRight">
            <summary>Content is vertically aligned in the middle, and horizontally aligned on the right.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.BottomLeft">
            <summary>Content is vertically aligned at the bottom, and horizontally aligned on the left.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.BottomCenter">
            <summary>Content is vertically aligned at the bottom, and horizontally aligned at the center.</summary>
        </member>
        <member name="F:JetBrains.UI.RichText.RichTextBlockParameters.ContentAlignment.BottomRight">
            <summary>Content is vertically aligned at the bottom, and horizontally aligned on the right.</summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextEx.IsNullOrEmpty(JetBrains.UI.RichText.RichText)">
            <summary>
            Gets whether the rich text object is empty (<c>Null</c> or has no text).
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.RichTextEx.IsNullOrEmpty(JetBrains.UI.RichText.RichTextBlock)">
            <summary>
            Gets whether the rich text object is empty (<c>Null</c> or has no text).
            </summary>
        </member>
        <member name="T:JetBrains.UI.RichText.TextStyle">
            <summary>
            Represents style of text block
            </summary>
        </member>
        <member name="T:JetBrains.UI.RichText.TextStyle.EffectStyle">
            <summary>
            Enumerates different text drawing effects
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.EffectStyle.None">
            <summary>
            No effects.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.EffectStyle.StraightUnderline">
            <summary>
            Underline with a straight line.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.EffectStyle.WeavyUnderline">
            <summary>
            Underline with a gay line.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.EffectStyle.StrikeOut">
            <summary>
            Strike out with a straight line.
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.myFontStyle">
            <summary>
            Font style
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.myForegroundColor">
            <summary>
            Foreground color
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.myBackgroundColor">
            <summary>
            Background color
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.myEffect">
            <summary>
            Effect to use
            </summary>
        </member>
        <member name="F:JetBrains.UI.RichText.TextStyle.myEffectColor">
            <summary>
            Effect color
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.#ctor(JetBrains.UI.RichText.JetFontStyles,JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Defines a text style.
            </summary>
            <remarks>
            This constructor defines style with no effects.
            </remarks>
            <param name="fontStyle">The font style to use</param>
            <param name="foregroundColor">Foreground color</param>
            <param name="backgroundColor">Background color</param>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.#ctor(JetBrains.UI.RichText.JetFontStyles,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Defines a text style.
            </summary>
            <remarks>
            This constructor defines style with no effects.
            </remarks>
            <param name="fontStyle">The font style to use</param>
            <param name="foregroundColor">Foreground color</param>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.#ctor(JetBrains.UI.RichText.JetFontStyles,JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor,JetBrains.UI.RichText.TextStyle.EffectStyle,JetBrains.Util.Media.JetRgbaColor,System.String)">
            <summary>
            Defines a text style.
            </summary>
            <param name="fontStyle">The font style to use</param>
            <param name="foregroundColor">Foreground color</param>
            <param name="backgroundColor">Background color</param>
            <param name="effect">Effect to use</param>
            <param name="effectColor">Effect color to use</param>
            <param name="attributeId">R# highlighting attribute id</param>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.#ctor(JetBrains.Util.Media.JetRgbaColor,JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Defines a text style.
            </summary>
            <remarks>
            This constructor defines style with no effects and regular style of the text.
            </remarks>
            <param name="foregroundColor">Foreground color</param>
            <param name="backgroundColor">Background color</param>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.#ctor(System.String)">
            <summary>
            Defines a text style that has no properties except AttributeId
            </summary>
            <param name="attributeId">The R# attribute id that can later be used to determine other properties</param>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.FromBackColor(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Creates a style that has only background color specified.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.FromForeColor(JetBrains.Util.Media.JetRgbaColor)">
            <summary>
            Creates a style that has only foreground color specified.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.FontStyle">
            <summary>
            Gets or sets font style
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.ForegroundColor">
            <summary>
            Gets or sets the foreground color.
            <c>NULL</c> means “Don't care, renderer should specify, if not, use <see cref="P:JetBrains.UI.RichText.TextStyle.DefaultForegroundColor"/>”.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.BackgroundColor">
            <summary>
            Gets or sets the background color.
            <c>NULL</c> means “Don't care, renderer should specify, if not, use <see cref="P:JetBrains.UI.RichText.TextStyle.DefaultBackgroundColor"/>”.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.Effect">
            <summary>
            Gets or sets used effect
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.EffectColor">
            <summary>
            Gets or sets the effect color.
            <c>NULL</c> means the <see cref="P:JetBrains.UI.RichText.TextStyle.ForegroundColor"/> will be used.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.AttributeId">
            <summary>
            R# attribute id that can be used to determine other properties of the style
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.Default">
            <summary>
            Gets the default text style.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.Hidden">
            <summary>
            Gets the hidden text style.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.DefaultForegroundColor">
            <summary>
            See <see cref="P:JetBrains.UI.RichText.TextStyle.ForegroundColor"/>.
            </summary>
        </member>
        <member name="P:JetBrains.UI.RichText.TextStyle.DefaultBackgroundColor">
            <summary>
            See <see cref="P:JetBrains.UI.RichText.TextStyle.BackgroundColor"/>.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.Dump(System.Xml.XmlWriter)">
            <summary>
            Dumps the object.
            </summary>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.ToString">
            <summary>
            Returns a <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </summary>
            <returns>
            A <see cref="T:System.String"></see> that represents the current <see cref="T:System.Object"></see>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.UI.RichText.TextStyle.System#IComparable{JetBrains#UI#RichText#TextStyle}#CompareTo(JetBrains.UI.RichText.TextStyle)">
            <summary>
            Mostly for stable sorting the owning object.
            </summary>
        </member>
        <member name="T:JetBrains.Application.Progress.CombinedProgressIndicator">
            <summary>
              Progress indicator that combined multiple indicators
            </summary>
        </member>
        <member name="T:JetBrains.Application.Progress.LiveCombinedProgressIndicator">
            <summary>
              Progress indicator that combined multiple indicators and support live add/remove indicator
            </summary>
        </member>
        <member name="F:JetBrains.Application.platforms.FrameworkIdentifier.NetCore">
            <summary>
            .net core for windows 8 and 8.1
            </summary>
        </member>
        <member name="F:JetBrains.Application.platforms.FrameworkIdentifier.NetCoreApp">
            <summary>
            The main framework identifier for .NET Core applications
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsInUtilEx.OrderByLive``1(JetBrains.DataFlow.IReadonlyCollectionEvents{``0},JetBrains.Lifetimes.Lifetime,System.Collections.Generic.IComparer{``0},System.Func{``0,System.Boolean},System.Boolean)">
            <summary>
            Returns an ordered representation of the collection, the order defined by the <paramref name="comparer"/>.
            </summary>
            <typeparam name="TItem">Item type.</typeparam>
            <param name="this">Collection of items without any order implied.</param>
            <param name="lifetime">Time to work.</param>
            <param name="comparer">Comparer setting up the order.</param>
            <param name="filter">Filtering function.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors"/>, an exception is thrown). If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ICollectionEventsInUtilEx.LiveFilter``1(JetBrains.DataFlow.IListEvents{``0},JetBrains.Lifetimes.Lifetime,System.Func{``0,JetBrains.DataFlow.IProperty{System.Boolean}},JetBrains.DataFlow.ListEvents{``0})">
            <summary>
            Use it to filter small-sized list events when filter condition is live (IProperty)
            WARNING!!! Horribly ineffective, rewrite it to use on big lists
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ListEvents`1">
            <summary>
            A list that fires events when items are added or removed.
            </summary>
            <typeparam name="TValue">List values type.</typeparam>
            <remarks>
            <see cref="T:System.Collections.IList"/> (yes, nongeneric) was added to support WPF scenarios eg XAML [de]serialization.
            <see cref="T:System.Windows.Markup.IAddChild"/> is also here for WPF support.</remarks>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.PropertyId{`0},System.Collections.Generic.IList{`0},System.Boolean,JetBrains.Util.ILogger)">
            <summary>
              <para>The universal constructor.</para>
              <para>Constructs the list over some list-like backing storage.</para>
              <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="id">
              <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
              <para>If callstack annotation is on, will appear on callstacks when collection is modified.
            Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed
            (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors" />, an exception is thrown).
            If <c>False</c>, the duplicate item is just added to the list.</param>
            <param name="logger">Logging facility optional override.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.Lifetimes.Lifetime,JetBrains.DataFlow.PropertyId{`0},System.Collections.Generic.IList{`0},System.Boolean,JetBrains.Util.ILogger)">
            <summary>Use overloads without lifetime.</summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.PropertyId{`0},System.Collections.Generic.IList{`0},System.Boolean)">
            <summary>
            <para>Constructs the list over some list-like backing storage.</para>
            <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified.
            Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed
            (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors" />, an exception is thrown).
            If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(System.String,System.Collections.Generic.IList{`0},System.Boolean)">
            <summary>
            <para>Constructs the list over some list-like backing storage.</para>
            <para>Specifies whether items in the list must be unique (note: this option is performance-costly).</para>
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified.
            Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="storage">The underlying collection, all the operations will be relayed to it.</param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed
            (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors" />, an exception is thrown).
            If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.Lifetimes.Lifetime,System.String,System.Collections.Generic.IList{`0},System.Boolean)">
            <summary>Use overloads without lifetime.</summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(System.String)">
            <summary>
            Creates a new list that does not allow duplicate items, with a simple list storage inside.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified.
            Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.Lifetimes.Lifetime,System.String)">
            <summary>Use overloads without lifetime.</summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(System.String,System.Boolean)">
            <summary>
            Creates a new list with a simple list storage inside.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified.
            Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed
            (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors" />, an exception is thrown).
            If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.DataFlow.PropertyId{`0},System.Boolean)">
            <summary>
            Creates a new list with a simple list storage inside.
            </summary>
            <param name="id">
            <para>An unique identifier for the list, to tell it apart in data flow chains.</para>
            <para>If callstack annotation is on, will appear on callstacks when collection is modified.
            Thus, only compile-time-defined values should be used, to avoid spawning too many dynamic methods at runtime.</para>
            </param>
            <param name="bUniqueItems">If <c>True</c>, adding an item that is already present in the list is not allowed
            (unless <see cref="P:JetBrains.DataFlow.CollectionEvents`1.SuppressItemErrors" />, an exception is thrown).
            If <c>False</c>, the duplicate item is just added to the list.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.#ctor(JetBrains.Lifetimes.Lifetime,System.String,System.Boolean)">
            <summary>Use overloads without lifetime.</summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Create(System.String)">
            <summary>
            Creates a new list that allows duplicate items, with a simple <see cref="T:System.Collections.Generic.List`1"/> storage inside.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.CreateWithUniqueItems(System.String)">
            <summary>
            Creates a new list that does not allow duplicate items, with a <see cref="T:JetBrains.Util.OrderedHashSet`1"/> storage inside.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.FireAddRemove(JetBrains.Collections.Viewable.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.ListEvents`1.AddRemove"/> event.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.FireBeforeAddRemove(JetBrains.Collections.Viewable.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            Fires the <see cref="P:JetBrains.DataFlow.ListEvents`1.BeforeAddRemove"/> event.
            Returns whether the operation has been cancelled.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.ListAddCore(`0,System.Int32,System.Object)">
            <summary>
            One of the core methods that implement the actual List functionality.
            DO NOT call from collection impl because to enable Call Stack Annotation all calls to this method
            MUST go thru <see cref="M:JetBrains.DataFlow.ListEvents`1.Insert(System.Int32,`0,System.Object)" />.
            </summary>
            <param name="value"></param>
            <param name="nIndexOrEnd">Either a real index (which is not thread-safe unless it's <c>0</c>),
            or <c>-1</c> which means “add to end” and is a special case for the thread-safe <see cref="M:System.Collections.IList.Add(System.Object)"/> method.</param>
            <param name="cookie"></param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.ListRemoveCore(System.Int32,System.Object)">
            <summary>
            One of the core methods that implement the actual List functionality.
            DO NOT call from collection impl because to enable Call Stack Annotation all calls to this method
            MUST go thru <see cref="M:JetBrains.DataFlow.ListEvents`1.RemoveAt(System.Int32,System.Object)" />.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkAddRemove_Add(System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{`0}})">
            <summary>
            Acknowledges the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkAddRemove_Remove(System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{`0}})">
            <summary>
            Acknowledges the handler.
            Cannot be merged with <see cref="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkAddRemove_Add(System.Action{JetBrains.DataFlow.AddRemoveIndexEventArgs{`0}})"/> because the iteration should go in the reverse order.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.OnAcknowledgeSinkBeforeAddRemove(System.Action{JetBrains.DataFlow.BeforeAddRemoveIndexEventArgs{`0}})">
            <summary>
            Called when someone attempts to sink the <see cref="P:JetBrains.DataFlow.ListEvents`1.BeforeAddRemove"/> signal. Acknowledges the handler.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.CollectionRemoveCore(`0,System.Object)">
            <summary>
            One of the core methods that implement the actual functionality.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListEvents`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>The element at the specified index.</returns>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
            <exception cref="T:System.NotSupportedException">
            The property is set and the <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.IndexOf(`0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"></see>.
            </summary>
            <returns>
            The index of item if found in the list; otherwise, -1.
            </returns>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Insert(System.Int32,`0)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"></see> at the specified index.
            </summary>
            
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"></see>.</param>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Insert(System.Int32,`0,System.Object)">
            <summary>
            Attempts to insert an item to the list at the specified index.
            </summary>
            <param name="item">The object to insert into the list.</param>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the item was added to the collection. An addition can be cancelled by the duplicates merger or the before-added handlers.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Modify(JetBrains.Collections.Viewable.AddRemove,`0,System.Int32,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections, when <see cref="!:ICollectionEvents&lt;TValue&gt;.AddRemove" /> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="item">The item to add or remove.</param>
            <param name="index">The index at which the modification should occur.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.Modify(JetBrains.Collections.Viewable.AddRemove,System.Func{`0},System.Int32,System.Object)">
            <summary>
            A universal method for modifications on the collection. Useful for data flow between the collections,
            when <see cref="P:JetBrains.DataFlow.ListEvents`1.AddRemove"/> signal handler is pumping into another collection.
            </summary>
            <param name="action">Whether to add or remove the item.</param>
            <param name="funcGetItemIfAdding">A function that is called only when doing
            the <see cref="F:JetBrains.Collections.Viewable.AddRemove.Add"/> operation and produces the new item to be added to the list.
            This allows to create a new item when pumping from one collection to another with creating the wrappers simultaneously.</param>
            <param name="index">The index at which the modification should occur.</param>
            <param name="cookie">The optional modification cookie.</param>
            <returns>Success code.</returns>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:System.Collections.Generic.IList`1"></see> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:System.Collections.Generic.IList`1"></see> is read-only.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            index is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"></see>.</exception>
        </member>
        <member name="M:JetBrains.DataFlow.ListEvents`1.RemoveAt(System.Int32,System.Object)">
            <summary>
            Attempts to remove an item at the specified index from the list.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <param name="cookie">An optional cookie that comes along with the notification events data.</param>
            <returns>Whether the item was removed from the collection.
            A removal may fail either if the item is missing from the collection,
            or the before-removed handlers have cancelled the operation.</returns>
        </member>
        <member name="P:JetBrains.DataFlow.ListEvents`1.AddRemove">
            <summary>
            Fires when an item is added or removed to your view on the collection.
            Throwing an exception does not prevent the item from being added or other handlers from being called.
            The event supports acknowledgement, which means that when you sink the event,
            all the items currently in collection come into your view on the collection,
            so the add is fired for each. Similarly, remove is fired when you unsink
            and all the elements go away from your view on the collection.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.ListEvents`1.BeforeAddRemove">
            <summary>
            Fires before an item is added or removed.
            To prevent the add/remove operation, set <see cref="P:JetBrains.DataFlow.BeforeAddRemoveEventArgs`1.Cancel"/>
            to <c>True</c> (decline the operation silently) or throw an exception (the exception is let out to the caller).
            After the first handler to cancel the operation, the remaining handlers may not be called.
            No <see cref="!:ICollectionEvents&lt;TValue&gt;.AddRemove"/> are guaranteed to be executed if the operation is cancelled.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.ListEvents`1.Csa">
            <summary>
            Call Stack Annotation helpers.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.PropertyChangedEventArgs`2">
            <summary>
            When something changes, presents the details about the change.
            </summary>
            <typeparam name="TIdentity">The identity of the item that changes.</typeparam>
            <typeparam name="TValue">The old and new values for the item.</typeparam>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`2.Identity">
            <summary>
            Gets the name of the entity that has changed, eg property name.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`2.New">
            <summary>
            Gets the new value.
            </summary>
        </member>
        <member name="P:JetBrains.DataFlow.PropertyChangedEventArgs`2.Old">
            <summary>
            Gets the old value.
            </summary>
        </member>
        <member name="T:JetBrains.DataFlow.RegistryValueProperty">
            <summary>
            Creates <see cref="T:JetBrains.DataFlow.IProperty`1"/> that passively reflect the Registry values. Note that currently they do not track Registry changes.
            </summary>
        </member>
        <member name="M:JetBrains.DataFlow.RegistryValueProperty.CreatePassive``1(JetBrains.Lifetimes.Lifetime,Microsoft.Win32.RegistryKey,System.String,System.String,``0)">
            <summary>
            Creates a property that's passively mirrored into Registry (does not listen to Registry changes).
            Note that the Registry key is not kept open between the read/write sessions.
            </summary>
            <typeparam name="TValue">Value type.</typeparam>
            <param name="keyRoot">The root key, eg <see cref="F:Microsoft.Win32.Registry.ClassesRoot"/>.</param>
            <param name="sKeyPath">The relative path from the root key to the key that contains the data we're binding to.</param>
            <param name="sDataName">Name of the data. Null for the default value of the key.</param>
            <param name="defvalue">Default value for the data when reading it from Registry initially, in case it's missing.</param>
        </member>
        <member name="T:JetBrains.DataStructures.CyclicBuffer">
            <summary>
            A cyclic buffer, like a queue for bytes, but optimized for byte block operations. For reading and writing, use the provided <see cref="T:System.IO.Stream"/> interface.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer._end">
            <summary>
            End of used data range in <see cref="F:JetBrains.DataStructures.CyclicBuffer._storage"/>, non-inclusive (points after the last used byte, might be equal to storage length). Might be below <see cref="F:JetBrains.DataStructures.CyclicBuffer._start"/>, in which case the data loops around the buffer end.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer._start">
            <summary>
            Starts of used data range in <see cref="F:JetBrains.DataStructures.CyclicBuffer._storage"/>.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer._storage">
            <summary>
            The cyclic storage.
            </summary>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Capacity">
            <summary>
            Gets or sets the capacity of the buffer storage, which is the maximum <see cref="P:JetBrains.DataStructures.CyclicBuffer.Count"/> it can hold without growing, which growing could be prohibited by setting the <see cref="P:JetBrains.DataStructures.CyclicBuffer.Input"/> <see cref="P:JetBrains.DataStructures.CyclicBuffer.InputStream.Behavior"/>.
            </summary>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Input">
            <summary>
            Gets the stream for writing to the buffer.
            </summary>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Output">
            <summary>
            Gets the stream for reading from the buffer.
            </summary>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.ReadCore(System.Byte[],System.Int32,System.Int32,JetBrains.DataStructures.CyclicBuffer.OutputStream.BehaviorFlags,System.Boolean)">
            <summary>
            Implements reading from the stream (and also peeking at the data without spending the stored bytes).
            </summary>
            <param name="arTarget">Target for reading (as in <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nTargetOffset">Target for reading (as in <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nTargetCount">Target for reading (as in <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="behavior">Behavior when running out of buffer.</param>
            <param name="bAdvanceReadPosition">Spend the read bytes and decrease the number of bytes available in the storage. If <c>False</c>, just peeks at the stored data without modifying the storage.</param>
            <returns>The number of bytes actually read.</returns>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.WriteCore(System.Byte[],System.Int32,System.Int32,JetBrains.DataStructures.CyclicBuffer.InputStream.BehaviorFlags)">
            <summary>
            Implements writing to the stream.
            </summary>
            <param name="arSource">Source for writing (as in <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nSourceOffset">Source for writing (as in <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="nSourceCount">Source for writing (as in <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>).</param>
            <param name="behavior">Behavior when running out of buffer.</param>
            <returns>The number of bytes actually written.</returns>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Add(System.Byte)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. </exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Contains(System.Byte)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1" /> contains a specific value.
            </summary>
            <returns>
            true if <paramref name="item" /> is found in the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false.
            </returns>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.CopyTo(System.Byte[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array" /> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex" /> is less than 0.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="array" /> is multidimensional.-or-<paramref name="arrayIndex" /> is equal to or greater than the length of <paramref name="array" />.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1" /> is greater than the available space from <paramref name="arrayIndex" /> to the end of the destination <paramref name="array" />.-or-Type <c>T</c> cannot be cast automatically to the type of the destination <paramref name="array" />.</exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.Remove(System.Byte)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <returns>
            true if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, false. This method also returns false if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</exception>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator" /> object that can be used to iterate through the collection.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1" />.
            </returns>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
            </summary>
            <returns>
            true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.
            </returns>
        </member>
        <member name="T:JetBrains.DataStructures.CyclicBuffer.InputStream">
            <summary>
            <see cref="T:System.IO.Stream"/> for the <see cref="P:JetBrains.DataStructures.CyclicBuffer.Input"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Flush">
            <summary>
            When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
            </summary>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
            </summary>
            <returns>
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            </returns>
            <param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values between <paramref name="offset" /> and (<paramref name="offset" /> + <paramref name="count" /> - 1) replaced by the bytes read from the current source. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream. </param>
            <param name="count">The maximum number of bytes to be read from the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support reading. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            When overridden in a derived class, sets the position within the current stream.
            </summary>
            <returns>
            The new position within the current stream.
            </returns>
            <param name="offset">A byte offset relative to the <paramref name="origin" /> parameter. </param>
            <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new position. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.SetLength(System.Int64)">
            <summary>
            When overridden in a derived class, sets the length of the current stream.
            </summary>
            <param name="value">The desired length of the current stream in bytes. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.InputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream. </param>
            <param name="count">The number of bytes to be written to the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.CanRead">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports reading.
            </summary>
            <returns>
            true if the stream supports reading; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.CanSeek">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
            </summary>
            <returns>
            true if the stream supports seeking; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.CanWrite">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports writing.
            </summary>
            <returns>
            true if the stream supports writing; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.Length">
            <summary>
            When overridden in a derived class, gets the length in bytes of the stream.
            </summary>
            <returns>
            A long value representing the length of the stream in bytes.
            </returns>
            <exception cref="T:System.NotSupportedException">A class derived from Stream does not support seeking. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.InputStream.Position">
            <summary>
            When overridden in a derived class, gets or sets the position within the current stream.
            </summary>
            <returns>
            The current position within the stream.
            </returns>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer.InputStream.BehaviorFlags.WhenFullGrow">
            <summary>
            When there is no more room for writing, grows the storage.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer.InputStream.BehaviorFlags.WhenFullThrow">
            <summary>
            When there is no more room for writing, throws an exception.
            </summary>
        </member>
        <member name="T:JetBrains.DataStructures.CyclicBuffer.OutputStream">
            <summary>
            <see cref="T:System.IO.Stream"/> for the <see cref="P:JetBrains.DataStructures.CyclicBuffer.Output"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Flush">
            <summary>
            When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device.
            </summary>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
            </summary>
            <returns>
            The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached.
            </returns>
            <param name="buffer">An array of bytes. When this method returns, the buffer contains the specified byte array with the values between <paramref name="offset" /> and (<paramref name="offset" /> + <paramref name="count" /> - 1) replaced by the bytes read from the current source. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin storing the data read from the current stream. </param>
            <param name="count">The maximum number of bytes to be read from the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is larger than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support reading. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            When overridden in a derived class, sets the position within the current stream.
            </summary>
            <returns>
            The new position within the current stream.
            </returns>
            <param name="offset">A byte offset relative to the <paramref name="origin" /> parameter. </param>
            <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin" /> indicating the reference point used to obtain the new position. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.SetLength(System.Int64)">
            <summary>
            When overridden in a derived class, sets the length of the current stream.
            </summary>
            <param name="value">The desired length of the current stream in bytes. </param>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DataStructures.CyclicBuffer.OutputStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">An array of bytes. This method copies <paramref name="count" /> bytes from <paramref name="buffer" /> to the current stream. </param>
            <param name="offset">The zero-based byte offset in <paramref name="buffer" /> at which to begin copying bytes to the current stream. </param>
            <param name="count">The number of bytes to be written to the current stream. </param>
            <exception cref="T:System.ArgumentException">The sum of <paramref name="offset" /> and <paramref name="count" /> is greater than the buffer length. </exception>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer" /> is null. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset" /> or <paramref name="count" /> is negative. </exception>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support writing. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.CanRead">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports reading.
            </summary>
            <returns>
            true if the stream supports reading; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.CanSeek">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports seeking.
            </summary>
            <returns>
            true if the stream supports seeking; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.CanWrite">
            <summary>
            When overridden in a derived class, gets a value indicating whether the current stream supports writing.
            </summary>
            <returns>
            true if the stream supports writing; otherwise, false.
            </returns>
            <filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.Length">
            <summary>
            When overridden in a derived class, gets the length in bytes of the stream.
            </summary>
            <returns>
            A long value representing the length of the stream in bytes.
            </returns>
            <exception cref="T:System.NotSupportedException">A class derived from Stream does not support seeking. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="P:JetBrains.DataStructures.CyclicBuffer.OutputStream.Position">
            <summary>
            When overridden in a derived class, gets or sets the position within the current stream.
            </summary>
            <returns>
            The current position within the stream.
            </returns>
            <exception cref="T:System.IO.IOException">An I/O error occurs. </exception>
            <exception cref="T:System.NotSupportedException">The stream does not support seeking. </exception>
            <exception cref="T:System.ObjectDisposedException">Methods were called after the stream was closed. </exception><filterpriority>1</filterpriority>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer.OutputStream.BehaviorFlags.WhenEmptyReadLess">
            <summary>
            When there are no more bytes to read, returns the reduced read-bytes count.
            </summary>
        </member>
        <member name="F:JetBrains.DataStructures.CyclicBuffer.OutputStream.BehaviorFlags.WhenEmptyThrow">
            <summary>
            When there are no more bytes to read, throws an exception.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.SetupConfigurationClass">
            <summary>
            Class that implements <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration" />.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.SetupConfiguration">
            <summary>
            The implementation of <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2" />.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference">
            <summary>A reference to a package.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetId">
            <summary>Gets the general package identifier.</summary>
            <returns>The general package identifier.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetVersion">
            <summary>Gets the version of the package.</summary>
            <returns>The version of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetChip">
            <summary>Gets the target process architecture of the package.</summary>
            <returns>The target process architecture of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetLanguage">
            <summary>Gets the language and optional region identifier.</summary>
            <returns>The language and optional region identifier.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetBranch">
            <summary>Gets the build branch of the package.</summary>
            <returns>The build branch of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetType">
            <summary>Gets the type of the package.</summary>
            <returns>The type of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetUniqueId">
            <summary>
            Gets the unique identifier consisting of all defined tokens.
            </summary>
            <returns>The unique identifier consisting of all defined tokens.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference.GetIsExtension">
            <summary>
            Gets a value indicating whether the package refers to an external extension.
            </summary>
            <returns>A value indicating whether the package refers to an external extension.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2">
            <summary>Information about an instance of a product.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetInstanceId">
            <summary>
            Gets the instance identifier (should match the name of the parent instance directory).
            </summary>
            <returns>The instance identifier.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetInstallDate">
            <summary>
            Gets the local date and time when the installation was originally installed.
            </summary>
            <returns>The local date and time when the installation was originally installed.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetInstallationName">
            <summary>
            Gets the unique name of the installation, often indicating the branch and other information used for telemetry.
            </summary>
            <returns>The unique name of the installation, often indicating the branch and other information used for telemetry.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetInstallationPath">
            <summary>
            Gets the path to the installation root of the product.
            </summary>
            <returns>The path to the installation root of the product.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetInstallationVersion">
            <summary>
            Gets the version of the product installed in this instance.
            </summary>
            <returns>The version of the product installed in this instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetDisplayName(System.Int32)">
            <summary>
            Gets the display name (title) of the product installed in this instance.
            </summary>
            <param name="lcid">The LCID for the display name.</param>
            <returns>The display name (title) of the product installed in this instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetDescription(System.Int32)">
            <summary>
            Gets the description of the product installed in this instance.
            </summary>
            <param name="lcid">The LCID for the description.</param>
            <returns>The description of the product installed in this instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.ResolvePath(System.String)">
            <summary>
            Resolves the optional relative path to the root path of the instance.
            </summary>
            <param name="pwszRelativePath">A relative path within the instance to resolve, or NULL to get the root path.</param>
            <returns>The full path to the optional relative path within the instance. If the relative path is NULL, the root path will always terminate in a backslash.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetState">
            <summary>Gets the state of the instance.</summary>
            <returns>The state of the instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetPackages">
            <summary>
            Gets an array of package references registered to the instance.
            </summary>
            <returns>An array of package references registered to the instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetProduct">
            <summary>
            Gets a package reference to the product registered to the instance
            </summary>
            <returns>A package reference to the product registered to the instance. This may be null if <see cref="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetState" /> does not return <see cref="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.Complete" />.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetProductPath">
            <summary>
            Gets the relative path to the product application, if available.
            </summary>
            <returns>The relative path to the product application, if available.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetErrors">
            <summary>Gets the error state of the instance, if available.</summary>
            <returns>The error state of the instance, if available.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.IsLaunchable">
            <summary>
            Gets a value indicating whether the instance can be launched.
            </summary>
            <returns>Whether the instance can be launched.</returns>
            <remarks>
            An instance could have had errors during install but still be launched. Some features may not work correctly, but others will.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.IsComplete">
            <summary>
            Gets a value indicating whether the instance is complete.
            </summary>
            <returns>Whether the instance is complete.</returns>
            <remarks>
            An instance is complete if it had no errors during install, resume, or repair.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetProperties">
            <summary>Gets product-specific properties.</summary>
            <returns>An <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupPropertyStore" /> of product-specific properties, or null if no properties are defined.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2.GetEnginePath">
            <summary>
            Gets the directory path to the setup engine that installed the instance.
            </summary>
            <returns>The directory path to the setup engine that installed the instance.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance">
            <summary>Information about an instance of a product.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetInstanceId">
            <summary>
            Gets the instance identifier (should match the name of the parent instance directory).
            </summary>
            <returns>The instance identifier.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetInstallDate">
            <summary>
            Gets the local date and time when the installation was originally installed.
            </summary>
            <returns>The local date and time when the installation was originally installed.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetInstallationName">
            <summary>
            Gets the unique name of the installation, often indicating the branch and other information used for telemetry.
            </summary>
            <returns>The unique name of the installation, often indicating the branch and other information used for telemetry.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetInstallationPath">
            <summary>
            Gets the path to the installation root of the product.
            </summary>
            <returns>The path to the installation root of the product.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetInstallationVersion">
            <summary>
            Gets the version of the product installed in this instance.
            </summary>
            <returns>The version of the product installed in this instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetDisplayName(System.Int32)">
            <summary>
            Gets the display name (title) of the product installed in this instance.
            </summary>
            <param name="lcid">The LCID for the display name.</param>
            <returns>The display name (title) of the product installed in this instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.GetDescription(System.Int32)">
            <summary>
            Gets the description of the product installed in this instance.
            </summary>
            <param name="lcid">The LCID for the description.</param>
            <returns>The description of the product installed in this instance.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance.ResolvePath(System.String)">
            <summary>
            Resolves the optional relative path to the root path of the instance.
            </summary>
            <param name="pwszRelativePath">A relative path within the instance to resolve, or NULL to get the root path.</param>
            <returns>The full path to the optional relative path within the instance. If the relative path is NULL, the root path will always terminate in a backslash.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupHelper">
            <summary>Helper functions.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupHelper.ParseVersion(System.String)">
            <summary>
            Parses a dotted quad version string into a 64-bit unsigned integer.
            </summary>
            <param name="version">The dotted quad version string to parse, e.g. 1.2.3.4.</param>
            <returns>A 64-bit unsigned integer representing the version. You can compare this to other versions.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupHelper.ParseVersionRange(System.String,System.UInt64@,System.UInt64@)">
            <summary>
            Parses a dotted quad version string into a 64-bit unsigned integer.
            </summary>
            <param name="versionRange">The string containing 1 or 2 dotted quad version strings to parse, e.g. [1.0,) that means 1.0.0.0 or newer.</param>
            <param name="minVersion">A 64-bit unsigned integer representing the minimum version, which may be 0. You can compare this to other versions.</param>
            <param name="maxVersion">A 64-bit unsigned integer representing the maximum version, which may be MAXULONGLONG. You can compare this to other versions.</param>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2">
            <summary>
            Gets information about product instances set up on the machine.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2.EnumInstances">
            <summary>Enumerates all completed product instances installed.</summary>
            <returns>An enumeration of installed product instances.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2.GetInstanceForCurrentProcess">
            <summary>Gets the instance for the current process path.</summary>
            <returns>The instance for the current process path.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2.GetInstanceForPath(System.String)">
            <summary>Gets the instance for the given path.</summary>
            <param name="path">Path used to determine instance</param>
            <returns>The instance for the given path.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration2.EnumAllInstances">
            <summary>Enumerates all product instances.</summary>
            <returns>An enumeration of all product instances.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration">
            <summary>
            Gets information about product instances set up on the machine.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration.EnumInstances">
            <summary>Enumerates all product instances installed.</summary>
            <returns>An enumeration of installed product instances.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration.GetInstanceForCurrentProcess">
            <summary>Gets the instance for the current process path.</summary>
            <returns>The instance for the current process path.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupConfiguration.GetInstanceForPath(System.String)">
            <summary>Gets the instance for the given path.</summary>
            <param name="path">Path used to determine instance</param>
            <returns>The instance for the given path.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.InstanceState">
            <summary>
            The state of an <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance2" />.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.None">
            <summary>
            The instance state has not been determined.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.Local">
            <summary>
            The instance installation path exists.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.Registered">
            <summary>
            A product is registered to the instance.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.NoRebootRequired">
            <summary>
            No reboot is required for the instance.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.NoErrors">
            <summary>
            No errors were reported for the instance.
            </summary>
        </member>
        <member name="F:Microsoft.VisualStudio.Setup.Configuration.InstanceState.Complete">
            <summary>
            The instance represents a complete install.
            </summary>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances">
            <summary>
            A enumerator of installed <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance" /> objects.
            </summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances.Next(System.Int32,Microsoft.VisualStudio.Setup.Configuration.ISetupInstance[],System.Int32@)">
            <summary>
            Retrieves the next set of product instances in the enumeration sequence.
            </summary>
            <param name="celt">The number of product instances to retrieve.</param>
            <param name="rgelt">A pointer to an array of <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance" />.</param>
            <param name="pceltFetched">A pointer to the number of product instances retrieved. If celt is 1 this parameter may be NULL.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances.Skip(System.Int32)">
            <summary>
            Skips the next set of product instances in the enumeration sequence.
            </summary>
            <param name="celt">The number of product instances to skip.</param>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances.Reset">
            <summary>Resets the enumeration sequence to the beginning.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances.Clone">
            <summary>
            Creates a new enumeration object in the same state as the current enumeration object: the new object points to the same place in the enumeration sequence.
            </summary>
            <returns>A pointer to a pointer to a new <see cref="T:Microsoft.VisualStudio.Setup.Configuration.IEnumSetupInstances" /> interface. If the method fails, this parameter is undefined.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupPropertyStore">
            <summary>Provides named properties.</summary>
            <remarks>
            You can get this from an <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstance" />, <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupPackageReference" />, or derivative.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPropertyStore.GetNames">
            <summary>
            Gets an array of property names in this property store.
            </summary>
            <returns>An array of property names in this property store.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupPropertyStore.GetValue(System.String)">
            <summary>
            Gets the value of a named property in this property store.
            </summary>
            <param name="pwszName">The name of the property to get.</param>
            <returns>The value of the property.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupErrorState">
            <summary>Information about the error state of the instance.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupErrorState.GetFailedPackages">
            <summary>Gets an array of failed package references.</summary>
            <returns>An array of failed package references.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupErrorState.GetSkippedPackages">
            <summary>Gets an array of skipped package references.</summary>
            <returns>An array of skipped package references.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference">
            <summary>A reference to a failed package.</summary>
            <remarks>
            You can enumerate all properties of basic types by casting to an <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupPropertyStore" />.
            </remarks>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetId">
            <summary>Gets the general package identifier.</summary>
            <returns>The general package identifier.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetVersion">
            <summary>Gets the version of the package.</summary>
            <returns>The version of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetChip">
            <summary>Gets the target process architecture of the package.</summary>
            <returns>The target process architecture of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetLanguage">
            <summary>Gets the language and optional region identifier.</summary>
            <returns>The language and optional region identifier.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetBranch">
            <summary>Gets the build branch of the package.</summary>
            <returns>The build branch of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetType">
            <summary>Gets the type of the package.</summary>
            <returns>The type of the package.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetUniqueId">
            <summary>
            Gets the unique identifier consisting of all defined tokens.
            </summary>
            <returns>The unique identifier consisting of all defined tokens.</returns>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupFailedPackageReference.GetIsExtension">
            <summary>
            Gets a value indicating whether the package refers to an external extension.
            </summary>
            <returns>A value indicating whether the package refers to an external extension.</returns>
        </member>
        <member name="T:Microsoft.VisualStudio.Setup.Configuration.ISetupInstanceCatalog">
            <summary>Information about a catalog used to install an instance.</summary>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstanceCatalog.GetCatalogInfo">
            <summary>Gets catalog information properties.</summary>
            <returns>An <see cref="T:Microsoft.VisualStudio.Setup.Configuration.ISetupPropertyStore"/> containing catalog information properties.</returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">The property is not defined or invalid.</exception>
        </member>
        <member name="M:Microsoft.VisualStudio.Setup.Configuration.ISetupInstanceCatalog.IsPrerelease">
            <summary>Gets a value indicating whether the catalog is a prerelease.</summary>
            <returns>A value indicating whether the catalog is a prerelease.</returns>
            <exception cref="T:System.Runtime.InteropServices.COMException">The property is not defined or invalid.</exception>
        </member>
        <member name="T:Microsoft.Build.Shared.FileMatcher">
            <summary>
            Functions for matching file names with patterns. 
            </summary>
        </member>
        <member name="F:Microsoft.Build.Shared.FileMatcher.s_invalidPathChars">
            <summary>
            Cache of the list of invalid path characters, because this method returns a clone (for security reasons)
            which can cause significant transient allocations
            </summary>
        </member>
        <member name="T:Microsoft.Build.Shared.FileMatcher.FileSystemEntity">
            <summary>
            The type of entity that GetFileSystemEntries should return.
            </summary>
        </member>
        <member name="T:Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries">
            <summary>
            Delegate defines the GetFileSystemEntries signature that GetLongPathName uses
            to enumerate directories on the file system.
            </summary>
            <param name="entityType">Files, Directories, or Files and Directories</param>
            <param name="path">The path to search.</param>
            <param name="pattern">The file pattern.</param>
            <param name="projectDirectory"></param>
            <param name="stripProjectDirectory"></param>
            <returns>The array of filesystem entries.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.HasWildcards(System.String)">
            <summary>
            Determines whether the given path has any wild card characters.
            </summary>
            <param name="filespec"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.HasWildcardsOrSemicolon(System.String)">
            <summary>
            Determines whether the given path has any wild card characters.
            </summary>
            <param name="filespec"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.HasWildcardsOrSemicolon(JetBrains.Util.StringSlice)">
            <summary>
            Determines whether the given path has any wild card characters.
            </summary>
            <param name="filespec"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.HasWildcardsSemicolonItemOrPropertyReferences(System.String)">
            <summary>
            Determines whether the given path has any wild card characters or any semicolons.
            </summary>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetAccessibleFileSystemEntries(Microsoft.Build.Shared.FileMatcher.FileSystemEntity,System.String,System.String,System.String,System.Boolean)">
            <summary>
            Get the files and\or folders specified by the given path and pattern.
            </summary>
            <param name="entityType">Whether Files, Directories or both.</param>
            <param name="path">The path to search.</param>
            <param name="pattern">The pattern to search.</param>
            <param name="projectDirectory">The directory for the project within which the call is made</param>
            <param name="stripProjectDirectory">If true the project directory should be stripped</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetAccessibleFilesAndDirectories(System.String,System.String)">
            <summary>
            Returns an array of file system entries matching the specified search criteria. Inaccessible or non-existent file
            system entries are skipped.
            </summary>
            <param name="path"></param>
            <param name="pattern"></param>
            <returns>Array of matching file system entries (can be empty).</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetAccessibleFiles(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Same as Directory.GetFiles(...) except that files that
            aren't accessible are skipped instead of throwing an exception.
            
            Other exceptions are passed through.
            </summary>
            <param name="path">The path.</param>
            <param name="filespec">The pattern.</param>
            <param name="projectDirectory">The project directory</param>
            <param name="stripProjectDirectory"></param>
            <returns>Files that can be accessed.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetAccessibleDirectories(System.String,System.String)">
            <summary>
            Same as Directory.GetDirectories(...) except that files that
            aren't accessible are skipped instead of throwing an exception.
            
            Other exceptions are passed through.
            </summary>
            <param name="path">The path.</param>
            <param name="pattern">Pattern to match</param>
            <returns>Accessible directories.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetLongPathName(System.String)">
            <summary>
            Given a path name, get its long version.
            </summary>
            <param name="path">The short path.</param>
            <returns>The long path.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetLongPathName(System.String,Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries)">
            <summary>
            Given a path name, get its long version.
            </summary>
            <param name="path">The short path.</param>
            <param name="getFileSystemEntries">Delegate.</param>
            <returns>The long path.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.SplitFileSpec(System.String,System.String@,System.String@,System.String@,Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries)">
            <summary>
            Given a filespec, split it into left-most 'fixed' dir part, middle 'wildcard' dir part, and filename part.
            The filename part may have wildcard characters in it.
            </summary>
            <param name="filespec">The filespec to be decomposed.</param>
            <param name="fixedDirectoryPart">Receives the fixed directory part.</param>
            <param name="wildcardDirectoryPart">The wildcard directory part.</param>
            <param name="filenamePart">The filename part.</param>
            <param name="getFileSystemEntries">Delegate.</param>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.PreprocessFileSpecForSplitting(System.String,System.String@,System.String@,System.String@)">
            <summary>
            Do most of the grunt work of splitting the filespec into parts.
            Does not handle post-processing common to the different matching
            paths.
            </summary>
            <param name="filespec">The filespec to be decomposed.</param>
            <param name="fixedDirectoryPart">Receives the fixed directory part.</param>
            <param name="wildcardDirectoryPart">The wildcard directory part.</param>
            <param name="filenamePart">The filename part.</param>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.RemoveInitialDotSlash(System.String[])">
            <summary>
            Removes the leading ".\" from all of the paths in the array. 
            </summary>
            <param name="paths">Paths to remove .\ from.</param>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.IsDirectorySeparator(System.Char)">
            <summary>
            Checks if the char is a DirectorySeparatorChar or a AltDirectorySeparatorChar
            </summary>
            <param name="c"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.RemoveProjectDirectory(System.String[],System.String)">
            <summary>
            Removes the current directory converting the file back to relative path 
            </summary>
            <param name="paths">Paths to remove current directory from.</param>
            <param name="projectDirectory"></param>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetFilesRecursive(System.Collections.IList,System.String,System.String,System.String,System.Int32,System.Text.RegularExpressions.Regex,System.Boolean,System.String,System.Boolean,System.Boolean,Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries)">
            <summary>
            Get all files that match either the file-spec or the regular expression. 
            </summary>
            <param name="listOfFiles">List of files that gets populated.</param>
            <param name="baseDirectory">The path to enumerate</param>
            <param name="remainingWildcardDirectory">The remaining, wildcard part of the directory.</param>
            <param name="filespec">The filespec.</param>
            <param name="extensionLengthToEnforce"></param>
            <param name="regexFileMatch">Wild-card matching.</param>
            <param name="needsRecursion">If true, then recursion is required.</param>
            <param name="projectDirectory"></param>
            <param name="stripProjectDirectory"></param>
            <param name="getFileSystemEntries">Delegate.</param>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.RegularExpressionFromFileSpec(System.String,System.String,System.String,System.Boolean@)">
            <summary>
            Given a file spec, create a regular expression that will match that
            file spec.
            
            PERF WARNING: this method is called in performance-critical
            scenarios, so keep it fast and cheap
            </summary>
            <param name="fixedDirectoryPart">The fixed directory part.</param>
            <param name="wildcardDirectoryPart">The wildcard directory part.</param>
            <param name="filenamePart">The filename part.</param>
            <param name="isLegalFileSpec">Receives whether this pattern is legal or not.</param>
            <returns>The regular expression string.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetFileSpecInfo(System.String,System.Text.RegularExpressions.Regex@,System.Boolean@,System.Boolean@,Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries)">
            <summary>
            Given a filespec, get the information needed for file matching. 
            </summary>
            <param name="filespec">The filespec.</param>
            <param name="regexFileMatch">Receives the regular expression.</param>
            <param name="needsRecursion">Receives the flag that is true if recursion is required.</param>
            <param name="isLegalFileSpec">Receives the flag that is true if the filespec is legal.</param>
            <param name="getFileSystemEntries">Delegate.</param>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetFileSpecInfo(System.String,System.String@,System.String@,System.String@,System.String@,System.Boolean@,System.Boolean@,Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries)">
            <summary>
            Given a filespec, get the information needed for file matching.
            </summary>
            <param name="filespec">The filespec.</param>
            <param name="doReturnFolders"></param>
            <param name="fixedDirectoryPart">Receives the fixed directory part.</param>
            <param name="wildcardDirectoryPart">Receives the wildcard directory part.</param>
            <param name="filenamePart">Receives the filename part.</param>
            <param name="matchFileExpression">Receives the regular expression.</param>
            <param name="needsRecursion">Receives the flag that is true if recursion is required.</param>
            <param name="isLegalFileSpec">Receives the flag that is true if the filespec is legal.</param>
            <param name="getFileSystemEntries">Delegate.</param>
        </member>
        <member name="T:Microsoft.Build.Shared.FileMatcher.Result">
            <summary>
            The results of a match between a filespec and a file name.
            </summary>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.Result.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.FileMatch(System.String,System.String)">
            <summary>
            Given a pattern (filespec) and a candidate filename (fileToMatch)
            return matching information.
            </summary>
            <param name="filespec">The filespec.</param>
            <param name="fileToMatch">The candidate to match against.</param>
            <returns>The result class.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetFiles(Microsoft.Build.Shared.FileMatcherInputString,Microsoft.Build.Shared.FileMatcherInputString,System.Boolean,JetBrains.Util.IInteractionContext)">
            <summary>
            Given a filespec, find the files that match. 
            Will never throw IO exceptions: if there is no match, returns the input verbatim.
            </summary>
            <param name="projectDirectoryUnescaped">The project directory.</param>
            <param name="filespecUnescaped">Get files that match the given file spec.</param>
            <param name="doReturnFolders">Whether to return folders matching pattern</param>
            <param name="interactionContext">Optional interaction context. If omitted <see cref="F:JetBrains.Util.InteractionContext.Local"/> will be used</param>
            <returns>The array of files.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetFiles(System.String,System.String,System.Boolean)">
            <summary>
            Given a filespec, find the files that match. 
            Will never throw IO exceptions: if there is no match, returns the input verbatim.
            </summary>
            <param name="projectDirectoryUnescaped">The project directory.</param>
            <param name="filespecUnescaped">Get files that match the given file spec.</param>
            <returns>The array of files.</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcher.GetFiles(System.String,System.String,Microsoft.Build.Shared.FileMatcher.GetFileSystemEntries,Microsoft.Build.Shared.DirectoryExists,System.Boolean)">
            <summary>
            Given a filespec, find the files that match. 
            Will never throw IO exceptions: if there is no match, returns the input verbatim.
            </summary>
            <param name="projectDirectoryUnescaped">The project directory.</param>
            <param name="filespecUnescaped">Get files that match the given file spec.</param>
            <param name="getFileSystemEntries">Get files that match the given file spec.</param>
            <param name="directoryExists">Determine whether a directory exists.</param>
            <param name="doReturnFolders">Whether to return folders too</param>
            <returns>The array of files.</returns>
        </member>
        <member name="T:Microsoft.Build.Shared.FileMatcherInputString">
            <summary>
            <see cref="T:Microsoft.Build.Shared.FileMatcher"/>'s input needs to be normalized according to the file system used
            </summary>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcherInputString.GetRawString">
            <summary>
            Returns original string
            </summary>
            <returns>Original string</returns>
        </member>
        <member name="M:Microsoft.Build.Shared.FileMatcherInputString.GetNormalizedString(JetBrains.Util.IInteractionContext)">
            <summary>
            Normalizes input string according to match files system
            </summary>
            <param name="interactionContext">Optional interaction context. If omitted <see cref="F:JetBrains.Util.InteractionContext.Local"/> will be used</param>
            <returns>Normalized string</returns>
        </member>
        <member name="T:System.GAC.ASM_DISPLAY_FLAGS">
            <summary>
            <see cref="M:System.GAC.IAssemblyName.GetDisplayName(System.Text.StringBuilder,System.UInt32@,System.GAC.ASM_DISPLAY_FLAGS)"/>
            </summary>
        </member>
        <member name="T:System.GAC.ASM_NAME">
            <summary>
            The ASM_NAME enumeration property ID describes the valid names of the name-value pairs in an assembly name. 
            See the .NET Framework SDK for a description of these properties. 
            </summary>
        </member>
        <member name="T:System.GAC.IASSEMBLYCACHE_UNINSTALL_DISPOSITION">
            <summary>
            <see cref="M:System.GAC.IAssemblyCache.UninstallAssembly(System.UInt32,System.String,System.GAC.FUSION_INSTALL_REFERENCE[],System.UInt32@)"/>
            </summary>
        </member>
        <member name="T:System.GAC.QUERYASMINFO_FLAG">
            <summary>
            <see cref="M:System.GAC.IAssemblyCache.QueryAssemblyInfo(System.UInt32,System.String,System.GAC.ASSEMBLY_INFO@)"/>
            </summary>
        </member>
        <member name="T:System.GAC.IASSEMBLYCACHE_INSTALL_FLAG">
            <summary>
            <see cref="M:System.GAC.IAssemblyCache.InstallAssembly(System.UInt32,System.String,System.GAC.FUSION_INSTALL_REFERENCE[])"/>
            </summary>
        </member>
        <member name="T:System.GAC.CREATE_ASM_NAME_OBJ_FLAGS">
            <summary>
            The CREATE_ASM_NAME_OBJ_FLAGS enumeration contains the following values: 
             CANOF_PARSE_DISPLAY_NAME - If this flag is specified, the szAssemblyName parameter is a full assembly name and is parsed to 
               the individual properties. If the flag is not specified, szAssemblyName is the "Name" portion of the assembly name.
             CANOF_SET_DEFAULT_VALUES - If this flag is specified, certain properties, such as processor architecture, are set to 
               their default values.
             <see cref="M:System.GAC.AssemblyCache.CreateAssemblyNameObject(System.GAC.IAssemblyName@,System.String,System.UInt32,System.IntPtr)"/>
            </summary>
        </member>
        <member name="T:System.GAC.ASM_CACHE_FLAGS">
            <summary>
            The ASM_CACHE_FLAGS enumeration contains the following values: 
            ASM_CACHE_ZAP - Enumerates the cache of precompiled assemblies by using Ngen.exe.
            ASM_CACHE_GAC - Enumerates the GAC.
            ASM_CACHE_DOWNLOAD - Enumerates the assemblies that have been downloaded on-demand or that have been shadow-copied.
            </summary>
        </member>
        <member name="T:System.GAC.FUSION_INSTALL_REFERENCE">
            <summary>
            The FUSION_INSTALL_REFERENCE structure represents a reference that is made when an application has installed an 
            assembly in the GAC. 
            The fields of the structure are defined as follows: 
               cbSize - The size of the structure in bytes.
               dwFlags - Reserved, must be zero.
               guidScheme - The entity that adds the reference.
               szIdentifier - A unique string that identifies the application that installed the assembly.
               szNonCannonicalData - A string that is only understood by the entity that adds the reference. 
                   The GAC only stores this string.
            Possible values for the guidScheme field can be one of the following: 
               FUSION_REFCOUNT_MSI_GUID - The assembly is referenced by an application that has been installed by using 
                   Windows Installer. The szIdentifier field is set to MSI, and szNonCannonicalData is set to Windows Installer. 
                   This scheme must only be used by Windows Installer itself.
               FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID - The assembly is referenced by an application that appears in Add/Remove 
                   Programs. The szIdentifier field is the token that is used to register the application with Add/Remove programs.
               FUSION_REFCOUNT_FILEPATH_GUID - The assembly is referenced by an application that is represented by a file in 
                   the file system. The szIdentifier field is the path to this file.
               FUSION_REFCOUNT_OPAQUE_STRING_GUID - The assembly is referenced by an application that is only represented 
                   by an opaque string. The szIdentifier is this opaque string. The GAC does not perform existence checking 
                   for opaque references when you remove this.
            </summary>
        </member>
        <member name="T:System.GAC.ASSEMBLY_INFO">
            <summary>
            The ASSEMBLY_INFO structure represents information about an assembly in the assembly cache. 
            The fields of the structure are defined as follows: 
               cbAssemblyInfo - Size of the structure in bytes. Permits additions to the structure in future version of the .NET Framework.
               dwAssemblyFlags - Indicates one or more of the ASSEMBLYINFO_FLAG_* bits.
               uliAssemblySizeInKB - The size of the files that make up the assembly in kilobytes (KB).
               pszCurrentAssemblyPathBuf - A pointer to a string buffer that holds the current path of the directory that contains the 
                   files that make up the assembly. The path must end with a zero.
               cchBuf - Size of the buffer that the pszCurrentAssemblyPathBug field points to.
             dwAssemblyFlags can have one of the following values: 
               ASSEMBLYINFO_FLAG__INSTALLED - Indicates that the assembly is actually installed. Always set in current version of the 
                   .NET Framework.
               ASSEMBLYINFO_FLAG__PAYLOADRESIDENT - Never set in the current version of the .NET Framework.
            </summary>
        </member>
        <member name="M:System.GAC.AssemblyCache.CreateAssemblyCache(System.GAC.IAssemblyCache@,System.UInt32)">
            <summary>
            The key entry point for reading the assembly cache.
            </summary>
            <param name="ppAsmCache">Pointer to return IAssemblyCache</param>
            <param name="dwReserved">must be 0</param>
        </member>
        <member name="M:System.GAC.AssemblyCache.CreateAssemblyNameObject(System.GAC.IAssemblyName@,System.String,System.UInt32,System.IntPtr)">
            <summary>
            An instance of IAssemblyName is obtained by calling the CreateAssemblyNameObject API.
            </summary>
            <param name="ppAssemblyNameObj">Pointer to a memory location that receives the IAssemblyName pointer that is created.</param>
            <param name="szAssemblyName">A string representation of the assembly name or of a full assembly reference that is 
            determined by dwFlags. The string representation can be null.</param>
            <param name="dwFlags">Zero or more of the bits that are defined in the CREATE_ASM_NAME_OBJ_FLAGS enumeration.</param>
            <param name="pvReserved"> Must be null.</param>
        </member>
        <member name="M:System.GAC.AssemblyCache.CreateAssemblyEnum(System.GAC.IAssemblyEnum@,System.IntPtr,System.GAC.IAssemblyName,System.GAC.ASM_CACHE_FLAGS,System.IntPtr)">
            <summary>
            To obtain an instance of the CreateAssemblyEnum API, call the CreateAssemblyNameObject API.
            </summary>
            <param name="pEnum">Pointer to a memory location that contains the IAssemblyEnum pointer.</param>
            <param name="pUnkReserved">Must be null.</param>
            <param name="pName">An assembly name that is used to filter the enumeration. Can be null to enumerate all assemblies in the GAC.</param>
            <param name="dwFlags">Exactly one bit from the ASM_CACHE_FLAGS enumeration.</param>
            <param name="pvReserved">Must be NULL.</param>
        </member>
        <member name="M:System.GAC.AssemblyCache.CreateInstallReferenceEnum(System.GAC.IInstallReferenceEnum@,System.GAC.IAssemblyName,System.UInt32,System.IntPtr)">
            <summary>
            To obtain an instance of the CreateInstallReferenceEnum API, call the CreateInstallReferenceEnum API.
            </summary>
            <param name="ppRefEnum">A pointer to a memory location that receives the IInstallReferenceEnum pointer.</param>
            <param name="pName">The assembly name for which the references are enumerated.</param>
            <param name="dwFlags"> Must be zero.</param>
            <param name="pvReserved">Must be null.</param>
        </member>
        <member name="M:System.GAC.AssemblyCache.GetCachePath(System.GAC.ASM_CACHE_FLAGS,System.Text.StringBuilder,System.UInt32@)">
            <summary>
            The GetCachePath API returns the storage location of the GAC. 
            </summary>
            <param name="dwCacheFlags">Exactly one of the bits defined in the ASM_CACHE_FLAGS enumeration.</param>
            <param name="pwzCachePath">Pointer to a buffer that is to receive the path of the GAC as a Unicode string.</param>
            <param name="pcchPath">Length of the pwszCachePath buffer, in Unicode characters.</param>
        </member>
        <member name="P:System.GAC.AssemblyCache.FUSION_REFCOUNT_UNINSTALL_SUBKEY_GUID">
            <summary>
            GUID value for element guidScheme in the struct FUSION_INSTALL_REFERENCE
            The assembly is referenced by an application that has been installed by using Windows Installer. 
            The szIdentifier field is set to MSI, and szNonCannonicalData is set to Windows Installer. 
            This scheme must only be used by Windows Installer itself.
            </summary>
        </member>
        <member name="P:System.GAC.AssemblyCache.FUSION_REFCOUNT_FILEPATH_GUID">
            <summary>
            GUID value for element guidScheme in the struct FUSION_INSTALL_REFERENCE
            
            </summary>
        </member>
        <member name="P:System.GAC.AssemblyCache.FUSION_REFCOUNT_OPAQUE_STRING_GUID">
            <summary>
            GUID value for element guidScheme in the struct FUSION_INSTALL_REFERENCE
            
            </summary>
        </member>
        <member name="P:System.GAC.AssemblyCache.FUSION_REFCOUNT_MSI_GUID">
            <summary>
            GUID value for element guidScheme in the struct FUSION_INSTALL_REFERENCE
            
            </summary>
        </member>
        <member name="M:System.GAC.AssemblyCache.CreateAssemblyCache">
            <summary>
            Use this method as a start for the GAC API
            </summary>
            <returns>IAssemblyCache COM interface</returns>
        </member>
        <member name="M:System.GAC.AssemblyCache.GetNextAssembly(System.GAC.IAssemblyEnum,System.GAC.IAssemblyName@)">
            <summary>
            Get the next assembly name in the current enumerator or fail
            </summary>
            <param name="enumerator"></param>
            <param name="name"></param>
            <returns>0 if the enumeration is not at its end</returns>
        </member>
        <member name="T:System.GAC.IAssemblyCache">
            <summary>
            The IAssemblyCache interface is the top-level interface that provides access to the GAC.
            </summary>
        </member>
        <member name="M:System.GAC.IAssemblyCache.UninstallAssembly(System.UInt32,System.String,System.GAC.FUSION_INSTALL_REFERENCE[],System.UInt32@)">
            <summary>
            The IAssemblyCache::UninstallAssembly method removes a reference to an assembly from the GAC. 
            If other applications hold no other references to the assembly, the files that make up the assembly are removed from the GAC. 
            </summary>
            <param name="dwFlags">No flags defined. Must be zero.</param>
            <param name="pszAssemblyName">The name of the assembly. A zero-ended Unicode string.</param>
            <param name="pRefData">A pointer to a FUSION_INSTALL_REFERENCE structure. Although this is not recommended, 
               this parameter can be null. The assembly is installed without an application reference, or all existing application 
               references are gone.</param>
            <param name="pulDisposition">Pointer to an integer that indicates the action that is performed by the function.</param>
            <returns>The return values are defined as follows: 
               S_OK - The assembly has been uninstalled.
               S_FALSE - The operation succeeded, but the assembly was not removed from the GAC. 
               The reason is described in pulDisposition.</returns>
             <remarks>
             NOTE: If pulDisposition is not null, pulDisposition contains one of the following values:
               IASSEMBLYCACHE_UNINSTALL_DISPOSITION_UNINSTALLED - The assembly files have been removed from the GAC.
               IASSEMBLYCACHE_UNINSTALL_DISPOSITION_STILL_IN_USE - An application is using the assembly. 
                 This value is returned on Microsoft Windows 95 and Microsoft Windows 98.
               IASSEMBLYCACHE_UNINSTALL_DISPOSITION_ALREADY_UNINSTALLED - The assembly does not exist in the GAC.
               IASSEMBLYCACHE_UNINSTALL_DISPOSITION_DELETE_PENDING - Not used.
               IASSEMBLYCACHE_UNINSTALL_DISPOSITION_HAS_INSTALL_REFERENCES - The assembly has not been removed from the GAC because 
                 another application reference exists.
               IASSEMBLYCACHE_UNINSTALL_DISPOSITION_REFERENCE_NOT_FOUND - The reference that is specified in pRefData is not found 
                 in the GAC.
             </remarks>
        </member>
        <member name="M:System.GAC.IAssemblyCache.QueryAssemblyInfo(System.UInt32,System.String,System.GAC.ASSEMBLY_INFO@)">
            <summary>
            The IAssemblyCache::QueryAssemblyInfo method retrieves information about an assembly from the GAC. 
            </summary>
            <param name="dwFlags">One of QUERYASMINFO_FLAG_VALIDATE or QUERYASMINFO_FLAG_GETSIZE: 
               *_VALIDATE - Performs validation of the files in the GAC against the assembly manifest, including hash verification 
                 and strong name signature verification.
               *_GETSIZE - Returns the size of all files in the assembly (disk footprint). If this is not specified, the 
                 ASSEMBLY_INFO::uliAssemblySizeInKB field is not modified.</param>
            <param name="pszAssemblyName"></param>
            <param name="pAsmInfo"></param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyCache.CreateAssemblyCacheItem(System.UInt32,System.IntPtr,System.GAC.IAssemblyCacheItem@,System.String)">
            <summary>
            Undocumented
            </summary>
            <param name="dwFlags"></param>
            <param name="pvReserved"></param>
            <param name="ppAsmItem"></param>
            <param name="pszAssemblyName"></param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyCache.CreateAssemblyScavenger(System.Object@)">
            <summary>
            Undocumented
            </summary>
            <param name="ppAsmScavenger"></param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyCache.InstallAssembly(System.UInt32,System.String,System.GAC.FUSION_INSTALL_REFERENCE[])">
            <summary>
            The IAssemblyCache::InstallAssembly method adds a new assembly to the GAC. The assembly must be persisted in the file 
            system and is copied to the GAC.
            </summary>
            <param name="dwFlags">At most, one of the bits of the IASSEMBLYCACHE_INSTALL_FLAG_* values can be specified: 
               *_REFRESH - If the assembly is already installed in the GAC and the file version numbers of the assembly being 
               installed are the same or later, the files are replaced.
               *_FORCE_REFRESH - The files of an existing assembly are overwritten regardless of their version number.</param>
            <param name="pszManifestFilePath"> A string pointing to the dynamic-linked library (DLL) that contains the assembly manifest. 
             Other assembly files must reside in the same directory as the DLL that contains the assembly manifest.</param>
            <param name="pRefData">A pointer to a FUSION_INSTALL_REFERENCE that indicates the application on whose behalf the 
            assembly is being installed. Although this is not recommended, this parameter can be null, but this leaves the assembly 
            without any application reference.</param>
            <returns></returns>
        </member>
        <member name="T:System.GAC.IAssemblyName">
            <summary>
            The IAssemblyName interface represents an assembly name. An assembly name includes a predetermined set of name-value pairs. 
            The assembly name is described in detail in the .NET Framework SDK.
            </summary>
        </member>
        <member name="M:System.GAC.IAssemblyName.SetProperty(System.GAC.ASM_NAME,System.IntPtr,System.UInt32)">
            <summary>
            The IAssemblyName::SetProperty method adds a name-value pair to the assembly name, or, if a name-value pair 
            with the same name already exists, modifies or deletes the value of a name-value pair.
            </summary>
            <param name="propertyId">The ID that represents the name part of the name-value pair that is to be 
            added or to be modified. Valid property IDs are defined in the ASM_NAME enumeration.</param>
            <param name="pvProperty">A pointer to a buffer that contains the value of the property.</param>
            <param name="cbProperty">The length of the pvProperty buffer in bytes. If cbProperty is zero, the name-value pair 
            is removed from the assembly name.</param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyName.GetProperty(System.GAC.ASM_NAME,System.IntPtr,System.UInt32@)">
            <summary>
            The IAssemblyName::GetProperty method retrieves the value of a name-value pair in the assembly name that specifies the name.
            </summary>
            <param name="propertyId">The ID that represents the name of the name-value pair whose value is to be retrieved.
            Specified property IDs are defined in the ASM_NAME enumeration.</param>
            <param name="pvProperty">A pointer to a buffer that is to contain the value of the property.</param>
            <param name="pcbProperty">The length of the pvProperty buffer, in bytes.</param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyName.Finalize">
            <summary>
            The IAssemblyName::Finalize method freezes an assembly name. Additional calls to IAssemblyName::SetProperty are 
            unsuccessful after this method has been called.
            </summary>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyName.GetDisplayName(System.Text.StringBuilder,System.UInt32@,System.GAC.ASM_DISPLAY_FLAGS)">
            <summary>
            The IAssemblyName::GetDisplayName method returns a string representation of the assembly name.
            </summary>
            <param name="szDisplayName">A pointer to a buffer that is to contain the display name. The display name is returned in Unicode.</param>
            <param name="pccDisplayName">The size of the buffer in characters (on input). The length of the returned display name (on return).</param>
            <param name="dwDisplayFlags">One or more of the bits defined in the ASM_DISPLAY_FLAGS enumeration: 
               *_VERSION - Includes the version number as part of the display name.
               *_CULTURE - Includes the culture.
               *_PUBLIC_KEY_TOKEN - Includes the public key token.
               *_PUBLIC_KEY - Includes the public key.
               *_CUSTOM - Includes the custom part of the assembly name.
               *_PROCESSORARCHITECTURE - Includes the processor architecture.
               *_LANGUAGEID - Includes the language ID.</param>
            <returns></returns>
            <remarks>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondefaultmarshalingforstrings.asp</remarks>
        </member>
        <member name="M:System.GAC.IAssemblyName.BindToObject(System.Guid@,System.Object,System.Object,System.String,System.Int64,System.IntPtr,System.UInt32,System.IntPtr@)">
            <summary>
            Undocumented
            </summary>
            <param name="refIID"></param>
            <param name="pUnkSink"></param>
            <param name="pUnkContext"></param>
            <param name="szCodeBase"></param>
            <param name="llFlags"></param>
            <param name="pvReserved"></param>
            <param name="cbReserved"></param>
            <param name="ppv"></param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyName.GetName(System.UInt32@,System.Text.StringBuilder)">
            <summary>
            The IAssemblyName::GetName method returns the name part of the assembly name.
            </summary>
            <param name="lpcwBuffer">Size of the pwszName buffer (on input). Length of the name (on return).</param>
            <param name="pwzName">Pointer to the buffer that is to contain the name part of the assembly name.</param>
            <returns></returns>
            <remarks>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondefaultmarshalingforstrings.asp</remarks>
        </member>
        <member name="M:System.GAC.IAssemblyName.GetVersion(System.UInt32@,System.UInt32@)">
            <summary>
            The IAssemblyName::GetVersion method returns the version part of the assembly name.
            </summary>
            <param name="pdwVersionHi">Pointer to a DWORD that contains the upper 32 bits of the version number.</param>
            <param name="pdwVersionLow">Pointer to a DWORD that contain the lower 32 bits of the version number.</param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyName.IsEqual(System.GAC.IAssemblyName,System.GAC.ASM_CMP_FLAGS)">
            <summary>
            The IAssemblyName::IsEqual method compares the assembly name to another assembly names.
            </summary>
            <param name="pName">The assembly name to compare to.</param>
            <param name="dwCmpFlags">Indicates which part of the assembly name to use in the comparison. 
            Values are one or more of the bits defined in the ASM_CMP_FLAGS enumeration.</param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyName.Clone(System.GAC.IAssemblyName@)">
            <summary>
            The IAssemblyName::Clone method creates a copy of an assembly name. 
            </summary>
            <param name="pName"></param>
            <returns></returns>
        </member>
        <member name="T:System.GAC.IAssemblyEnum">
            <summary>
            The IAssemblyEnum interface enumerates the assemblies in the GAC.
            </summary>
        </member>
        <member name="M:System.GAC.IAssemblyEnum.GetNextAssembly(System.IntPtr,System.GAC.IAssemblyName@,System.UInt32)">
            <summary>
            The IAssemblyEnum::GetNextAssembly method enumerates the assemblies in the GAC. 
            </summary>
            <param name="pvReserved">Must be null.</param>
            <param name="ppName">Pointer to a memory location that is to receive the interface pointer to the assembly 
            name of the next assembly that is enumerated.</param>
            <param name="dwFlags">Must be zero.</param>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyEnum.Reset">
            <summary>
            Undocumented. Best guess: reset the enumeration to the first assembly.
            </summary>
            <returns></returns>
        </member>
        <member name="M:System.GAC.IAssemblyEnum.Clone(System.GAC.IAssemblyEnum@)">
            <summary>
            Undocumented. Create a copy of the assembly enum that is independently enumerable.
            </summary>
            <param name="ppEnum"></param>
            <returns></returns>
        </member>
        <member name="T:System.GAC.IInstallReferenceItem">
            <summary>
            The IInstallReferenceItem interface represents a reference that has been set on an assembly in the GAC. 
            Instances of IInstallReferenceIteam are returned by the IInstallReferenceEnum interface.
            </summary>
        </member>
        <member name="M:System.GAC.IInstallReferenceItem.GetReference(System.GAC.FUSION_INSTALL_REFERENCE[]@,System.UInt32,System.IntPtr)">
            <summary>
            The IInstallReferenceItem::GetReference method returns a FUSION_INSTALL_REFERENCE structure. 
            </summary>
            <param name="ppRefData">A pointer to a FUSION_INSTALL_REFERENCE structure. The memory is allocated by the GetReference 
            method and is freed when IInstallReferenceItem is released. Callers must not hold a reference to this buffer after the 
            IInstallReferenceItem object is released.</param>
            <param name="dwFlags">Must be zero.</param>
            <param name="pvReserved">Must be null.</param>
            <returns></returns>
        </member>
        <member name="T:System.GAC.IInstallReferenceEnum">
            <summary>
            The IInstallReferenceEnum interface enumerates all references that are set on an assembly in the GAC.
            NOTE: References that belong to the assembly are locked for changes while those references are being enumerated. 
            </summary>
        </member>
        <member name="M:System.GAC.IInstallReferenceEnum.GetNextInstallReferenceItem(System.GAC.IInstallReferenceItem@,System.UInt32,System.IntPtr)">
            <summary>
            IInstallReferenceEnum::GetNextInstallReferenceItem returns the next reference information for an assembly. 
            </summary>
            <param name="ppRefItem">Pointer to a memory location that receives the IInstallReferenceItem pointer.</param>
            <param name="dwFlags">Must be zero.</param>
            <param name="pvReserved">Must be null.</param>
            <returns></returns>
        </member>
        <member name="T:System.GAC.IAssemblyCacheItem">
            <summary>
            Undocumented. Probably only for internal use.
            <see cref="M:System.GAC.IAssemblyCache.CreateAssemblyCacheItem(System.UInt32,System.IntPtr,System.GAC.IAssemblyCacheItem@,System.String)"/>
            </summary>
        </member>
        <member name="M:System.GAC.IAssemblyCacheItem.CreateStream(System.UInt32,System.String,System.UInt32,System.UInt32,System.Runtime.InteropServices.ComTypes.IStream@,System.Int64@)">
            <summary>
            Undocumented.
            </summary>
            <param name="dwFlags"></param>
            <param name="pszStreamName"></param>
            <param name="dwFormat"></param>
            <param name="dwFormatFlags"></param>
            <param name="ppIStream"></param>
            <param name="puliMaxSize"></param>
        </member>
        <member name="M:System.GAC.IAssemblyCacheItem.Commit(System.UInt32,System.Int64@)">
            <summary>
            Undocumented.
            </summary>
            <param name="dwFlags"></param>
            <param name="pulDisposition"></param>
        </member>
        <member name="M:System.GAC.IAssemblyCacheItem.AbortItem">
            <summary>
            Undocumented.
            </summary>
        </member>
        <member name="T:MimeTypes.MimeTypeMap">
            <remarks>https://github.com/samuelneff/MimeTypeMap</remarks>>
        </member>
    </members>
</doc>
