DESKTOP-FB72PO8\Administrator 2 місяців тому
батько
коміт
e37767943f
100 змінених файлів з 9693 додано та 3 видалено
  1. 18 0
      Assets/NuGet.config
  2. 23 0
      Assets/NuGet.config.meta
  3. 8 0
      Assets/NuGet.meta
  4. 9 0
      Assets/NuGet/Editor.meta
  5. BIN
      Assets/NuGet/Editor/NuGetForUnity.PluginAPI.dll
  6. 33 0
      Assets/NuGet/Editor/NuGetForUnity.PluginAPI.dll.meta
  7. 350 0
      Assets/NuGet/Editor/NuGetForUnity.PluginAPI.xml
  8. 7 0
      Assets/NuGet/Editor/NuGetForUnity.PluginAPI.xml.meta
  9. BIN
      Assets/NuGet/Editor/NugetForUnity.dll
  10. 33 0
      Assets/NuGet/Editor/NugetForUnity.dll.meta
  11. 21 0
      Assets/NuGet/LICENSE
  12. 8 0
      Assets/NuGet/LICENSE.meta
  13. BIN
      Assets/NuGet/README.pdf
  14. 8 0
      Assets/NuGet/README.pdf.meta
  15. 9 0
      Assets/NuGet/Resources.meta
  16. BIN
      Assets/NuGet/Resources/defaultIcon.png
  17. 88 0
      Assets/NuGet/Resources/defaultIcon.png.meta
  18. 8 0
      Assets/Packages.meta
  19. 8 0
      Assets/Packages/MemoryPack.1.21.3.meta
  20. BIN
      Assets/Packages/MemoryPack.1.21.3/.signature.p7s
  21. BIN
      Assets/Packages/MemoryPack.1.21.3/Icon.png
  22. 175 0
      Assets/Packages/MemoryPack.1.21.3/Icon.png.meta
  23. 30 0
      Assets/Packages/MemoryPack.1.21.3/MemoryPack.nuspec
  24. 7 0
      Assets/Packages/MemoryPack.1.21.3/MemoryPack.nuspec.meta
  25. 8 0
      Assets/Packages/MemoryPack.Core.1.21.3.meta
  26. BIN
      Assets/Packages/MemoryPack.Core.1.21.3/.signature.p7s
  27. BIN
      Assets/Packages/MemoryPack.Core.1.21.3/Icon.png
  28. 175 0
      Assets/Packages/MemoryPack.Core.1.21.3/Icon.png.meta
  29. 24 0
      Assets/Packages/MemoryPack.Core.1.21.3/MemoryPack.Core.nuspec
  30. 7 0
      Assets/Packages/MemoryPack.Core.1.21.3/MemoryPack.Core.nuspec.meta
  31. 8 0
      Assets/Packages/MemoryPack.Core.1.21.3/lib.meta
  32. 8 0
      Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1.meta
  33. BIN
      Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.dll
  34. 23 0
      Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.dll.meta
  35. 24 0
      Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.xml
  36. 7 0
      Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.xml.meta
  37. 8 0
      Assets/Packages/MemoryPack.Generator.1.21.3.meta
  38. BIN
      Assets/Packages/MemoryPack.Generator.1.21.3/.signature.p7s
  39. BIN
      Assets/Packages/MemoryPack.Generator.1.21.3/Icon.png
  40. 175 0
      Assets/Packages/MemoryPack.Generator.1.21.3/Icon.png.meta
  41. 17 0
      Assets/Packages/MemoryPack.Generator.1.21.3/MemoryPack.Generator.nuspec
  42. 7 0
      Assets/Packages/MemoryPack.Generator.1.21.3/MemoryPack.Generator.nuspec.meta
  43. 8 0
      Assets/Packages/MemoryPack.Generator.1.21.3/analyzers.meta
  44. 8 0
      Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet.meta
  45. 8 0
      Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet/cs.meta
  46. BIN
      Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet/cs/MemoryPack.Generator.dll
  47. 55 0
      Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet/cs/MemoryPack.Generator.dll.meta
  48. 8 0
      Assets/Packages/System.Collections.Immutable.6.0.0.meta
  49. BIN
      Assets/Packages/System.Collections.Immutable.6.0.0/.signature.p7s
  50. BIN
      Assets/Packages/System.Collections.Immutable.6.0.0/Icon.png
  51. 175 0
      Assets/Packages/System.Collections.Immutable.6.0.0/Icon.png.meta
  52. 23 0
      Assets/Packages/System.Collections.Immutable.6.0.0/LICENSE.TXT
  53. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/LICENSE.TXT.meta
  54. 48 0
      Assets/Packages/System.Collections.Immutable.6.0.0/System.Collections.Immutable.nuspec
  55. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/System.Collections.Immutable.nuspec.meta
  56. 939 0
      Assets/Packages/System.Collections.Immutable.6.0.0/THIRD-PARTY-NOTICES.TXT
  57. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/THIRD-PARTY-NOTICES.TXT.meta
  58. 8 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive.meta
  59. 8 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp2.0.meta
  60. 6 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets
  61. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets.meta
  62. 8 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp3.1.meta
  63. 0 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp3.1/_._
  64. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp3.1/_._.meta
  65. 8 0
      Assets/Packages/System.Collections.Immutable.6.0.0/lib.meta
  66. 8 0
      Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0.meta
  67. BIN
      Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.dll
  68. 23 0
      Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.dll.meta
  69. 5380 0
      Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.xml
  70. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.xml.meta
  71. 0 0
      Assets/Packages/System.Collections.Immutable.6.0.0/useSharedDesignerContext.txt
  72. 7 0
      Assets/Packages/System.Collections.Immutable.6.0.0/useSharedDesignerContext.txt.meta
  73. 8 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0.meta
  74. BIN
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s
  75. BIN
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png
  76. 175 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png.meta
  77. 23 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT
  78. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT.meta
  79. 29 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec
  80. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec.meta
  81. 939 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT
  82. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta
  83. 8 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive.meta
  84. 8 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0.meta
  85. 6 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets
  86. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets.meta
  87. 8 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1.meta
  88. 0 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._
  89. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._.meta
  90. 8 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib.meta
  91. 8 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0.meta
  92. BIN
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll
  93. 23 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll.meta
  94. 291 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml
  95. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml.meta
  96. 0 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt
  97. 7 0
      Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt.meta
  98. 1 1
      Assets/Scenes/testCombat.scene
  99. 1 2
      Assets/Scripts/Core/CodeDll.cs
  100. 4 0
      Assets/Scripts/Core/Utility/GlobalParam.cs

+ 18 - 0
Assets/NuGet.config

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <packageSources>
+    <clear />
+    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
+  </packageSources>
+  <disabledPackageSources />
+  <activePackageSource>
+    <add key="All" value="(Aggregate source)" />
+  </activePackageSource>
+  <config>
+    <add key="packageInstallLocation" value="CustomWithinAssets" />
+    <add key="repositoryPath" value="./Packages" />
+    <add key="PackagesConfigDirectoryPath" value="." />
+    <add key="slimRestore" value="true" />
+    <add key="PreferNetStandardOverNetFramework" value="true" />
+  </config>
+</configuration>

+ 23 - 0
Assets/NuGet.config.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: Cnkd4yL8Air5LpzUFh+ak42YQie9E0B+jo2Ru3s40Ihj/DyRyIunOkQ=
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/NuGet.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: dbf134857daf7df428aa31cdd055514f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
Assets/NuGet/Editor.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: b3fad56c531ac5a4db190a745f589a8e
+folderAsset: yes
+timeCreated: 1510280304
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/NuGet/Editor/NuGetForUnity.PluginAPI.dll


+ 33 - 0
Assets/NuGet/Editor/NuGetForUnity.PluginAPI.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: db9aa817d6ea05e4b9671f3092dcf2d9
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 1
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 350 - 0
Assets/NuGet/Editor/NuGetForUnity.PluginAPI.xml

@@ -0,0 +1,350 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>NuGetForUnity.PluginAPI</name>
+    </assembly>
+    <members>
+        <member name="T:NugetForUnity.PluginAPI.ExtensionPoints.IFoundInstalledPackageHandler">
+            <summary>
+                Implement this interface to add additional handling for each found installed package.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.ExtensionPoints.IFoundInstalledPackageHandler.ProcessInstalledPackage(NugetForUnity.PluginAPI.Models.INugetPackage)">
+            <summary>
+                This will be called for each found installed package in the project.
+            </summary>
+            <param name="installedPackage">The installedPackage created from found nuspec file.</param>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.ExtensionPoints.IPackageButtonsHandler">
+            <summary>
+                Implement this interface to add additional buttons for each package in NugetForUnity window.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.ExtensionPoints.IPackageButtonsHandler.DrawButtons(NugetForUnity.PluginAPI.Models.INugetPackage,NugetForUnity.PluginAPI.Models.INugetPackage,System.Boolean)">
+            <summary>
+                This method will be called for each package that is rendered in NugetForUnity window.
+            </summary>
+            <param name="package">Package being renderer, either online package or installed package.</param>
+            <param name="installedPackage">If package is installed this represents the installed version, otherwise it is null.</param>
+            <param name="existsInUnity">True if package installation should be disabled because it is already included in Unity.</param>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.ExtensionPoints.IPackageInstallFileHandler">
+            <summary>
+                Implement this interface to add additional handling of files being extracted from nupkg during installation.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.ExtensionPoints.IPackageInstallFileHandler.GetPackageFolderName(NugetForUnity.PluginAPI.Models.INugetPackageIdentifier,System.String)">
+            <summary>
+                This will be called when name of the folder where package will be installed should be determined.
+            </summary>
+            <param name="package">The package whose folder name is being determined.</param>
+            <param name="startName">The starting default name that can be modified or replaced.</param>
+            <returns>New package folder name.</returns>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.ExtensionPoints.IPackageInstallFileHandler.HandleFileExtraction(NugetForUnity.PluginAPI.Models.INugetPackage,System.IO.Compression.ZipArchiveEntry,System.String)">
+            <summary>
+                This will be called for each entry that is about to be processed from nupkg that is being installed.
+            </summary>
+            <param name="package">Package that is being installed.</param>
+            <param name="entry">Zip entry that is about to be processed.</param>
+            <param name="extractDirectory">The directory where the package is being installed.</param>
+            <returns>True if this method handled the entry and doesn't want default handling to be executed, false otherwise.</returns>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.ExtensionPoints.IPackageUninstallHandler">
+            <summary>
+                Implement this interface to add additional handling when nupkg is being uninstalled.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.ExtensionPoints.IPackageUninstallHandler.HandleUninstall(NugetForUnity.PluginAPI.Models.INugetPackage,NugetForUnity.PluginAPI.PackageUninstallReason)">
+            <summary>
+                This method will be called for each package being uninstalled. Note that uninstall is also done for old version
+                when package is being updated.
+            </summary>
+            <param name="package">The package being uninstalled.</param>
+            <param name="uninstallReason">The reason uninstall is being called.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.ExtensionPoints.IPackageUninstallHandler.HandleUninstalledAll">
+            <summary>
+                This method will be called when all packages have been uninstalled using uninstall all method.
+            </summary>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.INugetPlugin">
+            <summary>
+                In order to register your plugin you need to implement this interface and then call
+                methods on the provided registry object in order to provide additional functionalities
+                for certain features.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.INugetPlugin.Register(NugetForUnity.PluginAPI.INugetPluginRegistry)">
+            <summary>
+                NugetForUnity will call this method automatically so you can tell it what custom
+                functionalities your plugin is providing.
+            </summary>
+            <param name="registry">The registry where extension points can be registered to.</param>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.INugetPluginRegistry">
+            <summary>
+                NugetForUnity will pass an instance of this interface to INugetPlugin.Register method that plugins can use
+                to register additional functionalities.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.INugetPluginRegistry.IsRunningInUnity">
+            <summary>
+                Gets a value indicating whether we are currently running in Unity or from CLI.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.INugetPluginRegistry.PluginService">
+            <summary>
+                Gets the methods that NugetForUnity provides to the plugin, like logging methods.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.INugetPluginRegistry.RegisterPackageButtonDrawer(NugetForUnity.PluginAPI.ExtensionPoints.IPackageButtonsHandler)">
+            <summary>
+                Register a class that will be used to draw additional buttons for each package in NugetForUnity editor window.
+            </summary>
+            <param name="packageButtonsHandler">The package buttons handler to register.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.INugetPluginRegistry.RegisterPackageInstallFileHandler(NugetForUnity.PluginAPI.ExtensionPoints.IPackageInstallFileHandler)">
+            <summary>
+                Register a class that will be called for each file that is extracted from the nupkg that is being installed.
+            </summary>
+            <param name="packageInstallFileHandler">The file handler to register.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.INugetPluginRegistry.RegisterPackageUninstallHandler(NugetForUnity.PluginAPI.ExtensionPoints.IPackageUninstallHandler)">
+            <summary>
+                Register a class that will be called when uninstalling some package.
+            </summary>
+            <param name="packageUninstallHandler">The package uninstall handler to register.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.INugetPluginRegistry.RegisterFoundInstalledPackageHandler(NugetForUnity.PluginAPI.ExtensionPoints.IFoundInstalledPackageHandler)">
+            <summary>
+                Register a class that will be called when installed package is found.
+            </summary>
+            <param name="foundInstalledPackageHandler">The found installed package handler to register.</param>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.Models.INugetPackage">
+            <summary>
+                Represents a NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPackage.Title">
+            <summary>
+                Gets the title (not ID) of the package. This is the "friendly" name that only appears in GUIs and on web-pages.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPackage.ProjectUrl">
+            <summary>
+                Gets the URL for the location of the package's source code.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPackage.CurrentFrameworkDependencies">
+            <summary>
+                Gets the list of dependencies for the framework that best matches what is available in Unity.
+            </summary>
+            <returns>List of dependencies.</returns>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.Models.INugetPackageIdentifier">
+            <summary>
+                Interface for a versioned NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPackageIdentifier.Id">
+            <summary>
+                Gets the Id of the package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPackageIdentifier.Version">
+            <summary>
+                Gets or sets the normalized version number of the NuGet package.
+                This is the normalized version number without build-metadata e.g. <b>1.0.0+b3a8</b> is normalized to <b>1.0.0</b>.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.Models.INugetPackageIdentifier.GetPackageInstallPath(System.String)">
+            <summary>
+                Returns the folder path where this package is or will be installed.
+            </summary>
+            <param name="prefix">
+                In case you need to manipulate the folder to a bit different name you can provide
+                the prefix you want to add to folder name here.
+            </param>
+            <returns>
+                Folder path where this package is or will be installed with an optional prefix to
+                final path segment.
+            </returns>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.Models.INugetPluginService">
+            <summary>
+                Service methods that NugetForUnity provides to its plugins.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPluginService.ProjectAssetsDir">
+            <summary>
+                Gets the absolute path to the projects Assets directory.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INugetPluginService.PackageInstallDir">
+            <summary>
+                Gets the absolute path to the directory where packages are installed.
+            </summary>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.Models.INugetPluginService.RegisterNuspecCustomizer(System.Action{NugetForUnity.PluginAPI.Models.INuspecFile})">
+            <summary>
+                Allows plugin to register a function that will modify the contents of default new nuspec file.
+            </summary>
+            <param name="customizer">The function that will receive default nuspec file and modify it.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.Models.INugetPluginService.CreateNuspecAndOpenEditor(System.String)">
+            <summary>
+                Allows plugin to create a new nuspec file on the given location.
+            </summary>
+            <param name="destinationDirectory">Either the absolute path within project to an existing directory or path relative to project's Asset folder.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.Models.INugetPluginService.LogError(System.String)">
+            <summary>
+                Logs the given error message.
+            </summary>
+            <param name="message">Message to log.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.Models.INugetPluginService.LogErrorFormat(System.String,System.Object[])">
+            <summary>
+                Logs a formatted error message.
+            </summary>
+            <param name="format">A composite format string.</param>
+            <param name="args">Format arguments.</param>
+        </member>
+        <member name="M:NugetForUnity.PluginAPI.Models.INugetPluginService.LogVerbose(System.String,System.Object[])">
+            <summary>
+                Logs a formatted error message only if Verbose logging is enabled.
+            </summary>
+            <param name="format">A composite format string.</param>
+            <param name="args">Format arguments.</param>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.Models.INuspecFile">
+            <summary>
+                Represents a .nuspec file used to store metadata for a NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Id">
+            <summary>
+                Gets or sets the Id of the package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.RepositoryBranch">
+            <summary>
+                Gets or sets the source control branch the package is from.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.RepositoryCommit">
+            <summary>
+                Gets or sets the source control commit the package is from.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.RepositoryType">
+            <summary>
+                Gets or sets the type of source control software that the package's source code resides in.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.RepositoryUrl">
+            <summary>
+                Gets or sets the url for the location of the package's source code.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Title">
+            <summary>
+                Gets or sets the title of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Owners">
+            <summary>
+                Gets or sets the owners of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.LicenseUrl">
+            <summary>
+                Gets or sets the URL for the location of the license of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.ProjectUrl">
+            <summary>
+                Gets or sets the URL for the location of the project web-page of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.IconUrl">
+            <summary>
+                Gets or sets the URL for the location of the icon of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Icon">
+            <summary>
+                Gets the path to a icon file. The path is relative to the root folder of the package. This is a alternative to using a URL <see cref="P:NugetForUnity.PluginAPI.Models.INuspecFile.IconUrl" />
+                .
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.IconFilePath">
+            <summary>
+                Gets the full path to a icon file. This is only set if the .nuspec file contains a <see cref="P:NugetForUnity.PluginAPI.Models.INuspecFile.Icon" />. This is a alternative to using a URL
+                <see cref="P:NugetForUnity.PluginAPI.Models.INuspecFile.IconUrl" />.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.RequireLicenseAcceptance">
+            <summary>
+                Gets or sets a value indicating whether the license of the NuGet package needs to be accepted in order to use it.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.ReleaseNotes">
+            <summary>
+                Gets or sets the release notes of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Copyright">
+            <summary>
+                Gets or sets the copyright of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Tags">
+            <summary>
+                Gets or sets the tags of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Description">
+            <summary>
+                Gets or sets the description of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Summary">
+            <summary>
+                Gets or sets the description of the NuGet package.
+            </summary>
+        </member>
+        <member name="P:NugetForUnity.PluginAPI.Models.INuspecFile.Authors">
+            <summary>
+                Gets or sets the authors of the NuGet package.
+            </summary>
+        </member>
+        <member name="T:NugetForUnity.PluginAPI.PackageUninstallReason">
+            <summary>
+                Tells the uninstall method what kind of request from the user initiated it.
+            </summary>
+        </member>
+        <member name="F:NugetForUnity.PluginAPI.PackageUninstallReason.IndividualUninstall">
+            <summary>
+                User has requested individual packages to be uninstalled from the project.
+            </summary>
+        </member>
+        <member name="F:NugetForUnity.PluginAPI.PackageUninstallReason.UninstallAll">
+            <summary>
+                User has requested all packages to be uninstalled from the project.
+            </summary>
+        </member>
+        <member name="F:NugetForUnity.PluginAPI.PackageUninstallReason.IndividualUpdate">
+            <summary>
+                Use requested individual packages to be updated.
+            </summary>
+        </member>
+        <member name="F:NugetForUnity.PluginAPI.PackageUninstallReason.UpdateAll">
+            <summary>
+                Use requested all packages to be updated.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
Assets/NuGet/Editor/NuGetForUnity.PluginAPI.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: e8f4f38c91ceab841bba1a4cdd55c41c
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/NuGet/Editor/NugetForUnity.dll


+ 33 - 0
Assets/NuGet/Editor/NugetForUnity.dll.meta

@@ -0,0 +1,33 @@
+fileFormatVersion: 2
+guid: 8dc1be91775c4bb469f6b74cef450eaa
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  - first:
+      Editor: Editor
+    second:
+      enabled: 1
+      settings:
+        DefaultValueInitialized: true
+  - first:
+      Windows Store Apps: WindowsStoreApps
+    second:
+      enabled: 0
+      settings:
+        CPU: AnyCPU
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 21 - 0
Assets/NuGet/LICENSE

@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Patrick McCarthy
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 8 - 0
Assets/NuGet/LICENSE.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1d9014b99ad06af428514a5902d29ff3
+timeCreated: 1573248500
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/NuGet/README.pdf


+ 8 - 0
Assets/NuGet/README.pdf.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 83c5d2001771f15429a88d67e81366d6
+timeCreated: 1517876157
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
Assets/NuGet/Resources.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 1738075a39a390447b7a620ca6962142
+folderAsset: yes
+timeCreated: 1510280362
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/NuGet/Resources/defaultIcon.png


+ 88 - 0
Assets/NuGet/Resources/defaultIcon.png.meta

@@ -0,0 +1,88 @@
+fileFormatVersion: 2
+guid: eec19781926cd2248b7c9abfde8db555
+TextureImporter:
+  fileIDToRecycleName: {}
+  externalObjects: {}
+  serializedVersion: 9
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: -1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 0
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 1
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 1
+  spriteTessellationDetail: -1
+  textureType: 8
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 2
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 215e43cda847e6d44af8b40376eeed8a
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DHMa4X/+Ui3mIs8Dq4Yb5TuIscsGtNxLrsCqAkWuQvM5YLLJB7FfUQE=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.1.21.3.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Wy4esSqtAi3PZtNLzrsaf6lY/7eC+Q0PHwayxqC8kgvIdBZgZdxOhyU=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/MemoryPack.1.21.3/.signature.p7s


BIN
Assets/Packages/MemoryPack.1.21.3/Icon.png


+ 175 - 0
Assets/Packages/MemoryPack.1.21.3/Icon.png.meta

@@ -0,0 +1,175 @@
+fileFormatVersion: 2
+guid: XStK4CqtVHPZ07mDvC4K4Mhljwd7R6gEJTtK9+08JT1YU0IotitbdKI=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 30 - 0
Assets/Packages/MemoryPack.1.21.3/MemoryPack.nuspec

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
+  <metadata>
+    <id>MemoryPack</id>
+    <version>1.21.3</version>
+    <authors>Cysharp</authors>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://github.com/Cysharp/MemoryPack</projectUrl>
+    <description>Zero encoding extreme performance binary serializer for C#.</description>
+    <copyright>© Cysharp, Inc.</copyright>
+    <tags>serializer</tags>
+    <repository type="git" url="https://github.com/Cysharp/MemoryPack" commit="1e4bf883b3e4963e565774656f7de938f252c9c4" />
+    <dependencies>
+      <group targetFramework="net7.0">
+        <dependency id="MemoryPack.Core" version="1.21.3" exclude="Build,Analyzers" />
+        <dependency id="MemoryPack.Generator" version="1.21.3" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework="net8.0">
+        <dependency id="MemoryPack.Core" version="1.21.3" exclude="Build,Analyzers" />
+        <dependency id="MemoryPack.Generator" version="1.21.3" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.1">
+        <dependency id="MemoryPack.Core" version="1.21.3" exclude="Build,Analyzers" />
+        <dependency id="MemoryPack.Generator" version="1.21.3" exclude="Build,Analyzers" />
+      </group>
+    </dependencies>
+  </metadata>
+</package>

+ 7 - 0
Assets/Packages/MemoryPack.1.21.3/MemoryPack.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: WS5NsS35VyoxnMjH1+s9Ymjh5nnY9KqDJDyqBA9YZOyXctcX8aWlg48=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Core.1.21.3.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: D3sbt3+sUnwwRZo6P+73FkeLDRxEAQPmSmU26wy4j2JV69UXFo/3/lU=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/MemoryPack.Core.1.21.3/.signature.p7s


BIN
Assets/Packages/MemoryPack.Core.1.21.3/Icon.png


+ 175 - 0
Assets/Packages/MemoryPack.Core.1.21.3/Icon.png.meta

@@ -0,0 +1,175 @@
+fileFormatVersion: 2
+guid: CigdvSOsBX5fOzqsTOJDbvwbUVU+tp2FUIpxszovv0JaO3OXqZNBsZ4=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 24 - 0
Assets/Packages/MemoryPack.Core.1.21.3/MemoryPack.Core.nuspec

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
+  <metadata>
+    <id>MemoryPack.Core</id>
+    <version>1.21.3</version>
+    <authors>Cysharp</authors>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://github.com/Cysharp/MemoryPack</projectUrl>
+    <description>Core libraries(attribute, logics) of MemoryPack.</description>
+    <copyright>© Cysharp, Inc.</copyright>
+    <tags>serializer</tags>
+    <repository type="git" url="https://github.com/Cysharp/MemoryPack" commit="1e4bf883b3e4963e565774656f7de938f252c9c4" />
+    <dependencies>
+      <group targetFramework="net7.0" />
+      <group targetFramework="net8.0" />
+      <group targetFramework=".NETStandard2.1">
+        <dependency id="System.Collections.Immutable" version="6.0.0" exclude="Build,Analyzers" />
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" exclude="Build,Analyzers" />
+      </group>
+    </dependencies>
+  </metadata>
+</package>

+ 7 - 0
Assets/Packages/MemoryPack.Core.1.21.3/MemoryPack.Core.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DXlLsCr4Bi4JNTK0n6zGprR/cyzVkcvQqtSaG8gvxEf6yYfztsNocTY=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Core.1.21.3/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XS8ZtyyuW36bAQyY6ZyufFiFoRVHRiG/Y8i7LDISHVKALL4zhkBIUhk=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: CXNK4CuuVHIdB5u9Hd+KDs0Mxr6Vyf5fwnxvNXcTjVFV9GNQ/dLt0EM=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.dll


+ 23 - 0
Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.dll.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: CXIdsCOoVy/z+NsQ/svaOslEjtDR1qICBvHckArL6JKTFz4LEyAG3JI=
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 24 - 0
Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>MemoryPack.Core</name>
+    </assembly>
+    <members>
+        <member name="M:MemoryPack.MemoryPackableAttribute.#ctor(MemoryPack.GenerateType)">
+            <summary>
+            [generateType, (VersionTolerant or CircularReference) ? SerializeLayout.Explicit : SerializeLayout.Sequential]
+            </summary>
+            <param name="generateType"></param>
+        </member>
+        <member name="M:MemoryPack.MemoryPackableAttribute.#ctor(MemoryPack.SerializeLayout)">
+            <summary>
+            [GenerateType.Object, serializeLayout]
+            </summary>
+        </member>
+        <member name="M:MemoryPack.MemoryPackReader.DangerousTryReadCollectionHeader(System.Int32@)">
+            <summary>
+            no validate collection size, be careful to use.
+            </summary>
+        </member>
+    </members>
+</doc>

+ 7 - 0
Assets/Packages/MemoryPack.Core.1.21.3/lib/netstandard2.1/MemoryPack.Core.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: DSxLsSKqBnk5CpGEtVe5+q8/H7vQDt6hPpchhzGCoy9j2EU27hZWgoY=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Generator.1.21.3.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XiscsCusAnwwlX1oTRLcx15rbmFImGUgyl9l/s9Hwmcw8L64IUtlydE=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/MemoryPack.Generator.1.21.3/.signature.p7s


BIN
Assets/Packages/MemoryPack.Generator.1.21.3/Icon.png


+ 175 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/Icon.png.meta

@@ -0,0 +1,175 @@
+fileFormatVersion: 2
+guid: C3gbsnulUXoa2HXPjzAFTjNc1MI4cge7Gc9Er9e0/VkZgb9WXZ4knU0=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 17 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/MemoryPack.Generator.nuspec

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+  <metadata>
+    <id>MemoryPack.Generator</id>
+    <version>1.21.3</version>
+    <authors>Cysharp</authors>
+    <developmentDependency>true</developmentDependency>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://github.com/Cysharp/MemoryPack</projectUrl>
+    <description>Code generator for MemoryPack.</description>
+    <copyright>© Cysharp, Inc.</copyright>
+    <tags>serializer</tags>
+    <repository type="git" url="https://github.com/Cysharp/MemoryPack" commit="1e4bf883b3e4963e565774656f7de938f252c9c4" />
+  </metadata>
+</package>

+ 7 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/MemoryPack.Generator.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Xnkb4H/5U3NNzQZi59KyfocmGykTvmarlPecAJAzNsUqVFs2NFezRzk=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/analyzers.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: CCxN5y2oAC0dXZ+TOVfED0E5boYd4TX0KW/hmQfus8RCC3oiv8TvPRc=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: B39MvCmoUyocPIBB0eXV4OR8hzET59YAhRFHUWBGDo403RvQXPaU/fE=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet/cs.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: W3oWsi6lB3nT+2PhhXrjvRT2MIHdMzyKs/FTPBIyIemdffFDIBk9Vcs=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet/cs/MemoryPack.Generator.dll


+ 55 - 0
Assets/Packages/MemoryPack.Generator.1.21.3/analyzers/dotnet/cs/MemoryPack.Generator.dll.meta

@@ -0,0 +1,55 @@
+fileFormatVersion: 2
+guid: W3NMsyKuU3upC4ftQ0CW7dzUv5OxeMFpIeOtW+n5KeaBtZZknHth2a8=
+labels:
+- NuGetForUnity
+- RoslynAnalyzer
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      : Any
+    second:
+      enabled: 0
+      settings:
+        'Exclude ': 0
+        Exclude Android: 0
+        Exclude ArmLinux: 0
+        Exclude ArmLinuxServer: 0
+        Exclude CloudRendering: 0
+        Exclude EmbeddedLinux: 0
+        Exclude GameCoreScarlett: 0
+        Exclude GameCoreXboxOne: 0
+        Exclude HMIAndroid: 0
+        Exclude Linux64: 0
+        Exclude OSXUniversal: 0
+        Exclude OpenHarmony: 0
+        Exclude PS4: 0
+        Exclude PS5: 0
+        Exclude QNX: 0
+        Exclude Stadia: 0
+        Exclude Switch: 0
+        Exclude VisionOS: 0
+        Exclude WebGL: 0
+        Exclude WeixinMiniGame: 0
+        Exclude Win: 0
+        Exclude Win64: 0
+        Exclude WindowsStoreApps: 0
+        Exclude XboxOne: 0
+        Exclude iOS: 0
+        Exclude tvOS: 0
+  - first:
+      Any: 
+    second:
+      enabled: 0
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Collections.Immutable.6.0.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Wn4d43+oVS9JP0DVRt7Ws54JPcjcFuCo1nnpi7TgePC8+HvZCwImFW0=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/System.Collections.Immutable.6.0.0/.signature.p7s


BIN
Assets/Packages/System.Collections.Immutable.6.0.0/Icon.png


+ 175 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/Icon.png.meta

@@ -0,0 +1,175 @@
+fileFormatVersion: 2
+guid: XXMZtSr5AX8yL+zMe1LPQuiGZ6YKcrJEYGRMFcCk3ySWmyFZne/JjMc=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XnlK5ymoVHnRhi8apVasWv5jdScNmlsIBgxy2LBUl3J7QQUYL2hsdZI=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 48 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/System.Collections.Immutable.nuspec

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
+  <metadata>
+    <id>System.Collections.Immutable</id>
+    <version>6.0.0</version>
+    <authors>Microsoft</authors>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://dot.net/</projectUrl>
+    <description>This package provides collections that are thread safe and guaranteed to never change their contents, also known as immutable collections. Like strings, any methods that perform modifications will not change the existing instance but instead return a new instance. For efficiency reasons, the implementation uses a sharing mechanism to ensure that newly created instances share as much data as possible with the previous instance while ensuring that operations have a predictable time complexity.
+
+Commonly Used Types:
+System.Collections.Immutable.ImmutableArray
+System.Collections.Immutable.ImmutableArray&lt;T&gt;
+System.Collections.Immutable.ImmutableDictionary
+System.Collections.Immutable.ImmutableDictionary&lt;TKey,TValue&gt;
+System.Collections.Immutable.ImmutableHashSet
+System.Collections.Immutable.ImmutableHashSet&lt;T&gt;
+System.Collections.Immutable.ImmutableList
+System.Collections.Immutable.ImmutableList&lt;T&gt;
+System.Collections.Immutable.ImmutableQueue
+System.Collections.Immutable.ImmutableQueue&lt;T&gt;
+System.Collections.Immutable.ImmutableSortedDictionary
+System.Collections.Immutable.ImmutableSortedDictionary&lt;TKey,TValue&gt;
+System.Collections.Immutable.ImmutableSortedSet
+System.Collections.Immutable.ImmutableSortedSet&lt;T&gt;
+System.Collections.Immutable.ImmutableStack
+System.Collections.Immutable.ImmutableStack&lt;T&gt;</description>
+    <releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
+    <copyright>© Microsoft Corporation. All rights reserved.</copyright>
+    <serviceable>true</serviceable>
+    <repository type="git" url="https://github.com/dotnet/runtime" commit="4822e3c3aa77eb82b2fb33c9321f923cf11ddde6" />
+    <dependencies>
+      <group targetFramework=".NETFramework4.6.1">
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" exclude="Build,Analyzers" />
+        <dependency id="System.Memory" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework="net6.0">
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" exclude="Build,Analyzers" />
+      </group>
+      <group targetFramework=".NETStandard2.0">
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" exclude="Build,Analyzers" />
+        <dependency id="System.Memory" version="4.5.4" exclude="Build,Analyzers" />
+      </group>
+    </dependencies>
+  </metadata>
+</package>

+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/System.Collections.Immutable.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Bisc4H6sV33mNFoX7QpsA6p/6GWK1TNhPTS9EDOHzIimS54wz/zUcnk=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 939 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,939 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2020 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.11, January 15th, 2017
+
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for RFC 3492
+---------------------------
+
+The punycode implementation is based on the sample code in RFC 3492
+
+Copyright (C) The Internet Society (2003).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any
+kind, provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for
+copyrights defined in the Internet Standards process must be
+followed, or as required to translate it into languages other than
+English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+License notice for Algorithm from Internet Draft document "UUIDs and GUIDs"
+---------------------------------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, or Digital Equipment Corporation be used in advertising
+or publicity pertaining to distribution of the software without
+specific, written prior permission.  Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment
+Corporation makes any representations about the suitability of
+this software for any purpose.
+
+Copyright(C) The Internet Society 1997. All Rights Reserved.
+
+This document and translations of it may be copied and furnished to others,
+and derivative works that comment on or otherwise explain it or assist in
+its implementation may be prepared, copied, published and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this paragraph are included on all such copies and
+derivative works.However, this document itself may not be modified in any
+way, such as by removing the copyright notice or references to the Internet
+Society or other Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for copyrights
+defined in the Internet Standards process must be followed, or as required
+to translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be revoked
+by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an "AS IS"
+basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
+PARTICULAR PURPOSE.
+
+License notice for Algorithm from RFC 4122 -
+A Universally Unique IDentifier (UUID) URN Namespace
+----------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+Copyright (c) 1998 Microsoft.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, Microsoft, or Digital Equipment Corporation be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
+Equipment Corporation makes any representations about the
+suitability of this software for any purpose."
+
+License notice for The LLVM Compiler Infrastructure
+---------------------------------------------------
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+License notice for Bob Jenkins
+------------------------------
+
+By Bob Jenkins, 1996.  bob_jenkins@burtleburtle.net.  You may use this
+code any way you wish, private, educational, or commercial.  It's free.
+
+License notice for Greg Parker
+------------------------------
+
+Greg Parker     gparker@cs.stanford.edu     December 2000
+This code is in the public domain and may be copied or modified without
+permission.
+
+License notice for libunwind based code
+----------------------------------------
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for Printing Floating-Point Numbers (Dragon4)
+------------------------------------------------------------
+
+/******************************************************************************
+  Copyright (c) 2014 Ryan Juckett
+  http://www.ryanjuckett.com/
+
+  This software is provided 'as-is', without any express or implied
+  warranty. In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+
+  3. This notice may not be removed or altered from any source
+     distribution.
+******************************************************************************/
+
+License notice for Printing Floating-point Numbers (Grisu3)
+-----------------------------------------------------------
+
+Copyright 2012 the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of Google Inc. nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xxHash
+-------------------------
+
+xxHash Library
+Copyright (c) 2012-2014, Yann Collet
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Berkeley SoftFloat Release 3e
+------------------------------------------------
+
+https://github.com/ucb-bar/berkeley-softfloat-3
+https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt
+
+License for Berkeley SoftFloat Release 3e
+
+John R. Hauser
+2018 January 20
+
+The following applies to the whole of SoftFloat Release 3e as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See <http://creativecommons.org/publicdomain/zero/1.0/>.
+
+License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data)
+--------------------------------------
+
+   Copyright 2018 Daniel Lemire
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+                               The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CilOtHj8U3yHYuB4YvmGYojA22nwyDP/tjaTzRJZ0VOQbcRyecumB1c=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Ciwd4XioBX8IjCQZLQq1jSEc2im3Lzm2s4fnexy8nt9hvDFpgclpIIo=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: BnxM5iutUXpWNJKU0OGxV4SHpte7GwFl/WN4z7il2kS+dwyoF2U48BM=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets

@@ -0,0 +1,6 @@
+<Project InitialTargets="NETStandardCompatError_System_Collections_Immutable_netcoreapp3_1">
+  <Target Name="NETStandardCompatError_System_Collections_Immutable_netcoreapp3_1"
+          Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
+    <Error Text="System.Collections.Immutable doesn't support $(TargetFramework). Consider updating your TargetFramework to netcoreapp3.1 or later." />
+  </Target>
+</Project>

+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp2.0/System.Collections.Immutable.targets.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CC9NvC+uB34+5Yvcx5GCDyexfgK0ro2mazB21wQVGTEF4P9z3ntNjwU=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp3.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DywavSP7Bn6WWGhVYC3Lm1bojh0+r1Gc1GU+b9FwfUCEOt83MlwW7yE=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp3.1/_._


+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/buildTransitive/netcoreapp3.1/_._.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XSsb5nulU3kDD1E7ljnPposEri3a4f+nzfN/SFwMZZDAP5VYm9Ht7e8=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XChM5HurW3nxs+lgkr2kUgUomds/9TVBHuA7f24DGBgG2oqEfhXsfk8=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DXwdsimpAXLnpF9JPXkVgc3zMGvkKTTtnCS9zn2lQbvVUMT3VmzXZMo=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.dll


+ 23 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.dll.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: WXkX5iqvVihqSOKUME/MZmVd5ZRlgCfOpYJoeCrVLZ8LMDjXBh1R2Kg=
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 5380 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.xml

@@ -0,0 +1,5380 @@
+<?xml version="1.0" encoding="utf-8"?>
+<doc>
+  <assembly>
+    <name>System.Collections.Immutable</name>
+  </assembly>
+  <members>
+    <member name="T:System.Collections.Immutable.IImmutableDictionary`2">
+      <summary>Represents an immutable collection of key/value pairs.  
+
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey">The type of keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values in the dictionary.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Add(`0,`1)">
+      <summary>Adds an element with the specified key and value to the dictionary.</summary>
+      <param name="key">The key of the element to add.</param>
+      <param name="value">The value of the element to add.</param>
+      <exception cref="T:System.ArgumentException">The given key already exists in the dictionary but has a different value.</exception>
+      <returns>A new immutable dictionary that contains the additional key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Adds the specified key/value pairs to the dictionary.</summary>
+      <param name="pairs">The key/value pairs to add.</param>
+      <exception cref="T:System.ArgumentException">One of the given keys already exists in the dictionary but has a different value.</exception>
+      <returns>A new immutable dictionary that contains the additional key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Clear">
+      <summary>Retrieves an empty dictionary that has the same ordering and key/value comparison rules as this dictionary instance.</summary>
+      <returns>An empty dictionary with equivalent ordering and key/value comparison rules.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Determines whether the immutable dictionary contains the specified key/value pair.</summary>
+      <param name="pair">The key/value pair to locate.</param>
+      <returns>
+        <see langword="true" /> if the specified key/value pair is found in the dictionary; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.Remove(`0)">
+      <summary>Removes the element with the specified key from the immutable dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+      <returns>A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements with the specified keys from the immutable dictionary.</summary>
+      <param name="keys">The keys of the elements to remove.</param>
+      <returns>A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.SetItem(`0,`1)">
+      <summary>Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key.</summary>
+      <param name="key">The key of the entry to add.</param>
+      <param name="value">The key value to set.</param>
+      <returns>A new immutable dictionary that contains the specified key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys.</summary>
+      <param name="items">The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values.</param>
+      <returns>A new immutable dictionary that contains the specified key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableDictionary`2.TryGetKey(`0,`0@)">
+      <summary>Determines whether this dictionary contains a specified key.</summary>
+      <param name="equalKey">The key to search for.</param>
+      <param name="actualKey">The matching key located in the dictionary if found, or <c>equalkey</c> if no match is found.</param>
+      <returns>
+        <see langword="true" /> if a match for <paramref name="equalKey" /> is found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.IImmutableList`1">
+      <summary>Represents a list of elements that cannot be modified.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the list.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.Add(`0)">
+      <summary>Makes a copy of the list, and adds the specified object to the end of the  copied list.</summary>
+      <param name="value">The object to add to the list.</param>
+      <returns>A new list with the object added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Makes a copy of the list and adds the specified objects to the end of the copied list.</summary>
+      <param name="items">The objects to add to the list.</param>
+      <returns>A new list with the elements added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.Clear">
+      <summary>Creates  a list with all the items removed, but with the same sorting and ordering semantics as this list.</summary>
+      <returns>An empty list that has the same sorting and ordering semantics as this instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1" /> that starts at the specified index and contains the specified number of elements.</summary>
+      <param name="item">The object to locate in the <see cref="T:System.Collections.Immutable.IImmutableList`1" />. This value can be null for reference types.</param>
+      <param name="index">The zero-based starting indexes of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="equalityComparer">The equality comparer to use to locate <paramref name="item" />.</param>
+      <returns>The zero-based index of the first occurrence of <paramref name="item" /> within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1" /> that starts at <paramref name="index" /> and contains <paramref name="count" /> number of elements if found; otherwise -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.Insert(System.Int32,`0)">
+      <summary>Inserts the specified element at the specified index in the immutable list.</summary>
+      <param name="index">The zero-based index at which to insert the value.</param>
+      <param name="element">The object to insert.</param>
+      <returns>A new immutable list that includes the specified element.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
+      <summary>Inserts the specified elements at the specified index in the immutable list.</summary>
+      <param name="index">The zero-based index at which the new elements should be inserted.</param>
+      <param name="items">The elements to insert.</param>
+      <returns>A new immutable list that includes the specified elements.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.IImmutableList`1" /> that contains the specified number of elements and ends at the specified index.</summary>
+      <param name="item">The object to locate in the list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="index">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="equalityComparer">The equality comparer to match <paramref name="item" />.</param>
+      <returns>Returns <see cref="T:System.Int32" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the first occurrence of a specified object from this immutable list.</summary>
+      <param name="value">The object to remove from the list.</param>
+      <param name="equalityComparer">The equality comparer to use to locate <paramref name="value" />.</param>
+      <returns>A new list with the specified object removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveAll(System.Predicate{`0})">
+      <summary>Removes all the elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to remove.</param>
+      <returns>A new immutable list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveAt(System.Int32)">
+      <summary>Removes the element at the specified index of the immutable list.</summary>
+      <param name="index">The index of the element to remove.</param>
+      <returns>A new list with the element removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the specified object from the list.</summary>
+      <param name="items">The objects to remove from the list.</param>
+      <param name="equalityComparer">The equality comparer to use to determine if <paramref name="items" /> match any objects in the list.</param>
+      <returns>A new immutable list with the specified objects removed, if <paramref name="items" /> matched objects in the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.RemoveRange(System.Int32,System.Int32)">
+      <summary>Removes a range of elements from the <see cref="T:System.Collections.Immutable.IImmutableList`1" />.</summary>
+      <param name="index">The zero-based starting index of the range of elements to remove.</param>
+      <param name="count">The number of elements to remove.</param>
+      <returns>A new immutable list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Returns a new list with the first matching element in the list replaced with the specified element.</summary>
+      <param name="oldValue">The element to be replaced.</param>
+      <param name="newValue">The element to replace the first occurrence of <paramref name="oldValue" /> with.</param>
+      <param name="equalityComparer">The equality comparer to use for matching <paramref name="oldValue" />.</param>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="oldValue" /> does not exist in the list.</exception>
+      <returns>A new list that contains <paramref name="newValue" />, even if <paramref name="oldvalue" /> is the same as <paramref name="newValue" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableList`1.SetItem(System.Int32,`0)">
+      <summary>Replaces an element in the list at a given position with the specified element.</summary>
+      <param name="index">The position in the list of the element to replace.</param>
+      <param name="value">The element to replace the old element with.</param>
+      <returns>A new list that contains the new element, even if the element at the specified location is the same as the new element.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.IImmutableQueue`1">
+      <summary>Represents an immutable first-in, first-out collection of objects.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the queue.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableQueue`1.Clear">
+      <summary>Returns a new queue with all the elements removed.</summary>
+      <returns>An empty immutable queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableQueue`1.Dequeue">
+      <summary>Removes the first element in the immutable queue, and returns the new queue.</summary>
+      <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
+      <returns>The new immutable queue with the first element removed. This value is never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableQueue`1.Enqueue(`0)">
+      <summary>Adds an element to the end of the immutable queue, and returns the new queue.</summary>
+      <param name="value">The element to add.</param>
+      <returns>The new immutable queue with the specified element added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableQueue`1.Peek">
+      <summary>Returns the element at the beginning of the immutable queue without removing it.</summary>
+      <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
+      <returns>The element at the beginning of the queue.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.IImmutableQueue`1.IsEmpty">
+      <summary>Gets a value that indicates whether this immutable queue is empty.</summary>
+      <returns>
+        <see langword="true" /> if this queue is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.IImmutableSet`1">
+      <summary>Represents a set of elements that can only be modified by creating a new instance of the set.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of element stored in the set.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Add(`0)">
+      <summary>Adds the specified element to this immutable set.</summary>
+      <param name="value">The element to add.</param>
+      <returns>A new set with the element added, or this set if the element is already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Clear">
+      <summary>Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance.</summary>
+      <returns>An empty set that has the same sorting and ordering semantics as this instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Contains(`0)">
+      <summary>Determines whether this immutable set contains a specified element.</summary>
+      <param name="value">The element to locate in the set.</param>
+      <returns>
+        <see langword="true" /> if the set contains the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Except(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements in the specified collection from the current immutable set.</summary>
+      <param name="other">The collection of items to remove from this set.</param>
+      <returns>A new set with the items removed; or the original set if none of the items were in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Intersect(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable set that contains only elements that exist in this set and the specified set.</summary>
+      <param name="other">The collection to compare to the current <see cref="T:System.Collections.Immutable.IImmutableSet`1" />.</param>
+      <returns>A new immutable set that contains elements that exist in both sets.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable set is a proper (strict) subset of the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper subset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable set is a proper (strict) superset of the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper superset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable set is a subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a subset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable set is a superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a superset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable set overlaps with the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set and the specified collection share at least one common element; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Remove(`0)">
+      <summary>Removes the specified element from this immutable set.</summary>
+      <param name="value">The element to remove.</param>
+      <returns>A new set with the specified element removed, or the current set if the element cannot be found in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable set and the specified collection contain the same elements.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the sets are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new set that contains the elements that are present only in the current set or in the specified collection, but not both.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.TryGetValue(`0,`0@)">
+      <summary>Determines whether the set contains a specified value.</summary>
+      <param name="equalValue">The value to search for.</param>
+      <param name="actualValue">The matching value from the set, if found, or <c>equalvalue</c> if there are no matches.</param>
+      <returns>
+        <see langword="true" /> if a matching value was found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableSet`1.Union(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection.</summary>
+      <param name="other">The collection to add elements from.</param>
+      <returns>A new immutable set with the items added; or the original set if all the items were already in the set.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.IImmutableStack`1">
+      <summary>Represents an immutable last-in-first-out (LIFO) collection.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the stack.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableStack`1.Clear">
+      <summary>Removes all objects from the immutable stack.</summary>
+      <returns>An empty immutable stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableStack`1.Peek">
+      <summary>Returns the element at the top of the immutable stack without removing it.</summary>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>The element at the top of the stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableStack`1.Pop">
+      <summary>Removes the element at the top of the immutable stack and returns the new stack.</summary>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>The new stack; never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.IImmutableStack`1.Push(`0)">
+      <summary>Inserts an element at the top of the immutable stack and returns the new stack.</summary>
+      <param name="value">The element to push onto the stack.</param>
+      <returns>The new stack.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.IImmutableStack`1.IsEmpty">
+      <summary>Gets a value that indicates whether this immutable stack is empty.</summary>
+      <returns>
+        <see langword="true" /> if this stack is empty; otherwise,<see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableArray">
+      <summary>Provides methods for creating an array that is immutable; meaning it cannot be changed once it is created.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},``0)">
+      <summary>Searches the sorted immutable array for a specified element using the default comparer and returns the zero-based index of the element, if it's found.</summary>
+      <param name="array">The sorted array to search.</param>
+      <param name="value">The object to search for.</param>
+      <typeparam name="T">The type of element stored in the array.</typeparam>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="value" /> does not implement <see cref="T:System.IComparable" /> or the search encounters an element that does not implement <see cref="T:System.IComparable" />.</exception>
+      <returns>The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="value" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.ICollection`1.Count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},``0,System.Collections.Generic.IComparer{``0})">
+      <summary>Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found.</summary>
+      <param name="array">The sorted array to search.</param>
+      <param name="value">The object to search for.</param>
+      <param name="comparer">The comparer implementation to use when comparing elements, or null to use the default comparer.</param>
+      <typeparam name="T">The type of element stored in the array.</typeparam>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="comparer" /> is null and <paramref name="value" /> does not implement <see cref="T:System.IComparable" /> or the search encounters an element that does not implement <see cref="T:System.IComparable" />.</exception>
+      <returns>The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="value" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.ICollection`1.Count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,``0)">
+      <summary>Searches a sorted immutable array for a specified element and returns the zero-based index of the element, if it's found.</summary>
+      <param name="array">The sorted array to search.</param>
+      <param name="index">The starting index of the range to search.</param>
+      <param name="length">The length of the range to search.</param>
+      <param name="value">The object to search for.</param>
+      <typeparam name="T">The type of element stored in the array.</typeparam>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="value" /> does not implement <see cref="T:System.IComparable" /> or the search encounters an element that does not implement <see cref="T:System.IComparable" />.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="index" /> and <paramref name="length" /> do not specify a valid range in <paramref name="array" />.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="index" /> is less than the lower bound of <paramref name="array" />.
+        
+-or-
+
+<paramref name="length" /> is less than zero.</exception>
+      <returns>The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="value" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.ICollection`1.Count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.BinarySearch``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,``0,System.Collections.Generic.IComparer{``0})">
+      <summary>Searches a sorted immutable array for a specified element and returns the zero-based index of the element.</summary>
+      <param name="array">The sorted array to search.</param>
+      <param name="index">The starting index of the range to search.</param>
+      <param name="length">The length of the range to search.</param>
+      <param name="value">The object to search for.</param>
+      <param name="comparer">The comparer to use when comparing elements for equality or <see langword="null" /> to use the default comparer.</param>
+      <typeparam name="T">The type of element stored in the array.</typeparam>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="comparer" /> is null and <paramref name="value" /> does not implement <see cref="T:System.IComparable" /> or the search encounters an element that does not implement <see cref="T:System.IComparable" />.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="index" /> and <paramref name="length" /> do not specify a valid range in <paramref name="array" />.
+        
+-or-
+
+<paramref name="comparer" /> is <see langword="null" />, and <paramref name="value" /> is of a type that is not compatible with the elements of <paramref name="array" />.</exception>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="index" /> is less than the lower bound of <paramref name="array" />.
+
+-or-
+
+<paramref name="length" /> is less than zero.</exception>
+      <returns>The zero-based index of the item in the array, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="value" /> or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.Generic.ICollection`1.Count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1">
+      <summary>Creates an empty immutable array.</summary>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An empty immutable array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0)">
+      <summary>Creates an immutable array that contains the specified object.</summary>
+      <param name="item">The object to store in the array.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified object.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0,``0)">
+      <summary>Creates an immutable array that contains the specified objects.</summary>
+      <param name="item1">The first object to store in the array.</param>
+      <param name="item2">The second object to store in the array.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified objects.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0,``0,``0)">
+      <summary>Creates an immutable array that contains the specified objects.</summary>
+      <param name="item1">The first object to store in the array.</param>
+      <param name="item2">The second object to store in the array.</param>
+      <param name="item3">The third object to store in the array.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified objects.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0,``0,``0,``0)">
+      <summary>Creates an immutable array that contains the specified objects.</summary>
+      <param name="item1">The first object to store in the array.</param>
+      <param name="item2">The second object to store in the array.</param>
+      <param name="item3">The third object to store in the array.</param>
+      <param name="item4">The fourth object to store in the array.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified objects.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0[])">
+      <summary>Creates an immutable array from the specified array of objects.</summary>
+      <param name="items">The array of objects to populate the array with.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the array of items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(``0[],System.Int32,System.Int32)">
+      <summary>Creates an immutable array with specified objects from another array.</summary>
+      <param name="items">The source array of objects.</param>
+      <param name="start">The index of the first element to copy from <paramref name="items" />.</param>
+      <param name="length">The number of elements from <paramref name="items" /> to include in this immutable array.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified objects from the source array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.Create``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32)">
+      <summary>Creates an immutable array with the specified objects from another immutable array.</summary>
+      <param name="items">The source array of objects.</param>
+      <param name="start">The index of the first element to copy from <paramref name="items" />.</param>
+      <param name="length">The number of elements from <paramref name="items" /> to include in this immutable array.</param>
+      <typeparam name="T">The type of elements stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified objects from the source array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateBuilder``1">
+      <summary>Creates a mutable array that can be converted to an <see cref="T:System.Collections.Immutable.ImmutableArray" /> without allocating new memory.</summary>
+      <typeparam name="T">The type of elements stored in the builder.</typeparam>
+      <returns>A mutable array of the specified type that can be efficiently converted to an immutable array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateBuilder``1(System.Int32)">
+      <summary>Creates a mutable array that can be converted to an <see cref="T:System.Collections.Immutable.ImmutableArray" /> without allocating new memory.</summary>
+      <param name="initialCapacity">The initial capacity of the builder.</param>
+      <typeparam name="T">The type of elements stored in the builder.</typeparam>
+      <returns>A mutable array of the specified type that can be efficiently converted to an immutable array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> populated with the specified items.</summary>
+      <param name="items">The elements to add to the array.</param>
+      <typeparam name="T">The type of element stored in the array.</typeparam>
+      <returns>An immutable array that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``2(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``1})">
+      <summary>Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> struct.</summary>
+      <param name="items">The source array to initialize the resulting array with.</param>
+      <param name="selector">The function to apply to each element from the source array.</param>
+      <typeparam name="TSource">The type of element stored in the source array.</typeparam>
+      <typeparam name="TResult">The type of element to store in the target array.</typeparam>
+      <returns>An immutable array that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``2(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,System.Func{``0,``1})">
+      <summary>Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> struct.</summary>
+      <param name="items">The source array to initialize the resulting array with.</param>
+      <param name="start">The index of the first element in the source array to include in the resulting array.</param>
+      <param name="length">The number of elements from the source array to include in the resulting array.</param>
+      <param name="selector">The function to apply to each element from the source array included in the resulting array.</param>
+      <typeparam name="TSource">The type of element stored in the source array.</typeparam>
+      <typeparam name="TResult">The type of element to store in the target array.</typeparam>
+      <returns>An immutable array that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``3(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``1,``2},``1)">
+      <summary>Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> struct.</summary>
+      <param name="items">The source array to initialize the resulting array with.</param>
+      <param name="selector">The function to apply to each element from the source array.</param>
+      <param name="arg">An argument to be passed to the selector mapping function.</param>
+      <typeparam name="TSource">The type of element stored in the source array.</typeparam>
+      <typeparam name="TArg">The type of argument to pass to the selector mapping function.</typeparam>
+      <typeparam name="TResult">The type of element to store in the target array.</typeparam>
+      <returns>An immutable array that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.CreateRange``3(System.Collections.Immutable.ImmutableArray{``0},System.Int32,System.Int32,System.Func{``0,``1,``2},``1)">
+      <summary>Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> struct.</summary>
+      <param name="items">The source array to initialize the resulting array with.</param>
+      <param name="start">The index of the first element in the source array to include in the resulting array.</param>
+      <param name="length">The number of elements from the source array to include in the resulting array.</param>
+      <param name="selector">The function to apply to each element from the source array included in the resulting array.</param>
+      <param name="arg">An argument to be passed to the selector mapping function.</param>
+      <typeparam name="TSource">The type of element stored in the source array.</typeparam>
+      <typeparam name="TArg">The type of argument to be passed to the selector mapping function.</typeparam>
+      <typeparam name="TResult">The type of element to be stored in the target array.</typeparam>
+      <returns>An immutable array that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.ToImmutableArray``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates an immutable array from the specified collection.</summary>
+      <param name="items">The collection of objects to copy to the immutable array.</param>
+      <typeparam name="TSource">The type of elements contained in <paramref name="items" />.</typeparam>
+      <returns>An immutable array that contains the specified collection of objects.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray.ToImmutableArray``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Creates an immutable array from the current contents of the builder's array.</summary>
+      <param name="builder">The builder to create the immutable array from.</param>
+      <typeparam name="TSource">The type of elements contained in the immutable array.</typeparam>
+      <returns>An immutable array that contains the current contents of the builder's array.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableArray`1">
+      <summary>Represents an array that is immutable; meaning it cannot be changed once it is created.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of element stored by the array.</typeparam>
+    </member>
+    <member name="F:System.Collections.Immutable.ImmutableArray`1.Empty">
+      <summary>Gets an empty immutable array.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Add(`0)">
+      <summary>Returns a copy of the original array with the specified item added to the end.</summary>
+      <param name="item">The item to be added to the end of the array.</param>
+      <returns>A new array with the specified item added to the end.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Returns a copy of the original array with the specified elements added to the end of the array.</summary>
+      <param name="items">The elements to add to the array.</param>
+      <returns>A new array with the elements added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.AddRange(System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Returns a copy of the original array with the specified elements added to the end of the array.</summary>
+      <param name="items">The elements to add to the array.</param>
+      <returns>A new array with the elements added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.As``1">
+      <summary>Returns a new immutable array that contains the elements of this array cast to a different type.</summary>
+      <typeparam name="TOther">The type of array element to return.</typeparam>
+      <returns>An immutable array that contains the elements of this array, cast to a different type. If the cast fails, returns an array whose <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns <see langword="true" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.AsMemory">
+      <summary>Creates a new read-only memory region over this immutable array.</summary>
+      <returns>The read-only memory representation of this immutable array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.AsSpan">
+      <summary>Creates a new read-only span over this immutable array.</summary>
+      <returns>The read-only span representation of this immutable array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.CastArray``1">
+      <summary>Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> struct by casting the underlying array to an array of type <typeparamref name="TOther" />.</summary>
+      <typeparam name="TOther">The type of array element to return.</typeparam>
+      <exception cref="T:System.InvalidCastException">Thrown if the cast is illegal.</exception>
+      <returns>An immutable array instance with elements cast to the new type.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.CastUp``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Initializes a new instance of the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> struct based on the contents of an existing instance, allowing a covariant static cast to efficiently reuse the existing array.</summary>
+      <param name="items">The array to initialize the array with. No copy is made.</param>
+      <typeparam name="TDerived">The type of array element to return.</typeparam>
+      <returns>An immutable array instance with elements cast to the new type.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Clear">
+      <summary>Returns an array with all the elements removed.</summary>
+      <returns>An array with all of the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Contains(`0)">
+      <summary>Determines whether the specified item exists in the array.</summary>
+      <param name="item">The item to search for.</param>
+      <returns>
+        <see langword="true" /> if the specified item was found in the array; otherwise <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.CopyTo(`0[])">
+      <summary>Copies the contents of this array to the specified array.</summary>
+      <param name="destination">The array to copy to.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.CopyTo(`0[],System.Int32)">
+      <summary>Copies the contents of this array to the specified array starting at the specified destination index.</summary>
+      <param name="destination">The array to copy to.</param>
+      <param name="destinationIndex">The index in <paramref name="array" /> where copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
+      <summary>Copies the specified items in this array to the specified array at the specified starting index.</summary>
+      <param name="sourceIndex">The index of this array where copying begins.</param>
+      <param name="destination">The array to copy to.</param>
+      <param name="destinationIndex">The index in <paramref name="array" /> where copying begins.</param>
+      <param name="length">The number of elements to copy from this array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Equals(System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Indicates whether specified array is equal to this array.</summary>
+      <param name="other">An object to compare with this object.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="other" /> is equal to this array; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Equals(System.Object)">
+      <summary>Determines if this array is equal to the specified object.</summary>
+      <param name="obj">The <see cref="T:System.Object" /> to compare with this array.</param>
+      <returns>
+        <see langword="true" /> if this array is equal to <paramref name="obj" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the contents of the array.</summary>
+      <returns>An enumerator.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.GetHashCode">
+      <summary>Returns a hash code for this instance.</summary>
+      <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0)">
+      <summary>Searches the array for the specified item.</summary>
+      <param name="item">The item to search for.</param>
+      <returns>The zero-based index position of the item if it is found, or -1 if it is not.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32)">
+      <summary>Searches the array for the specified item.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <returns>The zero-based index position of the item if it is found, or -1 if it is not.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches the array for the specified item.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The zero-based index position of the item if it is found, or -1 if it is not.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32,System.Int32)">
+      <summary>Searches the array for the specified item.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <returns>The zero-based index position of the item if it is found, or -1 if it is not.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches the array for the specified item.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The zero-based index position of the item if it is found, or -1 if it is not.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Insert(System.Int32,`0)">
+      <summary>Returns a new array with the specified value inserted at the specified position.</summary>
+      <param name="index">The 0-based index into the array at which the new item should be added.</param>
+      <param name="item">The item to insert at the start of the array.</param>
+      <returns>A new array with the item inserted at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
+      <summary>Inserts the specified values at the specified index.</summary>
+      <param name="index">The index at which to insert the value.</param>
+      <param name="items">The elements to insert.</param>
+      <returns>A new immutable array with the items inserted at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.InsertRange(System.Int32,System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Inserts the specified values at the specified index.</summary>
+      <param name="index">The index at which to insert the value.</param>
+      <param name="items">The elements to insert.</param>
+      <returns>A new immutable array with the items inserted at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.ItemRef(System.Int32)">
+      <summary>Gets a read-only reference to the element at the specified <paramref name="index" /> in the read-only list.</summary>
+      <param name="index">The zero-based index of the element to get a reference to.</param>
+      <returns>A read-only reference to the element at the specified <paramref name="index" /> in the read-only list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0)">
+      <summary>Searches the array for the specified item; starting at the end of the array.</summary>
+      <param name="item">The item to search for.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0,System.Int32)">
+      <summary>Searches the array for the specified item; starting at the end of the array.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0,System.Int32,System.Int32)">
+      <summary>Searches the array for the specified item; starting at the end of the array.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches the array for the specified item; starting at the end of the array.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.OfType``1">
+      <summary>Filters the elements of this array to those assignable to the specified type.</summary>
+      <typeparam name="TResult">The type to filter the elements of the sequence on.</typeparam>
+      <returns>An <see cref="T:System.Collections.IEnumerable" /> that contains elements from the input sequence of type of <paramref name="TResult" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Equality(System.Collections.Immutable.ImmutableArray{`0},System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Returns a value that indicates if two arrays are equal.</summary>
+      <param name="left">The array to the left of the operator.</param>
+      <param name="right">The array to the right of the operator.</param>
+      <returns>
+        <see langword="true" /> if the arrays are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Equality(System.Nullable{System.Collections.Immutable.ImmutableArray{`0}},System.Nullable{System.Collections.Immutable.ImmutableArray{`0}})">
+      <summary>Returns a value that indicates if two arrays are equal.</summary>
+      <param name="left">The array to the left of the operator.</param>
+      <param name="right">The array to the right of the operator.</param>
+      <returns>
+        <see langword="true" /> if the arrays are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Inequality(System.Collections.Immutable.ImmutableArray{`0},System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Returns a value that indicates whether two arrays are not equal.</summary>
+      <param name="left">The array to the left of the operator.</param>
+      <param name="right">The array to the right of the operator.</param>
+      <returns>
+        <see langword="true" /> if the arrays are not equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.op_Inequality(System.Nullable{System.Collections.Immutable.ImmutableArray{`0}},System.Nullable{System.Collections.Immutable.ImmutableArray{`0}})">
+      <summary>Checks for inequality between two array.</summary>
+      <param name="left">The object to the left of the operator.</param>
+      <param name="right">The object to the right of the operator.</param>
+      <returns>
+        <see langword="true" /> if the two arrays are not equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Remove(`0)">
+      <summary>Returns an array with the first occurrence of the specified element removed from the array. If no match is found, the current array is returned.</summary>
+      <param name="item">The item to remove.</param>
+      <returns>A new array with the item removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Returns an array with the first occurrence of the specified element removed from the array.  
+  
+ If no match is found, the current array is returned.</summary>
+      <param name="item">The item to remove.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new array with the specified item removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveAll(System.Predicate{`0})">
+      <summary>Removes all the items from the array that meet the specified condition.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to remove.</param>
+      <returns>A new array with items that meet the specified condition removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveAt(System.Int32)">
+      <summary>Returns an array with the element at the specified position removed.</summary>
+      <param name="index">The 0-based index of the element to remove from the returned array.</param>
+      <returns>A new array with the item at the specified index removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the specified items from this array.</summary>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <returns>A new array with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the specified items from this array.</summary>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new array with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Removes the specified values from this list.</summary>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <returns>A new list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Collections.Immutable.ImmutableArray{`0},System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the specified items from this list.</summary>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new array with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.RemoveRange(System.Int32,System.Int32)">
+      <summary>Returns an array with the elements at the specified position removed.</summary>
+      <param name="index">The 0-based index of the starting element to remove from the array.</param>
+      <param name="length">The number of elements to remove from the array.</param>
+      <returns>The new array with the specified elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Replace(`0,`0)">
+      <summary>Finds the first element in the array equal to the specified value and replaces the value with the specified new value.</summary>
+      <param name="oldValue">The value to find and replace in the array.</param>
+      <param name="newValue">The value to replace the <c>oldvalue</c> with.</param>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="oldValue" /> is not found in the array.</exception>
+      <returns>A new array that contains <paramref name="newValue" /> even if the new and old values are the same.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Finds the first element in the array equal to the specified value and replaces the value with the specified new value.</summary>
+      <param name="oldValue">The value to find and replace in the array.</param>
+      <param name="newValue">The value to replace the <c>oldvalue</c> with.</param>
+      <param name="equalityComparer">The equality comparer to use to compare values.</param>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="oldValue" /> is not found in the array.</exception>
+      <returns>A new array that contains <paramref name="newValue" /> even if the new and old values are the same.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.SetItem(System.Int32,`0)">
+      <summary>Replaces the item at the specified index with the specified item.</summary>
+      <param name="index">The index of the item to replace.</param>
+      <param name="item">The item to add to the list.</param>
+      <returns>The new array that contains <paramref name="item" /> at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort">
+      <summary>Sorts the elements in the immutable array using the default comparer.</summary>
+      <returns>A new immutable array that contains the items in this array, in sorted order.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort(System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the elements in the immutable array using the specified comparer.</summary>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> to use the default comparer.</param>
+      <returns>A new immutable array that contains the items in this array, in sorted order.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort(System.Comparison{`0})">
+      <summary>Sorts the elements in the entire <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> using             the specified <see cref="T:System.Comparison`1" />.</summary>
+      <param name="comparison">The <see cref="T:System.Comparison`1" /> to use when comparing elements.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="comparison" /> is null.</exception>
+      <returns>The sorted list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the specified elements in the immutable array using the specified comparer.</summary>
+      <param name="index">The index of the first element to sort.</param>
+      <param name="count">The number of elements to include in the sort.</param>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> to use the default comparer.</param>
+      <returns>A new immutable array that contains the items in this array, in sorted order.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#Add(`0)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="item">The item to add to the end of the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#Clear">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="item">The object to remove from the array.</param>
+      <returns>Throws <see cref="T:System.NotSupportedException" /> in all cases.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the array.</summary>
+      <exception cref="T:System.InvalidOperationException">The <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns <see langword="true" />.</exception>
+      <returns>An enumerator that can be used to iterate through the array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IList{T}#Insert(System.Int32,`0)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="index">The index of the location to insert the item.</param>
+      <param name="item">The item to insert.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IList{T}#RemoveAt(System.Int32)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="index">The index.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies this array to another array starting at the specified index.</summary>
+      <param name="array">The array to copy this array to.</param>
+      <param name="index">The index in the destination array to start the copy operation.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable array.</summary>
+      <exception cref="T:System.InvalidOperationException">The <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns <see langword="true" />.</exception>
+      <returns>An enumerator that iterates through the immutable array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Add(System.Object)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="value">The value to add to the array.</param>
+      <exception cref="T:System.NotSupportedException">Thrown in all cases.</exception>
+      <returns>Throws <see cref="T:System.NotSupportedException" /> in all cases.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Clear">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <exception cref="T:System.NotSupportedException">Thrown in all cases.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Contains(System.Object)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="value">The value to check for.</param>
+      <returns>Throws <see cref="T:System.NotSupportedException" /> in all cases.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#IndexOf(System.Object)">
+      <summary>Gets the value at the specified index.</summary>
+      <param name="value">The value to return the index of.</param>
+      <returns>The value of the element at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Insert(System.Int32,System.Object)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="index">Index that indicates where to insert the item.</param>
+      <param name="value">The value to insert.</param>
+      <exception cref="T:System.NotSupportedException">Thrown in all cases.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Remove(System.Object)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="value">The value to remove from the array.</param>
+      <exception cref="T:System.NotSupportedException">Thrown in all cases.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#RemoveAt(System.Int32)">
+      <summary>Throws <see cref="T:System.NotSupportedException" /> in all cases.</summary>
+      <param name="index">The index of the item to remove.</param>
+      <exception cref="T:System.NotSupportedException">Thrown in all cases.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Add(`0)">
+      <summary>Returns a copy of the original array with the specified item added to the end.</summary>
+      <param name="value">The value to add to the end of the array.</param>
+      <returns>A new array with the specified item added to the end.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Returns a copy of the original array with the specified elements added to the end of the array.</summary>
+      <param name="items">The elements to add to the end of the array.</param>
+      <returns>A new array with the elements added to the end.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Clear">
+      <summary>Returns an array with all the elements removed.</summary>
+      <returns>An array with all the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Insert(System.Int32,`0)">
+      <summary>Returns a new array with the specified value inserted at the specified position.</summary>
+      <param name="index">The 0-based index into the array at which the new item should be added.</param>
+      <param name="element">The item to insert at the start of the array.</param>
+      <returns>A new array with the specified value inserted.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
+      <summary>Inserts the specified values at the specified index.</summary>
+      <param name="index">The index at which to insert the value.</param>
+      <param name="items">The elements to insert.</param>
+      <returns>A new array with the specified values inserted.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Returns an array with the first occurrence of the specified element removed from the array; if no match is found, the current array is returned.</summary>
+      <param name="value">The value to remove from the array.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new array with the value removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveAll(System.Predicate{`0})">
+      <summary>Removes all the items from the array that meet the specified condition.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to remove.</param>
+      <returns>A new array with items that meet the specified condition removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveAt(System.Int32)">
+      <summary>Returns an array with the element at the specified position removed.</summary>
+      <param name="index">The 0-based index of the element to remove from the returned array.</param>
+      <returns>A new array with the specified item removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the specified items from this array.</summary>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new array with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Int32,System.Int32)">
+      <summary>Returns an array with the elements at the specified position removed.</summary>
+      <param name="index">The 0-based index of the starting element to remove from the array.</param>
+      <param name="count">The number of elements to remove from the array.</param>
+      <returns>The new array with the specified elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Finds the first element in the array equal to the specified value and replaces the value with the specified new value.</summary>
+      <param name="oldValue">The value to find and replace in the array.</param>
+      <param name="newValue">The value to replace the <c>oldvalue</c> with.</param>
+      <param name="equalityComparer">The equality comparer to use to compare values.</param>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="oldValue" /> is not found in the array.</exception>
+      <returns>A new array that contains <paramref name="newValue" /> even if the new and old values are the same.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#Immutable#IImmutableList{T}#SetItem(System.Int32,`0)">
+      <summary>Replaces the item at the specified index with the specified item.</summary>
+      <param name="index">The index of the item to replace.</param>
+      <param name="value">The value to add to the list.</param>
+      <returns>The new array that contains <paramref name="item" /> at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IStructuralComparable#CompareTo(System.Object,System.Collections.IComparer)">
+      <summary>Determines whether the current collection element precedes, occurs in the same position as, or follows another element in the sort order.</summary>
+      <param name="other">The element to compare with the current instance.</param>
+      <param name="comparer">The object used to compare members of the current array with the corresponding members of other array.</param>
+      <exception cref="T:System.ArgumentException">The arrays are not the same length.</exception>
+      <returns>An integer that indicates whether the current element precedes, is in the same position or follows the other element.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IStructuralEquatable#Equals(System.Object,System.Collections.IEqualityComparer)">
+      <summary>Determines whether this array is structurally equal to the specified array.</summary>
+      <param name="other">The array to compare with the current instance.</param>
+      <param name="comparer">An object that determines whether the current instance and other are structurally equal.</param>
+      <returns>
+        <see langword="true" /> if the two arrays are structurally equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.System#Collections#IStructuralEquatable#GetHashCode(System.Collections.IEqualityComparer)">
+      <summary>Returns a hash code for the current instance.</summary>
+      <param name="comparer">An object that computes the hash code of the current object.</param>
+      <returns>The hash code for the current instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.ToBuilder">
+      <summary>Creates a mutable array that has the same contents as this array and can be efficiently mutated across multiple operations using standard mutable interfaces.</summary>
+      <returns>The new builder with the same contents as this array.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.IsDefault">
+      <summary>Gets a value indicating whether this array was declared but not initialized.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> is <see langword="null" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.IsDefaultOrEmpty">
+      <summary>Gets a value indicating whether this <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> is empty or is not initialized.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> is <see langword="null" /> or <see cref="F:System.Collections.Immutable.ImmutableArray`1.Empty" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.IsEmpty">
+      <summary>Gets a value indicating whether this <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> is empty.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Item(System.Int32)">
+      <summary>Gets the element at the specified index in the immutable array.</summary>
+      <param name="index">The zero-based index of the element to get.</param>
+      <returns>The element at the specified index in the immutable array.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Length">
+      <summary>Gets the number of elements in the array.</summary>
+      <returns>The number of elements in the array.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#Count">
+      <summary>Gets the number of items in the collection.</summary>
+      <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns true.</exception>
+      <returns>Number of items in the collection.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Gets a value indicating whether this instance is read only.</summary>
+      <returns>
+        <see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
+      <summary>Gets or sets the element at the specified index in the read-only list.</summary>
+      <param name="index">The zero-based index of the element to get.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
+      <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns true.</exception>
+      <returns>The element at the specified index in the read-only list.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IReadOnlyCollection{T}#Count">
+      <summary>Gets the number of items in the collection.</summary>
+      <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns true.</exception>
+      <returns>The number of items in the collection.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#Generic#IReadOnlyList{T}#Item(System.Int32)">
+      <summary>Gets the element at the specified index.</summary>
+      <param name="index">The index.</param>
+      <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns true.</exception>
+      <returns>The element.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#Count">
+      <summary>Gets the size of the array.</summary>
+      <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns true.</exception>
+      <returns>The number of items in the collection.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#IsSynchronized">
+      <summary>See the <see cref="T:System.Collections.ICollection" /> interface. Always returns <see langword="true" /> since since immutable collections are thread-safe.</summary>
+      <returns>Boolean value determining whether the collection is thread-safe.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#ICollection#SyncRoot">
+      <summary>Gets the sync root.</summary>
+      <returns>An object for synchronizing access to the collection.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#IsFixedSize">
+      <summary>Gets a value indicating whether this instance is fixed size.</summary>
+      <returns>
+        <see langword="true" /> if this instance is fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#IsReadOnly">
+      <summary>Gets a value indicating whether this instance is read only.</summary>
+      <returns>
+        <see langword="true" /> if this instance is read only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.System#Collections#IList#Item(System.Int32)">
+      <summary>Gets or sets the <see cref="T:System.Object" /> at the specified index.</summary>
+      <param name="index">The index.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
+      <exception cref="T:System.InvalidOperationException">Thrown if the <see cref="P:System.Collections.Immutable.ImmutableArray`1.IsDefault" /> property returns true.</exception>
+      <returns>The object at the specified index.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableArray`1.Builder">
+      <summary>A writable array accessor that can be converted into an <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> instance without allocating extra memory.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Add(`0)">
+      <summary>Adds the specified item to the array.</summary>
+      <param name="item">The object to add to the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(`0[])">
+      <summary>Adds the specified items to the end of the array.</summary>
+      <param name="items">The items to add to the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(`0[],System.Int32)">
+      <summary>Adds the specified items to the end of the array.</summary>
+      <param name="items">The items to add to the array.</param>
+      <param name="length">The number of elements from the source array to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Adds the specified items to the end of the array.</summary>
+      <param name="items">The items to add to the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Immutable.ImmutableArray{`0}.Builder)">
+      <summary>Adds the specified items to the end of the array.</summary>
+      <param name="items">The items to add to the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Immutable.ImmutableArray{`0})">
+      <summary>Adds the specified items to the end of the array.</summary>
+      <param name="items">The items to add to the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange(System.Collections.Immutable.ImmutableArray{`0},System.Int32)">
+      <summary>Adds the specified items to the end of the array.</summary>
+      <param name="items">The items to add to the array.</param>
+      <param name="length">The number of elements from the source array to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(``0[])">
+      <summary>Adds the specified items that derive from the type currently in the array, to the end of the array.</summary>
+      <param name="items">The items to add to end of the array.</param>
+      <typeparam name="TDerived">The type that derives from the type of item already in the array.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Adds the specified items that derive from the type currently in the array, to the end of the array.</summary>
+      <param name="items">The items to add to the end of the array.</param>
+      <typeparam name="TDerived">The type that derives from the type of item already in the array.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.AddRange``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Adds the specified items that derive from the type currently in the array, to the end of the array.</summary>
+      <param name="items">The items to add to the end of the array.</param>
+      <typeparam name="TDerived">The type that derives from the type of item already in the array.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Clear">
+      <summary>Removes all items from the array.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Contains(`0)">
+      <summary>Determines whether the array contains a specific value.</summary>
+      <param name="item">The object to locate in the array.</param>
+      <returns>
+        <see langword="true" /> if the object is found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.CopyTo(`0[],System.Int32)">
+      <summary>Copies the current contents to the specified array.</summary>
+      <param name="array">The array to copy to.</param>
+      <param name="index">The index to start the copy operation.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.GetEnumerator">
+      <summary>Gets an object that can be used to iterate through the collection.</summary>
+      <returns>An object that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0)">
+      <summary>Determines the index of a specific item in the array.</summary>
+      <param name="item">The item to locate in the array.</param>
+      <returns>The index of <paramref name="item" /> if it's found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0,System.Int32)">
+      <summary>Determines the index of the specified item.</summary>
+      <param name="item">The item to locate in the array.</param>
+      <param name="startIndex">The starting position of the search.</param>
+      <returns>The index of <paramref name="item" /> if it's found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0,System.Int32,System.Int32)">
+      <summary>Determines the index of the specified item.</summary>
+      <param name="item">The item to locate in the array.</param>
+      <param name="startIndex">The starting position of the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <returns>The index of <paramref name="item" /> if it's found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Determines the index for the specified item.</summary>
+      <param name="item">The item to locate in the array.</param>
+      <param name="startIndex">The index at which to begin the search.</param>
+      <param name="count">The starting position of the search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The index of <paramref name="item" /> if it's found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Insert(System.Int32,`0)">
+      <summary>Inserts an item in the array at the specified index.</summary>
+      <param name="index">The zero-based index at which to insert the item.</param>
+      <param name="item">The object to insert into the array.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.ItemRef(System.Int32)">
+      <summary>Gets a read-only reference to the element at the specified index.</summary>
+      <param name="index">The item index.</param>
+      <exception cref="T:System.IndexOutOfRangeException">
+        <paramref name="index" /> is greater or equal to the array count.</exception>
+      <returns>The read-only reference to the element at the specified index.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0)">
+      <summary>Determines the 0-based index of the last occurrence of the specified item in this array.</summary>
+      <param name="item">The item to search for.</param>
+      <returns>The 0-based index where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0,System.Int32)">
+      <summary>Determines the 0-based index of the last occurrence of the specified item in this array.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The starting position of the search.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0,System.Int32,System.Int32)">
+      <summary>Determines the 0-based index of the last occurrence of the specified item in this array.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The starting position of the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Determines the 0-based index of the last occurrence of the specified item in this array.</summary>
+      <param name="item">The item to search for.</param>
+      <param name="startIndex">The starting position of the search.</param>
+      <param name="count">The number of elements to search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The 0-based index into the array where the item was found; or -1 if it could not be found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.MoveToImmutable">
+      <summary>Extracts the internal array as an <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> and replaces it              with a zero length array.</summary>
+      <exception cref="T:System.InvalidOperationException">When <see cref="P:System.Collections.Immutable.ImmutableArray`1.Builder.Count" /> doesn't              equal <see cref="P:System.Collections.Immutable.ImmutableArray`1.Builder.Capacity" />.</exception>
+      <returns>An immutable array containing the elements of the builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Remove(`0)">
+      <summary>Removes the specified element.</summary>
+      <param name="element">The item to remove.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="element" /> was found and removed; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.RemoveAt(System.Int32)">
+      <summary>Removes the item at the specified index from the array.</summary>
+      <param name="index">The zero-based index of the item to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Reverse">
+      <summary>Reverses the order of elements in the collection.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort">
+      <summary>Sorts the contents of the array.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort(System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the contents of the array.</summary>
+      <param name="comparer">The comparer to use for sorting. If comparer is <see langword="null" />, the default comparer for the elements type in the array is used.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort(System.Comparison{`0})">
+      <summary>Sorts the elements in the entire array using the specified <see cref="T:System.Comparison`1" />.</summary>
+      <param name="comparison">The <see cref="T:System.Comparison`1" /> to use when comparing elements.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="comparison" /> is null.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the contents of the array.</summary>
+      <param name="index">The starting index for the sort.</param>
+      <param name="count">The number of elements to include in the sort.</param>
+      <param name="comparer">The comparer to use for sorting. If comparer is <see langword="null" />, the default comparer for the elements type in the array is used.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the array.</summary>
+      <returns>An enumerator that iterates through the array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the array.</summary>
+      <returns>An enumerator that iterates through the array.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.ToArray">
+      <summary>Creates a new array with the current contents of this <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder" />.</summary>
+      <returns>A new array with the contents of this <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Builder.ToImmutable">
+      <summary>Returns an immutable array that contains the current contents of this <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder" />.</summary>
+      <returns>An immutable array that contains the current contents of this <see cref="T:System.Collections.Immutable.ImmutableArray`1.Builder" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.Capacity">
+      <summary>Gets or sets the length of the internal array. When set, the internal array is reallocated to the given capacity if it is not already the specified length.</summary>
+      <returns>The length of the internal array.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.Count">
+      <summary>Gets or sets the number of items in the array.</summary>
+      <returns>The number of items in the array.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.Item(System.Int32)">
+      <summary>Gets or sets the item at the specified index.</summary>
+      <param name="index">The index of the item to get or set.</param>
+      <exception cref="T:System.IndexOutOfRangeException">The specified index is not in the array.</exception>
+      <returns>The item at the specified index.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableArray`1.Enumerator">
+      <summary>An array enumerator.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableArray`1.Enumerator.MoveNext">
+      <summary>Advances to the next value in the array.</summary>
+      <returns>
+        <see langword="true" /> if another item exists in the array; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableArray`1.Enumerator.Current">
+      <summary>Gets the current item.</summary>
+      <returns>The current item.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableDictionary">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.Contains``2(System.Collections.Immutable.IImmutableDictionary{``0,``1},``0,``1)">
+      <summary>Determines whether the specified immutable dictionary contains the specified key/value pair.</summary>
+      <param name="map">The immutable dictionary to search.</param>
+      <param name="key">The key to locate in the immutable dictionary.</param>
+      <param name="value">The value to locate on the specified key, if the key is found.</param>
+      <typeparam name="TKey">The type of the keys in the immutable dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the immutable dictionary.</typeparam>
+      <returns>
+        <see langword="true" /> if this map contains the specified key/value pair; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.Create``2">
+      <summary>Creates an empty immutable dictionary.</summary>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>An empty immutable dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.Create``2(System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Creates an empty immutable dictionary that uses the specified key comparer.</summary>
+      <param name="keyComparer">The implementation to use to determine the equality of keys in the dictionary.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>An empty immutable dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.Create``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Creates an empty immutable dictionary that uses the specified key and value comparers.</summary>
+      <param name="keyComparer">The implementation to use to determine the equality of keys in the dictionary.</param>
+      <param name="valueComparer">The implementation to use to determine the equality of values in the dictionary.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>An empty immutable dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateBuilder``2">
+      <summary>Creates a new immutable dictionary builder.</summary>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>The new builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateBuilder``2(System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Creates a new immutable dictionary builder.</summary>
+      <param name="keyComparer">The key comparer.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>The new builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateBuilder``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Creates a new immutable dictionary builder.</summary>
+      <param name="keyComparer">The key comparer.</param>
+      <param name="valueComparer">The value comparer.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>The new builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateRange``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Creates a new immutable dictionary that contains the specified items.</summary>
+      <param name="items">The items used to populate the dictionary before it's immutable.</param>
+      <typeparam name="TKey">The type of keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values in the dictionary.</typeparam>
+      <returns>A new immutable dictionary that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateRange``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Creates a new immutable dictionary that contains the specified items and uses the specified key comparer.</summary>
+      <param name="keyComparer">The comparer implementation to use to compare keys for equality.</param>
+      <param name="items">The items to add to the dictionary before it's immutable.</param>
+      <typeparam name="TKey">The type of keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values in the dictionary.</typeparam>
+      <returns>A new immutable dictionary that contains the specified items and uses the specified comparer.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.CreateRange``2(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Creates a new immutable dictionary that contains the specified items and uses the specified key comparer.</summary>
+      <param name="keyComparer">The comparer implementation to use to compare keys for equality.</param>
+      <param name="valueComparer">The comparer implementation to use to compare values for equality.</param>
+      <param name="items">The items to add to the dictionary before it's immutable.</param>
+      <typeparam name="TKey">The type of keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values in the dictionary.</typeparam>
+      <returns>A new immutable dictionary that contains the specified items and uses the specified comparer.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.GetValueOrDefault``2(System.Collections.Immutable.IImmutableDictionary{``0,``1},``0)">
+      <summary>Gets the value for a given key if a matching key exists in the dictionary.</summary>
+      <param name="dictionary">The dictionary to retrieve the value from.</param>
+      <param name="key">The key to search for.</param>
+      <typeparam name="TKey">The type of the key.</typeparam>
+      <typeparam name="TValue">The type of the value.</typeparam>
+      <returns>The value for the key, or <c>default(TValue)</c> if no matching key was found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.GetValueOrDefault``2(System.Collections.Immutable.IImmutableDictionary{``0,``1},``0,``1)">
+      <summary>Gets the value for a given key if a matching key exists in the dictionary.</summary>
+      <param name="dictionary">The dictionary to retrieve the value from.</param>
+      <param name="key">The key to search for.</param>
+      <param name="defaultValue">The default value to return if no matching key is found in the dictionary.</param>
+      <typeparam name="TKey">The type of the key.</typeparam>
+      <typeparam name="TValue">The type of the value.</typeparam>
+      <returns>The value for the key, or <paramref name="defaultValue" /> if no matching key was found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
+      <summary>Constructs an immutable dictionary from an existing collection of elements, applying a transformation function to the source keys.</summary>
+      <param name="source">The source collection used to generate the immutable dictionary.</param>
+      <param name="keySelector">The function used to transform keys for the immutable dictionary.</param>
+      <typeparam name="TSource">The type of element in the source collection.</typeparam>
+      <typeparam name="TKey">The type of key in the resulting immutable dictionary.</typeparam>
+      <returns>The immutable dictionary that contains elements from <paramref name="source" />, with keys transformed by applying <paramref name="keySelector" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Constructs an immutable dictionary based on some transformation of a sequence.</summary>
+      <param name="source">The source collection used to generate the immutable dictionary.</param>
+      <param name="keySelector">The function used to transform keys for the immutable dictionary.</param>
+      <param name="keyComparer">The key comparer to use for the dictionary.</param>
+      <typeparam name="TSource">The type of element in the source collection.</typeparam>
+      <typeparam name="TKey">The type of key in the resulting immutable dictionary.</typeparam>
+      <returns>The immutable dictionary that contains elements from <paramref name="source" />, with keys transformed by applying <paramref name="keySelector" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents.</summary>
+      <param name="source">The sequence of key/value pairs to enumerate.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the key/value pairs in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer.</summary>
+      <param name="source">The sequence of key/value pairs to enumerate.</param>
+      <param name="keyComparer">The key comparer to use when building the immutable dictionary.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the key/value pairs in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key and value comparers.</summary>
+      <param name="source">The sequence of key/value pairs to enumerate.</param>
+      <param name="keyComparer">The key comparer to use when building the immutable dictionary.</param>
+      <param name="valueComparer">The value comparer to use for the immutable dictionary.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the key/value pairs in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}.Builder)">
+      <summary>Creates an immutable dictionary from the current contents of the builder's dictionary.</summary>
+      <param name="builder">The builder to create the immutable dictionary from.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the current contents in the builder's dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
+      <summary>Enumerates and transforms a sequence, and produces an immutable dictionary of its contents.</summary>
+      <param name="source">The sequence to enumerate to generate the dictionary.</param>
+      <param name="keySelector">The function that will produce the key for the dictionary from each sequence element.</param>
+      <param name="elementSelector">The function that will produce the value for the dictionary from each sequence element.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <typeparam name="TKey">The type of the keys in the resulting dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the resulting dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key comparer.</summary>
+      <param name="source">The sequence to enumerate to generate the dictionary.</param>
+      <param name="keySelector">The function that will produce the key for the dictionary from each sequence element.</param>
+      <param name="elementSelector">The function that will produce the value for the dictionary from each sequence element.</param>
+      <param name="keyComparer">The key comparer to use for the dictionary.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <typeparam name="TKey">The type of the keys in the resulting dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the resulting dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary.ToImmutableDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1},System.Collections.Generic.IEqualityComparer{``2})">
+      <summary>Enumerates and transforms a sequence, and produces an immutable dictionary of its contents by using the specified key and value comparers.</summary>
+      <param name="source">The sequence to enumerate to generate the dictionary.</param>
+      <param name="keySelector">The function that will produce the key for the dictionary from each sequence element.</param>
+      <param name="elementSelector">The function that will produce the value for the dictionary from each sequence element.</param>
+      <param name="keyComparer">The key comparer to use for the dictionary.</param>
+      <param name="valueComparer">The value comparer to use for the dictionary.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <typeparam name="TKey">The type of the keys in the resulting dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the resulting dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableDictionary`2">
+      <summary>Represents an immutable, unordered collection of keys and values.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+    </member>
+    <member name="F:System.Collections.Immutable.ImmutableDictionary`2.Empty">
+      <summary>Gets an empty immutable dictionary.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Add(`0,`1)">
+      <summary>Adds an element with the specified key and value to the immutable dictionary.</summary>
+      <param name="key">The key of the element to add.</param>
+      <param name="value">The value of the element to add.</param>
+      <exception cref="T:System.ArgumentException">The given key already exists in the dictionary but has a different value.</exception>
+      <returns>A new immutable dictionary that contains the additional key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Adds the specified key/value pairs to the immutable dictionary.</summary>
+      <param name="pairs">The key/value pairs to add.</param>
+      <exception cref="T:System.ArgumentException">One of the given keys already exists in the dictionary but has a different value.</exception>
+      <returns>A new immutable dictionary that contains the additional key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Clear">
+      <summary>Retrieves an empty immutable dictionary that has the same ordering and key/value comparison rules as this dictionary instance.</summary>
+      <returns>An empty dictionary with equivalent ordering and key/value comparison rules.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Determines whether this immutable dictionary contains the specified key/value pair.</summary>
+      <param name="pair">The key/value pair to locate.</param>
+      <returns>
+        <see langword="true" /> if the specified key/value pair is found in the dictionary; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ContainsKey(`0)">
+      <summary>Determines whether the immutable dictionary contains an element with the specified key.</summary>
+      <param name="key">The key to locate.</param>
+      <returns>
+        <see langword="true" /> if the immutable dictionary contains an element with the specified key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ContainsValue(`1)">
+      <summary>Determines whether the immutable dictionary contains an element with the specified value.</summary>
+      <param name="value">The value to locate. The value can be <see langword="null" /> for reference types.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable dictionary.</summary>
+      <returns>An enumerator that can be used to iterate through the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Remove(`0)">
+      <summary>Removes the element with the specified key from the immutable dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+      <returns>A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements with the specified keys from the immutable dictionary.</summary>
+      <param name="keys">The keys of the elements to remove.</param>
+      <returns>A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.SetItem(`0,`1)">
+      <summary>Sets the specified key and value in the immutable dictionary, possibly overwriting an existing value for the key.</summary>
+      <param name="key">The key of the entry to add.</param>
+      <param name="value">The key value to set.</param>
+      <returns>A new immutable dictionary that contains the specified key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Sets the specified key/value pairs in the immutable dictionary, possibly overwriting existing values for the keys.</summary>
+      <param name="items">The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values.</param>
+      <returns>A new immutable dictionary that contains the specified key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <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>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Clear">
+      <summary>Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],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>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
+      <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+      <summary>Adds an element with the provided key and value to the immutable dictionary.</summary>
+      <param name="key">The object to use as the key of the element to add.</param>
+      <param name="value">The object to use as the value of the element to add.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</exception>
+      <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+      <summary>Removes the element with the specified key from the generic dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.</exception>
+      <returns>
+        <see langword="true" /> if the element is successfully removed; otherwise, <see langword="false" />.  This method also returns <see langword="false" /> if <paramref name="key" /> was not found in the original generic dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey@TValue}}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the dictionary to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+      <summary>Adds an element with the provided key and value to the immutable dictionary object.</summary>
+      <param name="key">The object to use as the key of the element to add.</param>
+      <param name="value">The object to use as the value of the element to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Clear">
+      <summary>Clears this instance.</summary>
+      <exception cref="T:System.NotSupportedException">The dictionary object is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+      <summary>Determines whether the immutable dictionary object contains an element with the specified key.</summary>
+      <param name="key">The key to locate in the dictionary object.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#GetEnumerator">
+      <summary>Returns an <see cref="T:System.Collections.IDictionaryEnumerator" /> object for the immutable dictionary object.</summary>
+      <returns>An enumerator object for the dictionary object.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+      <summary>Removes the element with the specified key from the immutable dictionary object.</summary>
+      <param name="key">The key of the element to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a collection.</summary>
+      <returns>An enumerator object that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#Add(`0,`1)">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="key">Key of the entry to be added.</param>
+      <param name="value">Value of the entry to be added.</param>
+      <returns>A new immutable dictionary that contains the additional key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="pairs">Sequence of key/value pairs to be added to the dictionary.</param>
+      <returns>A new immutable dictionary that contains the additional key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#Clear">
+      <summary>Retrieves an empty dictionary that has the same ordering and key-value comparison rules as this dictionary instance.</summary>
+      <returns>The immutable dictionary instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#Remove(`0)">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="key">Key of the entry to be removed.</param>
+      <returns>A new immutable dictionary with the specified element removed; or this instance if the specified key cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="keys">Sequence of keys to be removed.</param>
+      <returns>A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#SetItem(`0,`1)">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="key">Key of entry to be added.</param>
+      <param name="value">Value of the entry to be added.</param>
+      <returns>A new immutable dictionary that contains the specified key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Applies a given set of key-value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.</summary>
+      <param name="items">The key-value pairs to set on the map. Any keys that conflict with existing keys will replace the previous values.</param>
+      <returns>A copy of the immutable dictionary with updated key-value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.ToBuilder">
+      <summary>Creates an immutable dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces.</summary>
+      <returns>A collection with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryGetKey(`0,`0@)">
+      <summary>Determines whether this dictionary contains a specified key.</summary>
+      <param name="equalKey">The key to search for.</param>
+      <param name="actualKey">The matching key located in the dictionary if found, or <c>equalkey</c> if no match is found.</param>
+      <returns>
+        <see langword="true" /> if a match for <paramref name="equalKey" /> is found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.TryGetValue(`0,`1@)">
+      <summary>Gets the value associated with the specified key.</summary>
+      <param name="key">The key whose value will be retrieved.</param>
+      <param name="value">When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is null.</exception>
+      <returns>
+        <see langword="true" /> if the object that implements the dictionary contains an element with the specified key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.WithComparers(System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Gets an instance of the immutable dictionary that uses the specified key comparer.</summary>
+      <param name="keyComparer">The key comparer to use.</param>
+      <returns>An instance of the immutable dictionary that uses the given comparer.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.WithComparers(System.Collections.Generic.IEqualityComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
+      <summary>Gets an instance of the immutable dictionary that uses the specified key and value comparers.</summary>
+      <param name="keyComparer">The key comparer to use.</param>
+      <param name="valueComparer">The value comparer to use.</param>
+      <returns>An instance of the immutable dictionary that uses the given comparers.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Count">
+      <summary>Gets the number of key/value pairs in the immutable dictionary.</summary>
+      <returns>The number of key/value pairs in the dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.IsEmpty">
+      <summary>Gets a value that indicates whether this instance of the immutable dictionary is empty.</summary>
+      <returns>
+        <see langword="true" /> if this instance is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Item(`0)">
+      <summary>Gets the <paramref name="TValue" /> associated with the specified key.</summary>
+      <param name="key">The type of the key.</param>
+      <returns>The value associated with the specified key. If no results are found, the operation throws an exception.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.KeyComparer">
+      <summary>Gets the key comparer for the immutable dictionary.</summary>
+      <returns>The key comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Keys">
+      <summary>Gets the keys in the immutable dictionary.</summary>
+      <returns>The keys in the immutable dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Item(`0)">
+      <summary>Gets or sets the <typeparamref name="TValue" /> with the specified key.</summary>
+      <param name="key">The type of the key.</param>
+      <returns>An object of type <typeparamref name="TValue" /> associated with the <paramref name="key" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Keys">
+      <summary>Gets the keys.</summary>
+      <returns>A collection containing the keys.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Values">
+      <summary>Gets the values.</summary>
+      <returns>A collection containing the values.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#ICollection#IsSynchronized">
+      <summary>Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe).</summary>
+      <returns>
+        <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe); otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#ICollection#SyncRoot">
+      <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#IsFixedSize">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+      <summary>Gets or sets the element with the specified key.</summary>
+      <param name="key">The key.</param>
+      <returns>The value stored under the specified key.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Keys">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.System#Collections#IDictionary#Values">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.ValueComparer">
+      <summary>Gets the value comparer used to determine whether values are equal.</summary>
+      <returns>The value comparer used to determine whether values are equal.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Values">
+      <summary>Gets the values in the immutable dictionary.</summary>
+      <returns>The values in the immutable dictionary.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableDictionary`2.Builder">
+      <summary>Represents a hash map that mutates with little or no memory allocations and that can produce or build on immutable hash map instances very efficiently.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey" />
+      <typeparam name="TValue" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Add(`0,`1)">
+      <summary>Adds an element that has the specified key and value to the immutable dictionary.</summary>
+      <param name="key">The key of the element to add.</param>
+      <param name="value">The value of the element to add.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is null.</exception>
+      <exception cref="T:System.ArgumentException">An element with the same key already exists in the dictionary.</exception>
+      <exception cref="T:System.NotSupportedException">The dictionary is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Adds the specified item to the immutable dictionary.</summary>
+      <param name="item">The object to add to the dictionary.</param>
+      <exception cref="T:System.NotSupportedException">The dictionary is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Adds a sequence of values to this collection.</summary>
+      <param name="items">The items to add to this collection.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Clear">
+      <summary>Removes all items from the immutable dictionary.</summary>
+      <exception cref="T:System.NotSupportedException">The dictionary is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Determines whether the immutable dictionary contains a specific value.</summary>
+      <param name="item">The object to locate in the dictionary.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> is found in the dictionary; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.ContainsKey(`0)">
+      <summary>Determines whether the immutable dictionary contains an element that has the specified key.</summary>
+      <param name="key">The key to locate in the dictionary.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is null.</exception>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.ContainsValue(`1)">
+      <summary>Determines whether the immutable dictionary contains an element that has the specified value.</summary>
+      <param name="value">The value to locate in the immutable dictionary. The value can be <see langword="null" /> for reference types.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable dictionary.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.GetValueOrDefault(`0)">
+      <summary>Gets the value for a given key if a matching key exists in the dictionary.</summary>
+      <param name="key">The key to search for.</param>
+      <returns>The value for the key, or <c>default(TValue)</c> if no matching key was found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.GetValueOrDefault(`0,`1)">
+      <summary>Gets the value for a given key if a matching key exists in the dictionary.</summary>
+      <param name="key">The key to search for.</param>
+      <param name="defaultValue">The default value to return if no matching key is found in the dictionary.</param>
+      <returns>The value for the key, or <paramref name="defaultValue" /> if no matching key was found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Remove(`0)">
+      <summary>Removes the element with the specified key from the immutable dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is null.</exception>
+      <exception cref="T:System.NotSupportedException">The dictionary is read-only.</exception>
+      <returns>
+        <see langword="true" /> if the element is successfully removed; otherwise, <see langword="false" />.  This method also returns <see langword="false" /> if <paramref name="key" /> was not found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Removes the first occurrence of a specific object from the immutable dictionary.</summary>
+      <param name="item">The object to remove from the dictionary.</param>
+      <exception cref="T:System.NotSupportedException">The dictionary is read-only.</exception>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the dictionary; otherwise, <see langword="false" />. This method also returns false if <paramref name="item" /> is not found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes any entries with keys that match those found in the specified sequence from the immutable dictionary.</summary>
+      <param name="keys">The keys for entries to remove from the dictionary.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+      <summary>Copies the elements of the dictionary to an array of type <see cref="T:System.Collections.Generic.KeyValuePair`2" />, starting at the specified array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey@TValue}}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the dictionary to an array of type <see cref="T:System.Collections.Generic.KeyValuePair`2" />, starting at the specified array index.</summary>
+      <param name="array">The one-dimensional array of type <see cref="T:System.Collections.Generic.KeyValuePair`2" /> that is the destination of the elements copied from the dictionary. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Add(System.Object,System.Object)">
+      <summary>Adds an element with the provided key and value to the dictionary object.</summary>
+      <param name="key">The key of the element to add.</param>
+      <param name="value">The value of the element to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Contains(System.Object)">
+      <summary>Determines whether the dictionary object contains an element with the specified key.</summary>
+      <param name="key">The key to locate.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#GetEnumerator">
+      <summary>Returns an <see cref="T:System.Collections.IDictionaryEnumerator" /> object for the dictionary.</summary>
+      <exception cref="T:System.NotImplementedException" />
+      <returns>An <see cref="T:System.Collections.IDictionaryEnumerator" /> object for the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Remove(System.Object)">
+      <summary>Removes the element with the specified key from the dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a collection.</summary>
+      <returns>An enumerator object that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.ToImmutable">
+      <summary>Creates an immutable dictionary based on the contents of this instance.</summary>
+      <returns>An immutable dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.TryGetKey(`0,`0@)">
+      <summary>Determines whether this dictionary contains a specified key.</summary>
+      <param name="equalKey">The key to search for.</param>
+      <param name="actualKey">The matching key located in the dictionary if found, or <c>equalkey</c> if no match is found.</param>
+      <returns>
+        <see langword="true" /> if a match for <paramref name="equalKey" /> is found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Builder.TryGetValue(`0,`1@)">
+      <summary>Returns the value associated with the specified key.</summary>
+      <param name="key">The key whose value will be retrieved.</param>
+      <param name="value">When this method returns, contains the value associated with the specified key, if the key is found; otherwise, returns the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is null.</exception>
+      <returns>
+        <see langword="true" /> if the object that implements the immutable dictionary contains an element with the specified key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Count">
+      <summary>Gets the number of elements contained in the immutable dictionary.</summary>
+      <returns>The number of elements contained in the immutable dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Item(`0)">
+      <summary>Gets or sets the element with the specified key.</summary>
+      <param name="key">The element to get or set.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is being retrieved, and <paramref name="key" /> is not found.</exception>
+      <exception cref="T:System.NotSupportedException">The property is being set, and the <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.</exception>
+      <returns>The element that has the specified key.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.KeyComparer">
+      <summary>Gets or sets the key comparer.</summary>
+      <returns>The key comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Keys">
+      <summary>Gets a collection that contains the keys of the immutable dictionary.</summary>
+      <returns>A collection that contains the keys of the object that implements the immutable dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+      <summary>Gets a value that indicates whether the collection is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the collection is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey@TValue}#Keys">
+      <summary>Gets a collection containing the keys of the generic dictionary.</summary>
+      <returns>A collection containing the keys of the object that implements the generic dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey@TValue}#Values">
+      <summary>Gets a collection containing the values in the generic dictionary.</summary>
+      <returns>A collection containing the values in the object that implements the generic dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#ICollection#IsSynchronized">
+      <summary>Gets a value that indicates whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe).</summary>
+      <returns>
+        <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe); otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#ICollection#SyncRoot">
+      <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#IsFixedSize">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#IsReadOnly">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Item(System.Object)">
+      <summary>Gets or sets the element with the specified key.</summary>
+      <param name="key">The key.</param>
+      <returns>Value stored under specified key.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Keys">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.System#Collections#IDictionary#Values">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.ValueComparer">
+      <summary>Gets or sets the value comparer.</summary>
+      <returns>The value comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Builder.Values">
+      <summary>Gets a collection that contains the values of the immutable dictionary.</summary>
+      <returns>A collection that contains the values of the object that implements the dictionary.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableDictionary`2.Enumerator">
+      <summary>Enumerates the contents of the immutable dictionary without allocating any memory.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey" />
+      <typeparam name="TValue" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.Dispose">
+      <summary>Releases the resources used by the current instance of the <see cref="T:System.Collections.Immutable.ImmutableDictionary`2.Enumerator" /> class.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.MoveNext">
+      <summary>Advances the enumerator to the next element of the immutable dictionary.</summary>
+      <exception cref="T:System.InvalidOperationException">The dictionary was modified after the enumerator was created.</exception>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.Reset">
+      <summary>Sets the enumerator to its initial position, which is before the first element in the dictionary.</summary>
+      <exception cref="T:System.InvalidOperationException">The dictionary was modified after the enumerator was created.</exception>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.</summary>
+      <returns>The element in the dictionary at the current position of the enumerator.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableDictionary`2.Enumerator.System#Collections#IEnumerator#Current">
+      <summary>Gets the current element.</summary>
+      <returns>Current element in enumeration.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableHashSet">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1">
+      <summary>Creates an empty immutable hash set.</summary>
+      <typeparam name="T">The type of items to be stored in the immutable hash set.</typeparam>
+      <returns>An empty immutable hash set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(``0)">
+      <summary>Creates a new immutable hash set that contains the specified item.</summary>
+      <param name="item">The item to prepopulate the hash set with.</param>
+      <typeparam name="T">The type of items in the immutable hash set.</typeparam>
+      <returns>A new immutable hash set that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(``0[])">
+      <summary>Creates a new immutable hash set that contains the specified array of items.</summary>
+      <param name="items">An array that contains the items to prepopulate the hash set with.</param>
+      <typeparam name="T">The type of items in the immutable hash set.</typeparam>
+      <returns>A new immutable hash set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Creates an empty immutable hash set that uses the specified equality comparer.</summary>
+      <param name="equalityComparer">The object to use for comparing objects in the set for equality.</param>
+      <typeparam name="T">The type of items in the immutable hash set.</typeparam>
+      <returns>An empty immutable hash set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(System.Collections.Generic.IEqualityComparer{``0},``0)">
+      <summary>Creates a new immutable hash set that contains the specified item and uses the specified equality comparer for the set type.</summary>
+      <param name="equalityComparer">The object to use for comparing objects in the set for equality.</param>
+      <param name="item">The item to prepopulate the hash set with.</param>
+      <typeparam name="T">The type of items in the immutable hash set.</typeparam>
+      <returns>A new immutable hash set that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.Create``1(System.Collections.Generic.IEqualityComparer{``0},``0[])">
+      <summary>Creates a new immutable hash set that contains the items in the specified collection and uses the specified equality comparer for the set type.</summary>
+      <param name="equalityComparer">The object to use for comparing objects in the set for equality.</param>
+      <param name="items">An array that contains the items to prepopulate the hash set with.</param>
+      <typeparam name="T">The type of items stored in the immutable hash set.</typeparam>
+      <returns>A new immutable hash set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateBuilder``1">
+      <summary>Creates a new immutable hash set builder.</summary>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The immutable hash set builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateBuilder``1(System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Creates a new immutable hash set builder.</summary>
+      <param name="equalityComparer">The object to use for comparing objects in the set for equality.</param>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The new immutable hash set builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable hash set prefilled with the specified items.</summary>
+      <param name="items">The items to add to the hash set.</param>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The new immutable hash set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.CreateRange``1(System.Collections.Generic.IEqualityComparer{``0},System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable hash set that contains the specified items and uses the specified equality comparer for the set type.</summary>
+      <param name="equalityComparer">The object to use for comparing objects in the set for equality.</param>
+      <param name="items">The items add to the collection before immutability is applied.</param>
+      <typeparam name="T">The type of items stored in the collection.</typeparam>
+      <returns>The new immutable hash set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Enumerates a sequence and produces an immutable hash set of its contents.</summary>
+      <param name="source">The sequence to enumerate.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <returns>An immutable hash set that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Enumerates a sequence, produces an immutable hash set of its contents, and uses the specified equality comparer for the set type.</summary>
+      <param name="source">The sequence to enumerate.</param>
+      <param name="equalityComparer">The object to use for comparing objects in the set for equality.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <returns>An immutable hash set that contains the items in the specified sequence and uses the specified equality comparer.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet.ToImmutableHashSet``1(System.Collections.Immutable.ImmutableHashSet{``0}.Builder)">
+      <summary>Creates an immutable hash set from the current contents of the builder's set.</summary>
+      <param name="builder">The builder to create the immutable hash set from.</param>
+      <typeparam name="TSource">The type of the elements in the hash set.</typeparam>
+      <returns>An immutable hash set that contains the current contents in the builder's set.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableHashSet`1">
+      <summary>Represents an immutable, unordered hash set.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the hash set.</typeparam>
+    </member>
+    <member name="F:System.Collections.Immutable.ImmutableHashSet`1.Empty">
+      <summary>Gets an immutable hash set for this type that uses the default <see cref="T:System.Collections.Generic.IEqualityComparer`1" />.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Add(`0)">
+      <summary>Adds the specified element to the hash set.</summary>
+      <param name="item">The element to add to the set.</param>
+      <returns>A hash set that contains the added value and any values previously held by the  <see cref="T:System.Collections.Immutable.ImmutableHashSet`1" /> object.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Clear">
+      <summary>Retrieves an empty immutable hash set that has the same sorting and ordering semantics as this instance.</summary>
+      <returns>An empty hash set that has the same sorting and ordering semantics as this instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Contains(`0)">
+      <summary>Determines whether this immutable hash set contains the specified element.</summary>
+      <param name="item">The object to locate in the immutable hash set.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> is found in the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Except(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements in the specified collection from the current immutable hash set.</summary>
+      <param name="other">The collection of items to remove from this set.</param>
+      <returns>A new set with the items removed; or the original set if none of the items were in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Intersect(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable hash set that contains elements that exist in both this set and the specified set.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new immutable set that contains any elements that exist in both sets.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable hash set is a proper (strict) subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper subset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable hash set is a proper (strict) superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper superset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable hash set is a subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a subset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable hash set is a superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a superset of the specified collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable hash set overlaps with the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set and the specified collection share at least one common element; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Remove(`0)">
+      <summary>Removes the specified element from this immutable hash set.</summary>
+      <param name="item">The element to remove.</param>
+      <returns>A new set with the specified element removed, or the current set if the element cannot be found in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable hash set and the specified collection contain the same elements.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the sets are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable hash set that contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new set that contains the elements that are present only in the current set or in the specified collection, but not both.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
+      <summary>Adds an item to the set.</summary>
+      <param name="item">The object to add to the set.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#Clear">
+      <summary>Removes all items from this set.</summary>
+      <exception cref="T:System.NotSupportedException">The set is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
+      <summary>Copies the elements of the set to an array, starting at a particular index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
+      <summary>Removes the first occurrence of a specific object from the set.</summary>
+      <param name="item">The object to remove from the set.</param>
+      <returns>
+        <see langword="true" /> if the element is successfully removed; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that iterates through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#Add(`0)">
+      <summary>Adds an element to the current set and returns a value that indicates whether the element was successfully added.</summary>
+      <param name="item">The element to add to the collection.</param>
+      <returns>
+        <see langword="true" /> if the element is added to the set; <see langword="false" /> if the element is already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes all elements in the specified collection from the current set.</summary>
+      <param name="other">The collection of items to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are also in a specified collection.</summary>
+      <param name="other">The collection to compare to the current collection.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the set to an array, starting at a particular index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a set.</summary>
+      <returns>An enumerator that can be used to iterate through the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Add(`0)">
+      <summary>Adds the specified element to this immutable set.</summary>
+      <param name="item">The element to add.</param>
+      <returns>A new set with the element added, or this set if the element is already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Clear">
+      <summary>Retrieves an empty set that has the same sorting and ordering semantics as this instance.</summary>
+      <returns>An empty set that has the same sorting or ordering semantics as this instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Except(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements in the specified collection from the current set.</summary>
+      <param name="other">The collection of items to remove from this set.</param>
+      <returns>A new set with the items removed; or the original set if none of the items were in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Intersect(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable set that contains elements that exist in both this set and the specified set.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new immutable set that contains any elements that exist in both sets.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Remove(`0)">
+      <summary>Removes the specified element from this immutable set.</summary>
+      <param name="item">The element to remove.</param>
+      <returns>A new set with the specified element removed, or the current set if the element cannot be found in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new set that contains the elements that are present only in the current set or in the specified collection, but not both.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Immutable#IImmutableSet{T}#Union(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection.</summary>
+      <param name="other">The collection to add elements from.</param>
+      <returns>A new immutable set with the items added; or the original set if all the items were already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.ToBuilder">
+      <summary>Creates an immutable hash set that has the same contents as this set and can be efficiently mutated across multiple operations by using standard mutable interfaces.</summary>
+      <returns>A set with the same contents as this set that can be efficiently mutated across multiple operations by using standard mutable interfaces.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.TryGetValue(`0,`0@)">
+      <summary>Searches the set for a given value and returns the equal value it finds, if any.</summary>
+      <param name="equalValue">The value to search for.</param>
+      <param name="actualValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
+      <returns>A value indicating whether the search was successful.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Union(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates a new immutable hash set that contains all elements that are present in either the current set or in the specified collection.</summary>
+      <param name="other">The collection to add elements from.</param>
+      <returns>A new immutable hash set with the items added; or the original set if all the items were already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.WithComparer(System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Gets an instance of the immutable hash set that uses the specified equality comparer for its search methods.</summary>
+      <param name="equalityComparer">The equality comparer to use.</param>
+      <returns>An instance of this immutable hash set that uses the given comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Count">
+      <summary>Gets the number of elements in the immutable hash set.</summary>
+      <returns>The number of elements in the hash set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.IsEmpty">
+      <summary>Gets a value that indicates whether the current immutable hash set is empty.</summary>
+      <returns>
+        <see langword="true" /> if this instance is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.KeyComparer">
+      <summary>Gets the object that is used to obtain hash codes for the keys and to check the equality of values in the immutable hash set.</summary>
+      <returns>The comparer used to obtain hash codes for the keys and check equality.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>See the <see cref="T:System.Collections.Generic.ICollection`1" /> interface.</summary>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#ICollection#IsSynchronized">
+      <summary>See the <see cref="T:System.Collections.ICollection" /> interface.</summary>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.System#Collections#ICollection#SyncRoot">
+      <summary>See <see cref="T:System.Collections.ICollection" />.</summary>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableHashSet`1.Builder">
+      <summary>Represents a hash set that mutates with little or no memory allocations and that can produce or build on immutable hash set instances very efficiently.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Add(`0)">
+      <summary>Adds the specified item to the immutable hash set.</summary>
+      <param name="item">The item to add.</param>
+      <returns>
+        <see langword="true" /> if the item did not already belong to the collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Clear">
+      <summary>Removes all items from the immutable hash set.</summary>
+      <exception cref="T:System.NotSupportedException">The hash set is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Contains(`0)">
+      <summary>Determines whether the immutable hash set contains a specific value.</summary>
+      <param name="item">The object to locate in the hash set.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> is found in the hash set ; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes all elements in the specified collection from the current hash set.</summary>
+      <param name="other">The collection of items to remove from the set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable hash set.</summary>
+      <returns>An enumerator that can be used to iterate through the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are also in a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a proper (strict) subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper subset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a proper (strict) superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper superset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a subset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a superset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Overlaps(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set overlaps with the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set and <paramref name="other" /> share at least one common element; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.Remove(`0)">
+      <summary>Removes the first occurrence of a specific object from the immutable hash set.</summary>
+      <param name="item">The object to remove from the set.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only.</exception>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the set ; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="item" /> is not found in the original set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.SetEquals(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set and the specified collection contain the same elements.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is equal to <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#ICollection{T}#Add(`0)">
+      <summary>Adds an item to the hash set.</summary>
+      <param name="item">The object to add to the set.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
+      <summary>Copies the elements of the hash set to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the hash set. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.ToImmutable">
+      <summary>Creates an immutable hash set based on the contents of this instance.</summary>
+      <returns>An immutable set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.TryGetValue(`0,`0@)">
+      <summary>Searches the set for a given value and returns the equal value it finds, if any.</summary>
+      <param name="equalValue">The value for which to search.</param>
+      <param name="actualValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
+      <returns>A value indicating whether the search was successful.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Builder.UnionWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.Count">
+      <summary>Gets the number of elements contained in the immutable hash set.</summary>
+      <returns>The number of elements contained in the immutable hash set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.KeyComparer">
+      <summary>Gets or sets the key comparer.</summary>
+      <returns>The key comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableHashSet`1.Enumerator">
+      <summary>Enumerates the contents of the immutable hash set without allocating any memory.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.Dispose">
+      <summary>Releases the resources used by the current instance of the <see cref="T:System.Collections.Immutable.ImmutableHashSet`1.Enumerator" /> class.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.MoveNext">
+      <summary>Advances the enumerator to the next element of the immutable hash set.</summary>
+      <exception cref="T:System.InvalidOperationException">The hash set was modified after the enumerator was created.</exception>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the hash set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.Reset">
+      <summary>Sets the enumerator to its initial position, which is before the first element in the hash set.</summary>
+      <exception cref="T:System.InvalidOperationException">The hash set was modified after the enumerator was created.</exception>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.</summary>
+      <returns>The element at the current position of the enumerator.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableHashSet`1.Enumerator.System#Collections#IEnumerator#Current">
+      <summary>Gets the current element.</summary>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableInterlocked">
+      <summary>Contains interlocked exchange mechanisms for immutable collections.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.AddOrUpdate``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1,System.Func{``0,``1,``1})">
+      <summary>Obtains the value from a dictionary after having added it or updated an existing entry.</summary>
+      <param name="location">The variable or field to atomically update if the specified  is not in the dictionary.</param>
+      <param name="key">The key for the value to add or update.</param>
+      <param name="addValue">The value to use if no previous value exists.</param>
+      <param name="updateValueFactory">The function that receives the key and prior value and returns the new value with which to update the dictionary.</param>
+      <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
+      <returns>The added or updated value.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.AddOrUpdate``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,System.Func{``0,``1},System.Func{``0,``1,``1})">
+      <summary>Obtains the value from a dictionary after having added it or updated an existing entry.</summary>
+      <param name="location">The variable or field to atomically update if the specified  is not in the dictionary.</param>
+      <param name="key">The key for the value to add or update.</param>
+      <param name="addValueFactory">The function that receives the key and returns a new value to add to the dictionary when no value previously exists.</param>
+      <param name="updateValueFactory">The function that receives the key and prior value and returns the new value with which to update the dictionary.</param>
+      <typeparam name="TKey">The type of key stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of value stored by the dictionary.</typeparam>
+      <returns>The added or updated value.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.Enqueue``1(System.Collections.Immutable.ImmutableQueue{``0}@,``0)">
+      <summary>Atomically enqueues an element to the end of a queue.</summary>
+      <param name="location">The variable or field to atomically update.</param>
+      <param name="value">The value to enqueue.</param>
+      <typeparam name="T">The type of items contained in the collection.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.GetOrAdd``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1)">
+      <summary>Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.</summary>
+      <param name="location">The variable or field to atomically update if the specified key is not in the dictionary.</param>
+      <param name="key">The key for the value to get or add.</param>
+      <param name="value">The value to add to the dictionary the key is not found.</param>
+      <typeparam name="TKey">The type of the keys contained in the collection.</typeparam>
+      <typeparam name="TValue">The type of the values contained in the collection.</typeparam>
+      <returns>The value at the specified key or <paramref name="valueFactory" /> if the key was not present.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.GetOrAdd``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,System.Func{``0,``1})">
+      <summary>Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.</summary>
+      <param name="location">The variable or field to atomically update if the specified  is not in the dictionary.</param>
+      <param name="key">The key for the value to retrieve or add.</param>
+      <param name="valueFactory">The function to execute to obtain the value to insert into the dictionary if the key is not found. This delegate will not be invoked more than once.</param>
+      <typeparam name="TKey">The type of the keys contained in the collection.</typeparam>
+      <typeparam name="TValue">The type of the values contained in the collection.</typeparam>
+      <returns>The value at the specified key or <paramref name="valueFactory" /> if the key was not present.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.GetOrAdd``3(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,System.Func{``0,``2,``1},``2)">
+      <summary>Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.</summary>
+      <param name="location">The variable or field to update if the specified is not in the dictionary.</param>
+      <param name="key">The key for the value to retrieve or add.</param>
+      <param name="valueFactory">The function to execute to obtain the value to insert into the dictionary if the key is not found.</param>
+      <param name="factoryArgument">The argument to pass to the value factory.</param>
+      <typeparam name="TKey">The type of the keys contained in the collection.</typeparam>
+      <typeparam name="TValue">The type of the values contained in the collection.</typeparam>
+      <typeparam name="TArg">The type of the argument supplied to the value factory.</typeparam>
+      <returns>The value at the specified key or <paramref name="valueFactory" /> if the key was not present.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.InterlockedCompareExchange``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Collections.Immutable.ImmutableArray{``0},System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Compares two immutable arrays for equality and, if they are equal, replaces one of the arrays.</summary>
+      <param name="location">The destination, whose value is compared with <paramref name="comparand" /> and possibly replaced.</param>
+      <param name="value">The value that replaces the destination value if the comparison results in equality.</param>
+      <param name="comparand">The value that is compared to the value at <paramref name="location" />.</param>
+      <typeparam name="T">The type of element stored by the array.</typeparam>
+      <returns>The original value in <paramref name="location" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.InterlockedExchange``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Sets an array to the specified array and returns a reference to the original array, as an atomic operation.</summary>
+      <param name="location">The array to set to the specified value.</param>
+      <param name="value">The value to which the <paramref name="location" /> parameter is set.</param>
+      <typeparam name="T">The type of element stored by the array.</typeparam>
+      <returns>The original value of <paramref name="location" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.InterlockedInitialize``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Sets an array to the specified array if the array has not been initialized.</summary>
+      <param name="location">The array to set to the specified value.</param>
+      <param name="value">The value to which the <paramref name="location" /> parameter is set, if it's not initialized.</param>
+      <typeparam name="T">The type of element stored by the array.</typeparam>
+      <returns>
+        <see langword="true" /> if the array was assigned the specified value;  otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.Push``1(System.Collections.Immutable.ImmutableStack{``0}@,``0)">
+      <summary>Pushes a new element onto the stack.</summary>
+      <param name="location">The stack to update.</param>
+      <param name="value">The value to push on the stack.</param>
+      <typeparam name="T">The type of items in the stack.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryAdd``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1)">
+      <summary>Adds the specified key and value to the dictionary if the key is not in the dictionary.</summary>
+      <param name="location">The dictionary to update with the specified key and value.</param>
+      <param name="key">The key to add, if is not already defined in the dictionary.</param>
+      <param name="value">The value to add.</param>
+      <typeparam name="TKey">The type of the keys contained in the collection.</typeparam>
+      <typeparam name="TValue">The type of the values contained in the collection.</typeparam>
+      <returns>
+        <see langword="true" /> if the key is not in the dictionary; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryDequeue``1(System.Collections.Immutable.ImmutableQueue{``0}@,``0@)">
+      <summary>Atomically removes and returns the specified element at the head of the queue, if the queue is not empty.</summary>
+      <param name="location">The variable or field to atomically update.</param>
+      <param name="value">Set to the value from the head of the queue, if the queue not empty.</param>
+      <typeparam name="T">The type of items in the queue.</typeparam>
+      <returns>
+        <see langword="true" /> if the queue is not empty and the head element is removed; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryPop``1(System.Collections.Immutable.ImmutableStack{``0}@,``0@)">
+      <summary>Removes an element from the top of the stack, if there is an element to remove.</summary>
+      <param name="location">The stack to update.</param>
+      <param name="value">Receives the value removed from the stack, if the stack is not empty.</param>
+      <typeparam name="T">The type of items in the stack.</typeparam>
+      <returns>
+        <see langword="true" /> if an element is removed from the stack; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryRemove``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1@)">
+      <summary>Removes the element with the specified key, if the key exists.</summary>
+      <param name="location">The dictionary to update.</param>
+      <param name="key">The key to remove.</param>
+      <param name="value">Receives the value of the removed item, if the dictionary is not empty.</param>
+      <typeparam name="TKey">The type of the keys contained in the collection.</typeparam>
+      <typeparam name="TValue">The type of the values contained in the collection.</typeparam>
+      <returns>
+        <see langword="true" /> if the key was found and removed; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.TryUpdate``2(System.Collections.Immutable.ImmutableDictionary{``0,``1}@,``0,``1,``1)">
+      <summary>Sets the specified key to the specified value if the specified key already is set to a specific value.</summary>
+      <param name="location">The dictionary to update.</param>
+      <param name="key">The key to update.</param>
+      <param name="newValue">The new value to set.</param>
+      <param name="comparisonValue">The current value for <paramref name="key" /> in order for the update to succeed.</param>
+      <typeparam name="TKey">The type of the keys contained in the collection.</typeparam>
+      <typeparam name="TValue">The type of the values contained in the collection.</typeparam>
+      <returns>
+        <see langword="true" /> if <paramref name="key" /> and <paramref name="comparisonValue" /> are present in the dictionary and comparison was updated to <paramref name="newValue" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.Update``1(``0@,System.Func{``0,``0})">
+      <summary>Mutates a value in-place with optimistic locking transaction semantics             via a specified transformation function.             The transformation is retried as many times as necessary to win the optimistic locking race.</summary>
+      <param name="location">The variable or field to be changed, which may be accessed by multiple threads.</param>
+      <param name="transformer">A function that mutates the value. This function should be side-effect free,              as it may run multiple times when races occur with other threads.</param>
+      <typeparam name="T">The type of data.</typeparam>
+      <returns>
+        <see langword="true" /> if the location's value is changed by applying the result of the <paramref name="transformer" /> function; <see langword="false" /> if the location's value remained the same because the last invocation of <paramref name="transformer" /> returned the existing value.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.Update``1(System.Collections.Immutable.ImmutableArray{``0}@,System.Func{System.Collections.Immutable.ImmutableArray{``0},System.Collections.Immutable.ImmutableArray{``0}})">
+      <summary>Mutates an immutable array in-place with optimistic locking transaction semantics via a specified transformation function.
+ The transformation is retried as many times as necessary to win the optimistic locking race.</summary>
+      <param name="location">The immutable array to be changed.</param>
+      <param name="transformer">A function that produces the new array from the old. This function should be side-effect free, as it may run multiple times when races occur with other threads.</param>
+      <typeparam name="T">The type of data in the immutable array.</typeparam>
+      <returns>
+        <see langword="true" /> if the location's value is changed by applying the result of the <paramref name="transformer" /> function; <see langword="false" /> if the location's value remained the same because the last invocation of <paramref name="transformer" /> returned the existing value.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.Update``2(``0@,System.Func{``0,``1,``0},``1)">
+      <summary>Mutates a value in-place with optimistic locking transaction semantics             via a specified transformation function.             The transformation is retried as many times as necessary to win the optimistic locking race.</summary>
+      <param name="location">The variable or field to be changed, which may be accessed by multiple threads.</param>
+      <param name="transformer">A function that mutates the value. This function should be side-effect free,              as it may run multiple times when races occur with other threads.</param>
+      <param name="transformerArgument">The argument to pass to <paramref name="transformer" />.</param>
+      <typeparam name="T">The type of data.</typeparam>
+      <typeparam name="TArg">The type of argument passed to the <paramref name="transformer" />.</typeparam>
+      <returns>
+        <see langword="true" /> if the location's value is changed by applying the result of the <paramref name="transformer" /> function; <see langword="false" /> if the location's value remained the same because the last invocation of <paramref name="transformer" /> returned the existing value.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableInterlocked.Update``2(System.Collections.Immutable.ImmutableArray{``0}@,System.Func{System.Collections.Immutable.ImmutableArray{``0},``1,System.Collections.Immutable.ImmutableArray{``0}},``1)">
+      <summary>Mutates an immutable array in-place with optimistic locking transaction semantics via a specified transformation function.
+ The transformation is retried as many times as necessary to win the optimistic locking race.</summary>
+      <param name="location">The immutable array to be changed.</param>
+      <param name="transformer">A function that produces the new array from the old. This function should be side-effect free, as it may run multiple times when races occur with other threads.</param>
+      <param name="transformerArgument">The argument to pass to <paramref name="transformer" />.</param>
+      <typeparam name="T">The type of data in the immutable array.</typeparam>
+      <typeparam name="TArg">The type of argument passed to the <paramref name="transformer" />.</typeparam>
+      <returns>
+        <see langword="true" /> if the location's value is changed by applying the result of the <paramref name="transformer" /> function; <see langword="false" /> if the location's value remained the same because the last invocation of <paramref name="transformer" /> returned the existing value.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableList">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableList`1" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.Create``1">
+      <summary>Creates an empty immutable list.</summary>
+      <typeparam name="T">The type of items to be stored in the .</typeparam>
+      <returns>An empty immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.Create``1(``0)">
+      <summary>Creates a new immutable list that contains the specified item.</summary>
+      <param name="item">The item to prepopulate the list with.</param>
+      <typeparam name="T">The type of items in the .</typeparam>
+      <returns>A new  that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.Create``1(``0[])">
+      <summary>Creates a new immutable list that contains the specified array of items.</summary>
+      <param name="items">An array that contains the items to prepopulate the list with.</param>
+      <typeparam name="T">The type of items in the .</typeparam>
+      <returns>A new immutable list that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.CreateBuilder``1">
+      <summary>Creates a new immutable list builder.</summary>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The immutable collection builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable list that contains the specified items.</summary>
+      <param name="items">The items to add to the list.</param>
+      <typeparam name="T">The type of items in the .</typeparam>
+      <returns>An immutable list that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the list.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the list. The value can be null for reference types.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the list that extends from index to the last element, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the list.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from index to the last element, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.IndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the Immutable list that extends from index to the last element, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0)">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the last occurrence of item within the entire the Immutable list, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.LastIndexOf``1(System.Collections.Immutable.IImmutableList{``0},``0,System.Int32,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.</summary>
+      <param name="list">The list to search.</param>
+      <param name="item">The object to locate in the Immutable list. The value can be null for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>The zero-based index of the last occurrence of item within the range of elements in the Immutable list that extends from the first element to index, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.Remove``1(System.Collections.Immutable.IImmutableList{``0},``0)">
+      <summary>Removes the specified value from this list.</summary>
+      <param name="list">The list to search.</param>
+      <param name="value">The value to remove.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>A new immutable list with the element removed, or this list if the element is not in this list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.RemoveRange``1(System.Collections.Immutable.IImmutableList{``0},System.Collections.Generic.IEnumerable{``0})">
+      <summary>Removes the specified values from this list.</summary>
+      <param name="list">The list to search.</param>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <returns>A new immutable list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.Replace``1(System.Collections.Immutable.IImmutableList{``0},``0,``0)">
+      <summary>Replaces the first equal element in the list with the specified element.</summary>
+      <param name="list">The list to search.</param>
+      <param name="oldValue">The element to replace.</param>
+      <param name="newValue">The element to replace the old element with.</param>
+      <typeparam name="T">The type of items in the list.</typeparam>
+      <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
+      <returns>The new list -- even if the value being replaced is equal to the new value for that position.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.ToImmutableList``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Enumerates a sequence and produces an immutable list of its contents.</summary>
+      <param name="source">The sequence to enumerate.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <returns>An immutable list that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList.ToImmutableList``1(System.Collections.Immutable.ImmutableList{``0}.Builder)">
+      <summary>Creates an immutable list from the current contents of the builder's collection.</summary>
+      <param name="builder">The builder to create the immutable list from.</param>
+      <typeparam name="TSource">The type of the elements in the list.</typeparam>
+      <returns>An immutable list that contains the current contents in the builder's collection.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableList`1">
+      <summary>Represents an immutable list, which is a strongly typed list of objects that can be accessed by index.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the list.</typeparam>
+    </member>
+    <member name="F:System.Collections.Immutable.ImmutableList`1.Empty">
+      <summary>Gets an empty set with the default sort comparer.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Add(`0)">
+      <summary>Adds the specified object to the end of the immutable list.</summary>
+      <param name="value">The object to add.</param>
+      <returns>A new immutable list with the object added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Adds the elements of the specified collection to the end of the immutable list.</summary>
+      <param name="items">The collection whose elements will be added to the end of the list.</param>
+      <returns>A new immutable list with the elements added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.BinarySearch(`0)">
+      <summary>Searches the entire sorted list for an element using the default comparer and returns the zero-based index of the element.</summary>
+      <param name="item">The object to locate. The value can be <see langword="null" /> for reference types.</param>
+      <exception cref="T:System.InvalidOperationException">The default comparer cannot find a comparer implementation of the for type T.</exception>
+      <returns>The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.ICollection.Count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
+      <summary>Searches the entire sorted list for an element using the specified comparer and returns the zero-based index of the element.</summary>
+      <param name="item">The object to locate. The value can be null for reference types.</param>
+      <param name="comparer">The  comparer implementation to use when comparing elements or null to use the default comparer.</param>
+      <exception cref="T:System.InvalidOperationException">comparer is <see langword="null" />, and the default comparer cannot find an comparer implementation for type T.</exception>
+      <returns>The zero-based index of item in the sorted List, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of <see cref="P:System.Collections.ICollection.Count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
+      <summary>Searches a range of elements in the sorted list for an element using the specified comparer and returns the zero-based index of the element.</summary>
+      <param name="index">The zero-based starting index of the range to search.</param>
+      <param name="count">The length of the range to search.</param>
+      <param name="item">The object to locate. The value can be null for reference types.</param>
+      <param name="comparer">The comparer implementation to use when comparing elements, or <see langword="null" /> to use the default comparer.</param>
+      <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 or <paramref name="count" /> is less than 0.</exception>
+      <exception cref="T:System.ArgumentException">index and <paramref name="count" /> do not denote a valid range in the list.</exception>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="comparer" /> is <see langword="null" />, and the default comparer cannot find an comparer implementation for type T.</exception>
+      <returns>The zero-based index of item in the sorted list, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than item or, if there is no larger element, the bitwise complement of <paramref name="count" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Clear">
+      <summary>Removes all elements from the immutable list.</summary>
+      <returns>An empty list that retains the same sort or unordered semantics that this instance has.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Contains(`0)">
+      <summary>Determines whether this immutable list contains the specified value.</summary>
+      <param name="value">The value to locate.</param>
+      <returns>
+        <see langword="true" /> if the list contains the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.ConvertAll``1(System.Func{`0,``0})">
+      <summary>Converts the elements in the current immutable list to another type, and returns a list containing the converted elements.</summary>
+      <param name="converter">A delegate that converts each element from one type to another type.</param>
+      <typeparam name="TOutput">The type of the elements of the target array.</typeparam>
+      <returns>A list of the target type containing the converted elements from the current <see cref="T:System.Collections.Immutable.ImmutableList`1" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.CopyTo(`0[])">
+      <summary>Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.CopyTo(`0[],System.Int32)">
+      <summary>Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
+      <summary>Copies a range of elements from the immutable list to a compatible one-dimensional array, starting at the specified index of the target array.</summary>
+      <param name="index">The zero-based index in the source immutable list at which copying begins.</param>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
+      <param name="count">The number of elements to copy.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Exists(System.Predicate{`0})">
+      <summary>Determines whether the immutable list contains elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to search for.</param>
+      <returns>
+        <see langword="true" /> if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Find(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type <paramref name="T" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindAll(System.Predicate{`0})">
+      <summary>Retrieves all the elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to search for.</param>
+      <returns>An immutable list that contains all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements.</summary>
+      <param name="startIndex">The zero-based starting index of the search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindIndex(System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.</summary>
+      <param name="startIndex">The zero-based starting index of the search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindIndex(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by match, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindLast(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type <paramref name="T" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index.</summary>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindLastIndex(System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.</summary>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.FindLastIndex(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.ForEach(System.Action{`0})">
+      <summary>Performs the specified action on each element of the immutable list.</summary>
+      <param name="action">The delegate to perform on each element of the immutable list.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable list.</summary>
+      <returns>An enumerator  that can be used to iterate through the immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.GetRange(System.Int32,System.Int32)">
+      <summary>Creates a shallow copy of a range of elements in the source immutable list.</summary>
+      <param name="index">The zero-based index at which the range starts.</param>
+      <param name="count">The number of elements in the range.</param>
+      <returns>A shallow copy of a range of elements in the source immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.IndexOf(`0)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the entire immutable list.</summary>
+      <param name="value">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <returns>The zero-based index of the first occurrence of <paramref name="value" /> within the entire immutable list, if found; otherwise, ?1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the list that starts at the specified index and contains the specified number of elements.</summary>
+      <param name="item">The object to locate in the list The value can be null for reference types.</param>
+      <param name="index">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the list that starts at index and contains count number of elements, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Insert(System.Int32,`0)">
+      <summary>Inserts the specified object into the immutable list at the specified index.</summary>
+      <param name="index">The zero-based index at which to insert the object.</param>
+      <param name="item">The object to insert.</param>
+      <returns>The new immutable list after the object is inserted.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
+      <summary>Inserts the elements of a collection into the immutable list at the specified index.</summary>
+      <param name="index">The zero-based index at which to insert the elements.</param>
+      <param name="items">The collection whose elements should be inserted.</param>
+      <returns>The new immutable list after the elements are inserted.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.ItemRef(System.Int32)">
+      <summary>Gets a read-only reference to the element of the set at the given <paramref name="index" />.</summary>
+      <param name="index">The 0-based index of the element in the set to return.</param>
+      <exception cref="T:System.IndexOutOfRangeException">
+        <paramref name="index" /> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count" />.</exception>
+      <returns>A read-only reference to the element at the given position.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the list that contains the specified number of elements and ends at the specified index.</summary>
+      <param name="item">The object to locate in the list. The value can be null for reference types.</param>
+      <param name="index">The zero-based starting index of the backward search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>The zero-based index of the last occurrence of item within the range of elements in the list that contains count number of elements and ends at index, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Remove(`0)">
+      <summary>Removes the first occurrence of the specified object from this immutable list.</summary>
+      <param name="value">The object to remove.</param>
+      <returns>A new list with the object removed, or this list if the specified object is not in this list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the first occurrence of the object that matches the specified value from this immutable list.</summary>
+      <param name="value">The value of the element to remove from the list.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new list with the object removed, or this list if the specified object is not in this list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveAll(System.Predicate{`0})">
+      <summary>Removes all the elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to remove.</param>
+      <returns>The new list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveAt(System.Int32)">
+      <summary>Removes the element at the specified index.</summary>
+      <param name="index">The zero-based index of the element to remove.</param>
+      <returns>A new list with the element removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes a range of elements from this immutable list.</summary>
+      <param name="items">The collection whose elements should be removed if matches are found in this list.</param>
+      <returns>A new list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the specified values from this list.</summary>
+      <param name="items">The items to remove if matches are found in this list.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <returns>A new list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.RemoveRange(System.Int32,System.Int32)">
+      <summary>Removes a range of elements, starting from the specified index and containing the specified number of elements, from this immutable list.</summary>
+      <param name="index">The starting index to begin removal.</param>
+      <param name="count">The number of elements to remove.</param>
+      <returns>A new list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Replace(`0,`0)">
+      <summary>Replaces the specified element in the immutable list with a new element.</summary>
+      <param name="oldValue">The element to replace.</param>
+      <param name="newValue">The element to replace <paramref name="oldValue" /> with.</param>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="oldValue" /> does not exist in the immutable list.</exception>
+      <returns>The new list with the replaced element, even if it is equal to the old element.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Replaces the specified element in the immutable list with a new element.</summary>
+      <param name="oldValue">The element to replace in the list.</param>
+      <param name="newValue">The element to replace <paramref name="oldValue" /> with.</param>
+      <param name="equalityComparer">The comparer to use to check for equality.</param>
+      <returns>A new list with the object replaced, or this list if the specified object is not in this list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Reverse">
+      <summary>Reverses the order of the elements in the entire immutable list.</summary>
+      <returns>The reversed list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Reverse(System.Int32,System.Int32)">
+      <summary>Reverses the order of the elements in the specified range of the immutable list.</summary>
+      <param name="index">The zero-based starting index of the range to reverse.</param>
+      <param name="count">The number of elements in the range to reverse.</param>
+      <returns>The reversed list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.SetItem(System.Int32,`0)">
+      <summary>Replaces an element at a given position in the immutable list with the specified element.</summary>
+      <param name="index">The position in the list of the element to replace.</param>
+      <param name="value">The element to replace the old element with.</param>
+      <returns>The new list with the replaced element, even if it is equal to the old element at that position.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Sort">
+      <summary>Sorts the elements in the entire immutable list using the default comparer.</summary>
+      <returns>The sorted list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Sort(System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the elements in the entire immutable list using the specified comparer.</summary>
+      <param name="comparer">The  implementation to use when comparing elements, or <see langword="null" /> to use the default comparer (<see cref="P:System.Collections.Generic.Comparer`1.Default" />).</param>
+      <returns>The sorted list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Sort(System.Comparison{`0})">
+      <summary>Sorts the elements in the entire immutable list using the specified comparer.</summary>
+      <param name="comparison">The delegate to use when comparing elements.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="comparison" /> is <see langword="null" />.</exception>
+      <returns>The sorted list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts a range of elements in the immutable list using the specified comparer.</summary>
+      <param name="index">The zero-based starting index of the range to sort.</param>
+      <param name="count">The length of the range to sort.</param>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> to use the default comparer (<see cref="P:System.Collections.Generic.Comparer`1.Default" />).</param>
+      <returns>The sorted list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#Add(`0)">
+      <summary>Adds the specified item to the immutable list.</summary>
+      <param name="item">The item to add.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#Clear">
+      <summary>Removes all items from the immutable list.</summary>
+      <exception cref="T:System.NotSupportedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
+      <summary>Removes the first occurrence of a specific object from the immutable list.</summary>
+      <param name="item">The object to remove.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the list; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="item" /> is not found in the original list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable list.</summary>
+      <returns>An enumerator that can be used to iterate through the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IList{T}#Insert(System.Int32,`0)">
+      <summary>Inserts an object in the immutable list at the specified index.</summary>
+      <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
+      <param name="item">The object to insert.</param>
+      <exception cref="T:System.NotSupportedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IList{T}#RemoveAt(System.Int32)">
+      <summary>Removes the value at the specified index.</summary>
+      <param name="index">The zero-based index of the item to remove.</param>
+      <exception cref="T:System.NotSupportedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the entire immutable list to a compatible one-dimensional array, starting at the specified array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from immutable list.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable list.</summary>
+      <returns>An enumerator that can be used to iterate through the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Add(System.Object)">
+      <summary>Adds an item to the immutable list.</summary>
+      <param name="value">The object to add to the list.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+      <returns>The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Clear">
+      <summary>Removes all items from the immutable list.</summary>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Contains(System.Object)">
+      <summary>Determines whether the immutable list contains a specific value.</summary>
+      <param name="value">The object to locate in the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+      <returns>
+        <see langword="true" /> if the object is found in the list; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#IndexOf(System.Object)">
+      <summary>Determines the index of a specific item in the immutable list.</summary>
+      <param name="value">The object to locate in the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+      <returns>The index of <paramref name="value" /> if found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Insert(System.Int32,System.Object)">
+      <summary>Inserts an item into the immutable list at the specified index.</summary>
+      <param name="index">The zero-based index at which <paramref name="value" /> should be inserted.</param>
+      <param name="value">The object to insert into the list.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Remove(System.Object)">
+      <summary>Removes the first occurrence of a specific object from the immutable list.</summary>
+      <param name="value">The object to remove from the list.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#RemoveAt(System.Int32)">
+      <summary>Removes the item at the specified index of the immutable list.</summary>
+      <param name="index">The zero-based index of the item to remove.</param>
+      <exception cref="T:System.NotSupportedException">Always thrown.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Add(`0)">
+      <summary>Adds the specified value to this immutable list.</summary>
+      <param name="value">The value to add.</param>
+      <returns>A new list with the element added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Adds the specified values to this immutable list.</summary>
+      <param name="items">The values to add.</param>
+      <returns>A new list with the elements added.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Clear">
+      <summary>Retrieves an empty list that has the same sorting and ordering semantics as this instance.</summary>
+      <returns>An empty list that has the same sorting and ordering semantics as this instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Insert(System.Int32,`0)">
+      <summary>Inserts the specified element at the specified index in the immutable list.</summary>
+      <param name="index">The index at which to insert the value.</param>
+      <param name="item">The element to insert.</param>
+      <returns>A new immutable list that includes the specified element.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
+      <summary>Inserts the specified elements at the specified index in the immutable list.</summary>
+      <param name="index">The index at which to insert the elements.</param>
+      <param name="items">The elements to insert.</param>
+      <returns>A new immutable list that includes the specified elements.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Remove(`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes the element with the specified value from the list.</summary>
+      <param name="value">The value of the element to remove from the list.</param>
+      <param name="equalityComparer">The comparer to use to compare elements for equality.</param>
+      <returns>A new <see cref="T:System.Collections.Immutable.ImmutableList`1" /> with the specified element removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveAll(System.Predicate{`0})">
+      <summary>Removes all the elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to remove.</param>
+      <returns>A new immutable list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveAt(System.Int32)">
+      <summary>Removes the element at the specified index of the immutable list.</summary>
+      <param name="index">The index of the element to remove.</param>
+      <returns>A new list with the element removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Removes a range of elements from this immutable list that match the items specified.</summary>
+      <param name="items">The range of items to remove from the list, if found.</param>
+      <param name="equalityComparer">The equality comparer to use to compare elements.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="items" /> or <paramref name="equalityComparer" /> is <see langword="null" />.</exception>
+      <returns>An immutable list with the items removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#RemoveRange(System.Int32,System.Int32)">
+      <summary>Removes the specified number of elements at the specified location from this list.</summary>
+      <param name="index">The starting index of the range of elements to remove.</param>
+      <param name="count">The number of elements to remove.</param>
+      <returns>A new list with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#Replace(`0,`0,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Replaces an element in the list with the specified element.</summary>
+      <param name="oldValue">The element to replace.</param>
+      <param name="newValue">The element to replace the old element with.</param>
+      <param name="equalityComparer">The equality comparer to use in the search.</param>
+      <exception cref="T:System.ArgumentException">Thrown when the old value does not exist in the list.</exception>
+      <returns>The new list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.System#Collections#Immutable#IImmutableList{T}#SetItem(System.Int32,`0)">
+      <summary>Replaces an element in the list at a given position with the specified element.</summary>
+      <param name="index">The position in the list of the element to replace.</param>
+      <param name="value">The element to replace the old element with.</param>
+      <returns>The new list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.ToBuilder">
+      <summary>Creates a list that has the same contents as this list and can be efficiently mutated across multiple operations using standard mutable interfaces.</summary>
+      <returns>The created list with the same contents as this list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.TrueForAll(System.Predicate{`0})">
+      <summary>Determines whether every element in the immutable list matches the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions to check against the elements.</param>
+      <returns>
+        <see langword="true" /> if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, <see langword="false" />. If the list has no elements, the return value is <see langword="true" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Count">
+      <summary>Gets the number of elements contained in the list.</summary>
+      <returns>The number of elements in the list.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.IsEmpty">
+      <summary>Gets a value that indicates whether this list is empty.</summary>
+      <returns>
+        <see langword="true" /> if the list is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Item(System.Int32)">
+      <summary>Gets the element at the specified index of the list.</summary>
+      <param name="index">The index of the element to retrieve.</param>
+      <exception cref="T:System.IndexOutOfRangeException">In a get operation, <paramref name="index" /> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count" />.</exception>
+      <returns>The element at the specified index.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
+      <summary>Gets or sets the value at the specified index.</summary>
+      <param name="index">The zero-based index of the item to access.</param>
+      <exception cref="T:System.IndexOutOfRangeException">Thrown from getter when <paramref name="index" /> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count" />.</exception>
+      <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
+      <returns>Value stored in the specified index.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#ICollection#IsSynchronized">
+      <summary>This type is immutable, so it is always thread-safe. See the <see cref="T:System.Collections.ICollection" /> interface.</summary>
+      <returns>Boolean value determining whether the collection is thread-safe.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#ICollection#SyncRoot">
+      <summary>See <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>Object used for synchronizing access to the collection.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#IsFixedSize">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.IList" /> has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IList" /> has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.System#Collections#IList#Item(System.Int32)">
+      <summary>Gets or sets the <see cref="T:System.Object" /> at the specified index.</summary>
+      <param name="index">The index.</param>
+      <exception cref="T:System.IndexOutOfRangeException">Thrown from getter when <paramref name="index" /> is negative or not less than <see cref="P:System.Collections.Immutable.ImmutableList`1.Count" />.</exception>
+      <exception cref="T:System.NotSupportedException">Always thrown from the setter.</exception>
+      <returns>The value at the specified index.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableList`1.Builder">
+      <summary>Represents a list that mutates with little or no memory allocations and that can produce or build on immutable list instances very efficiently.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Add(`0)">
+      <summary>Adds an item to the immutable list.</summary>
+      <param name="item">The item to add to the list.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.AddRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Adds a series of elements to the end of this list.</summary>
+      <param name="items">The elements to add to the end of the list.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.BinarySearch(`0)">
+      <summary>Searches the entire <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" /> for an element using the default comparer and returns the zero-based index of the element.</summary>
+      <param name="item">The object to locate. The value can be null for reference types.</param>
+      <exception cref="T:System.InvalidOperationException">The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.</exception>
+      <returns>The zero-based index of item in the <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" />, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
+      <summary>Searches the entire <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" /> for an element using the specified comparer and returns the zero-based index of the element.</summary>
+      <param name="item">The object to locate. This value can be null for reference types.</param>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> for the default comparer.</param>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="comparer" /> is <see langword="null" />, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.</exception>
+      <returns>The zero-based index of item in the <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" />, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
+      <summary>Searches the specified range of the <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" /> for an element using the specified comparer and returns the zero-based index of the element.</summary>
+      <param name="index">The zero-based starting index of the range to search.</param>
+      <param name="count">The length of the range to search.</param>
+      <param name="item">The object to locate. This value can be null for reference types.</param>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> for the default comparer.</param>
+      <exception cref="T:System.ArgumentOutOfRangeException">
+        <paramref name="index" /> is less than 0.
+-or-
+
+<paramref name="count" /> is less than 0.</exception>
+      <exception cref="T:System.ArgumentException">
+        <paramref name="index" /> and <paramref name="count" /> do not denote a valid range in the <see cref="T:System.Collections.Generic.List`1" />.</exception>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="comparer" /> is <see langword="null" />, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default" /> cannot find an implementation of the <see cref="T:System.IComparable`1" /> generic interface or the <see cref="T:System.IComparable" /> interface for type T.</exception>
+      <returns>The zero-based index of item in the <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" />, if item is found; otherwise, a negative number that is the bitwise complement of the index of the next element that is larger than <paramref name="item" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Clear">
+      <summary>Removes all items from the immutable list.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Contains(`0)">
+      <summary>Determines whether the immutable list contains a specific value.</summary>
+      <param name="item">The object to locate in the list.</param>
+      <returns>
+        <see langword="true" /> if item is found in the list; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ConvertAll``1(System.Func{`0,``0})">
+      <summary>Creates a new immutable list from the list represented by this builder by using the converter function.</summary>
+      <param name="converter">The converter function.</param>
+      <typeparam name="TOutput">The type of the output of the delegate converter function.</typeparam>
+      <returns>A new immutable list from the list represented by this builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.CopyTo(`0[])">
+      <summary>Copies the entire immutable list to a compatible one-dimensional array, starting at the beginning of the target array.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.CopyTo(`0[],System.Int32)">
+      <summary>Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
+      <summary>Copies the entire immutable list to a compatible one-dimensional array, starting at the specified index of the target array.</summary>
+      <param name="index">The zero-based index in the source immutable list at which copying begins.</param>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the immutable list. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+      <param name="count">The number of elements to copy.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Exists(System.Predicate{`0})">
+      <summary>Determines whether the immutable list contains elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to search for.</param>
+      <returns>
+        <see langword="true" /> if the immutable list contains one or more elements that match the conditions defined by the specified predicate; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Find(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the first occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The first element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type <paramref name="T" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindAll(System.Predicate{`0})">
+      <summary>Retrieves all the elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to search for.</param>
+      <returns>An immutable list containing all the elements that match the conditions defined by the specified predicate, if found; otherwise, an empty immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements.</summary>
+      <param name="startIndex">The zero-based starting index of the search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindIndex(System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.</summary>
+      <param name="startIndex">The zero-based starting index of the search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindIndex(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLast(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The last element that matches the conditions defined by the specified predicate, found; otherwise, the default value for type <paramref name="T" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index.</summary>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLastIndex(System.Int32,System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.</summary>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.FindLastIndex(System.Predicate{`0})">
+      <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the zero-based index of the last occurrence within the entire immutable list.</summary>
+      <param name="match">The delegate that defines the conditions of the element to search for.</param>
+      <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by <paramref name="match" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ForEach(System.Action{`0})">
+      <summary>Performs the specified action on each element of the list.</summary>
+      <param name="action">The delegate to perform on each element of the list.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.GetRange(System.Int32,System.Int32)">
+      <summary>Creates a shallow copy of a range of elements in the source immutable list.</summary>
+      <param name="index">The zero-based index at which the range starts.</param>
+      <param name="count">The number of elements in the range.</param>
+      <returns>A shallow copy of a range of elements in the source immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <returns>The zero-based index of the first occurrence of <paramref name="item" /> within the range of elements in the immutable list, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that extends from the specified index to the last element.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="index">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the immutable list that extends from <paramref name="index" /> to the last element, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0,System.Int32,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the immutable list that starts at the specified index and contains the specified number of elements.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="index">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at <paramref name="index" /> and contains <paramref name="count" /> number of elements, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.IndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches for the specified object and returns the zero-based index of the first occurrence within the range of elements in the <see cref="T:System.Collections.Immutable.ImmutableList`1.Builder" /> that starts at the specified index and contains the specified number of elements.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="index">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements to search.</param>
+      <param name="equalityComparer">The value comparer to use for comparing elements for equality.</param>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at <paramref name="index" /> and contains <paramref name="count" /> number of elements, if found; otherwise, -1</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Insert(System.Int32,`0)">
+      <summary>Inserts an item to the immutable list at the specified index.</summary>
+      <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
+      <param name="item">The object to insert into the immutable list.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
+      <summary>Inserts the elements of a collection into the immutable list at the specified index.</summary>
+      <param name="index">The zero-based index at which the new elements should be inserted.</param>
+      <param name="items">The collection whose elements should be inserted into the immutable list. The collection itself cannot be <see langword="null" />, but it can contain elements that are null, if type <c>T</c> is a reference type.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ItemRef(System.Int32)">
+      <summary>Gets a read-only reference to the value for a given <paramref name="index" /> into the list.</summary>
+      <param name="index">The index of the desired element.</param>
+      <returns>A read-only reference to the value at the specified <paramref name="index" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0)">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the entire immutable list.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <returns>The zero-based index of the last occurrence of <paramref name="item" /> within the entire immutable list, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that extends from the first element to the specified index.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <returns>The zero-based index of the last occurrence of <paramref name="item" /> within the range of elements in the immutable list that extends from the first element to <paramref name="index" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0,System.Int32,System.Int32)">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the backward search.</param>
+      <param name="count">The number of elements in the section to search.</param>
+      <returns>The zero-based index of the last occurrence of <paramref name="item" /> within the range of elements in the immutable list that contains <paramref name="count" /> number of elements and ends at <paramref name="index" />, if found; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.LastIndexOf(`0,System.Int32,System.Int32,System.Collections.Generic.IEqualityComparer{`0})">
+      <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the range of elements in the immutable list that contains the specified number of elements and ends at the specified index.</summary>
+      <param name="item">The object to locate in the immutable list. The value can be <see langword="null" /> for reference types.</param>
+      <param name="startIndex">The zero-based starting index of the search. 0 (zero) is valid in an empty list.</param>
+      <param name="count">The number of elements to search.</param>
+      <param name="equalityComparer">The value comparer to use for comparing elements for equality.</param>
+      <returns>The zero-based index of the first occurrence of item within the range of elements in the immutable list that starts at <paramref name="index" /> and contains <paramref name="count" /> number of elements, if found; otherwise, -1</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Remove(`0)">
+      <summary>Removes the first occurrence of a specific object from the immutable list.</summary>
+      <param name="item">The object to remove from the list.</param>
+      <returns>
+        <see langword="true" /> if item was successfully removed from the list; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if item is not found in the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.RemoveAll(System.Predicate{`0})">
+      <summary>Removes all the elements that match the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions of the elements to remove.</param>
+      <returns>The number of elements removed from the immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.RemoveAt(System.Int32)">
+      <summary>Removes the item at the specified index of the immutable list.</summary>
+      <param name="index">The zero-based index of the item to remove from the list.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Reverse">
+      <summary>Reverses the order of the elements in the entire immutable list.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Reverse(System.Int32,System.Int32)">
+      <summary>Reverses the order of the elements in the specified range of the immutable list.</summary>
+      <param name="index">The zero-based starting index of the range to reverse.</param>
+      <param name="count">The number of elements in the range to reverse.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort">
+      <summary>Sorts the elements in the entire immutable list by using the default comparer.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort(System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the elements in the entire immutable list by using the specified comparer.</summary>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> to use the default comparer (<see cref="P:System.Collections.Generic.Comparer`1.Default" />).</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort(System.Comparison{`0})">
+      <summary>Sorts the elements in the entire immutable list by using the specified comparison object.</summary>
+      <param name="comparison">The object to use when comparing elements.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="comparison" /> is <see langword="null" />.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
+      <summary>Sorts the elements in a range of elements in the immutable list  by using the specified comparer.</summary>
+      <param name="index">The zero-based starting index of the range to sort.</param>
+      <param name="count">The length of the range to sort.</param>
+      <param name="comparer">The implementation to use when comparing elements, or <see langword="null" /> to use the default comparer (<see cref="P:System.Collections.Generic.Comparer`1.Default" />).</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the list to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the list. The 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.NotImplementedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Add(System.Object)">
+      <summary>Adds an item to the list.</summary>
+      <param name="value">The object to add to the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+      <returns>The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Clear">
+      <summary>Removes all items from the list.</summary>
+      <exception cref="T:System.NotImplementedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Contains(System.Object)">
+      <summary>Determines whether the list contains a specific value.</summary>
+      <param name="value">The object to locate in the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Object" /> is found in the list; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#IndexOf(System.Object)">
+      <summary>Determines the index of a specific item in the list.</summary>
+      <param name="value">The object to locate in the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+      <returns>The index of <paramref name="value" /> if found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Insert(System.Int32,System.Object)">
+      <summary>Inserts an item to the list at the specified index.</summary>
+      <param name="index">The zero-based index at which <paramref name="value" /> should be inserted.</param>
+      <param name="value">The object to insert into the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Remove(System.Object)">
+      <summary>Removes the first occurrence of a specific object from the list.</summary>
+      <param name="value">The object to remove from the list.</param>
+      <exception cref="T:System.NotImplementedException" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.ToImmutable">
+      <summary>Creates an immutable list based on the contents of this instance.</summary>
+      <returns>An immutable list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Builder.TrueForAll(System.Predicate{`0})">
+      <summary>Determines whether every element in the immutable list matches the conditions defined by the specified predicate.</summary>
+      <param name="match">The delegate that defines the conditions to check against the elements.</param>
+      <returns>
+        <see langword="true" /> if every element in the immutable list matches the conditions defined by the specified predicate; otherwise, <see langword="false" />. If the list has no elements, the return value is <see langword="true" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.Count">
+      <summary>Gets the number of elements in this immutable list.</summary>
+      <returns>The number of elements in this list.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.Item(System.Int32)">
+      <summary>Gets or sets the value for a given index in the list.</summary>
+      <param name="index">The index of the item to get or set.</param>
+      <returns>The value at the specified index.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Gets a value that indicates whether this instance is read-only.</summary>
+      <returns>Always <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#ICollection#IsSynchronized">
+      <summary>Gets a value that indicates whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe).</summary>
+      <returns>
+        <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe); otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#ICollection#SyncRoot">
+      <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#IsFixedSize">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.IList" /> has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IList" /> has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#IsReadOnly">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Builder.System#Collections#IList#Item(System.Int32)">
+      <summary>Gets or sets the <see cref="T:System.Object" /> at the specified index.</summary>
+      <param name="index">The index.</param>
+      <returns>The object at the specified index.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableList`1.Enumerator">
+      <summary>Enumerates the contents of a binary tree.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.Dispose">
+      <summary>Releases the resources used by the current instance of the <see cref="T:System.Collections.Immutable.ImmutableList`1.Enumerator" /> class.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.MoveNext">
+      <summary>Advances enumeration to the next element of the immutable list.</summary>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the list.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableList`1.Enumerator.Reset">
+      <summary>Sets the enumerator to its initial position, which is before the first element in the immutable list.</summary>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.</summary>
+      <returns>The element at the current position of the enumerator.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableList`1.Enumerator.System#Collections#IEnumerator#Current">
+      <summary>The current element.</summary>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableQueue">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableQueue`1" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue.Create``1">
+      <summary>Creates an empty immutable queue.</summary>
+      <typeparam name="T">The type of items to be stored in the immutable queue.</typeparam>
+      <returns>An empty immutable queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue.Create``1(``0)">
+      <summary>Creates a new immutable queue that contains the specified item.</summary>
+      <param name="item">The item to prepopulate the queue with.</param>
+      <typeparam name="T">The type of items in the immutable queue.</typeparam>
+      <returns>A new immutable queue that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue.Create``1(``0[])">
+      <summary>Creates a new immutable queue that contains the specified array of items.</summary>
+      <param name="items">An array that contains the items to prepopulate the queue with.</param>
+      <typeparam name="T">The type of items in the immutable queue.</typeparam>
+      <returns>A new immutable queue that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable queue that contains the specified items.</summary>
+      <param name="items">The items to add to the queue before immutability is applied.</param>
+      <typeparam name="T">The type of elements in the queue.</typeparam>
+      <returns>An immutable queue that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue.Dequeue``1(System.Collections.Immutable.IImmutableQueue{``0},``0@)">
+      <summary>Removes the item at the beginning of the immutable queue, and returns the new queue.</summary>
+      <param name="queue">The queue to remove the item from.</param>
+      <param name="value">When this method returns, contains the item from the beginning of the queue.</param>
+      <typeparam name="T">The type of elements in the immutable queue.</typeparam>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>The new queue with the item removed.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableQueue`1">
+      <summary>Represents an immutable queue.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the queue.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.Clear">
+      <summary>Removes all objects from the immutable queue.</summary>
+      <returns>The empty immutable queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.Dequeue">
+      <summary>Removes the element at the beginning of the immutable queue, and returns the new queue.</summary>
+      <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
+      <returns>The new immutable queue; never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.Dequeue(`0@)">
+      <summary>Removes the item at the beginning of the immutable queue, and returns the new queue.</summary>
+      <param name="value">When this method returns, contains the element from the beginning of the queue.</param>
+      <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
+      <returns>The new immutable queue with the beginning element removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.Enqueue(`0)">
+      <summary>Adds an element to the end of the immutable queue, and returns the new queue.</summary>
+      <param name="value">The element to add.</param>
+      <returns>The new immutable queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable queue.</summary>
+      <returns>An enumerator that can be used to iterate through the queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.Peek">
+      <summary>Returns the element at the beginning of the immutable queue without removing it.</summary>
+      <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
+      <returns>The element at the beginning of the queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.PeekRef">
+      <summary>Gets a read-only reference to the element at the front of the queue.</summary>
+      <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
+      <returns>Read-only reference to the element at the front of the queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator  that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.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>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Immutable#IImmutableQueue{T}#Clear">
+      <summary>Removes all elements from the immutable queue.</summary>
+      <returns>The empty immutable queue.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Immutable#IImmutableQueue{T}#Dequeue">
+      <summary>Removes the element at the beginning of the immutable queue, and returns the new queue.</summary>
+      <exception cref="T:System.InvalidOperationException">Thrown when the queue is empty.</exception>
+      <returns>The new immutable queue; never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.System#Collections#Immutable#IImmutableQueue{T}#Enqueue(`0)">
+      <summary>Adds an element to the end of the immutable queue, and returns the new queue.</summary>
+      <param name="value">The element to add.</param>
+      <returns>The new immutable queue.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableQueue`1.Empty">
+      <summary>Gets an empty immutable queue.</summary>
+      <returns>An empty immutable queue.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableQueue`1.IsEmpty">
+      <summary>Gets a value that indicates whether this immutable queue is empty.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <returns>
+        <see langword="true" /> if this queue is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableQueue`1.Enumerator">
+      <summary>Enumerates the contents of an immutable queue without allocating any memory.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableQueue`1.Enumerator.MoveNext">
+      <summary>Advances the enumerator to the next element of the immutable queue.</summary>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the queue.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableQueue`1.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.</summary>
+      <returns>The element at the current position of the enumerator.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedDictionary">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.Create``2">
+      <summary>Creates an empty immutable sorted dictionary.</summary>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>An empty immutable sorted dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.Create``2(System.Collections.Generic.IComparer{``0})">
+      <summary>Creates an empty immutable sorted dictionary that uses the specified key comparer.</summary>
+      <param name="keyComparer">The implementation to use to determine the equality of keys in the dictionary.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>An empty immutable sorted dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.Create``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Creates an empty immutable sorted dictionary that uses the specified key and value comparers.</summary>
+      <param name="keyComparer">The implementation to use to determine the equality of keys in the dictionary.</param>
+      <param name="valueComparer">The implementation to use to determine the equality of values in the dictionary.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>An empty immutable sorted dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateBuilder``2">
+      <summary>Creates a new immutable sorted dictionary builder.</summary>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>The immutable collection builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateBuilder``2(System.Collections.Generic.IComparer{``0})">
+      <summary>Creates a new immutable sorted dictionary builder.</summary>
+      <param name="keyComparer">The key comparer.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>The immutable collection builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateBuilder``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Creates a new immutable sorted dictionary builder.</summary>
+      <param name="keyComparer">The key comparer.</param>
+      <param name="valueComparer">The value comparer.</param>
+      <typeparam name="TKey">The type of keys stored by the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored by the dictionary.</typeparam>
+      <returns>The immutable collection builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateRange``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Creates a new immutable sorted dictionary from the specified range of items with the specified key comparer.</summary>
+      <param name="keyComparer">The comparer implementation to use to evaluate keys for equality and sorting.</param>
+      <param name="items">The items to add to the sorted dictionary.</param>
+      <typeparam name="TKey">The type of keys stored in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored in the dictionary.</typeparam>
+      <returns>The new immutable sorted dictionary that contains the specified items and uses the specified key comparer.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateRange``2(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Creates a new immutable sorted dictionary from the specified range of items with the specified key and value comparers.</summary>
+      <param name="keyComparer">The comparer implementation to use to compare keys for equality and sorting.</param>
+      <param name="valueComparer">The comparer implementation to use to compare values for equality.</param>
+      <param name="items">The items to add to the sorted dictionary before it's immutable.</param>
+      <typeparam name="TKey">The type of keys stored in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored in the dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the specified items and uses the specified comparers.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.CreateRange``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Creates an immutable sorted dictionary that contains the specified items and uses the default comparer.</summary>
+      <param name="items">The items to add to the sorted dictionary before it's immutable.</param>
+      <typeparam name="TKey">The type of keys stored in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of values stored in the dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
+      <summary>Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents.</summary>
+      <param name="source">The sequence of key/value pairs to enumerate.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the key/value pairs in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IComparer{``0})">
+      <summary>Enumerates a sequence of key/value pairs and produces an immutable dictionary of its contents by using the specified key comparer.</summary>
+      <param name="source">The sequence of key/value pairs to enumerate.</param>
+      <param name="keyComparer">The key comparer to use when building the immutable dictionary.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the key/value pairs in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}},System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Enumerates a sequence of key/value pairs and produces an immutable sorted dictionary of its contents by using the specified key and value comparers.</summary>
+      <param name="source">The sequence of key/value pairs to enumerate.</param>
+      <param name="keyComparer">The key comparer to use when building the immutable dictionary.</param>
+      <param name="valueComparer">The value comparer to use for the immutable dictionary.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the key/value pairs in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``2(System.Collections.Immutable.ImmutableSortedDictionary{``0,``1}.Builder)">
+      <summary>Creates an immutable sorted dictionary from the current contents of the builder's dictionary.</summary>
+      <param name="builder">The builder to create the immutable sorted dictionary from.</param>
+      <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the current contents in the builder's dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
+      <summary>Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents.</summary>
+      <param name="source">The sequence to enumerate to generate the dictionary.</param>
+      <param name="keySelector">The function that will produce the key for the dictionary from each sequence element.</param>
+      <param name="elementSelector">The function that will produce the value for the dictionary from each sequence element.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <typeparam name="TKey">The type of the keys in the resulting dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the resulting dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IComparer{``1})">
+      <summary>Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key comparer.</summary>
+      <param name="source">The sequence to enumerate to generate the dictionary.</param>
+      <param name="keySelector">The function that will produce the key for the dictionary from each sequence element.</param>
+      <param name="elementSelector">The function that will produce the value for the dictionary from each sequence element.</param>
+      <param name="keyComparer">The key comparer to use for the dictionary.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <typeparam name="TKey">The type of the keys in the resulting dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the resulting dictionary.</typeparam>
+      <returns>An immutable dictionary that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary.ToImmutableSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IComparer{``1},System.Collections.Generic.IEqualityComparer{``2})">
+      <summary>Enumerates and transforms a sequence, and produces an immutable sorted dictionary of its contents by using the specified key and value comparers.</summary>
+      <param name="source">The sequence to enumerate to generate the dictionary.</param>
+      <param name="keySelector">The function that will produce the key for the dictionary from each sequence element.</param>
+      <param name="elementSelector">The function that will produce the value for the dictionary from each sequence element.</param>
+      <param name="keyComparer">The key comparer to use for the dictionary.</param>
+      <param name="valueComparer">The value comparer to use for the dictionary.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <typeparam name="TKey">The type of the keys in the resulting dictionary.</typeparam>
+      <typeparam name="TValue">The type of the values in the resulting dictionary.</typeparam>
+      <returns>An immutable sorted dictionary that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2">
+      <summary>Represents an immutable sorted dictionary.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey">The type of the key contained in the dictionary.</typeparam>
+      <typeparam name="TValue">The type of the value contained in the dictionary.</typeparam>
+    </member>
+    <member name="F:System.Collections.Immutable.ImmutableSortedDictionary`2.Empty">
+      <summary>Gets an empty immutable sorted dictionary.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Add(`0,`1)">
+      <summary>Adds an element with the specified key and value to the immutable sorted dictionary.</summary>
+      <param name="key">The key of the entry to add.</param>
+      <param name="value">The value of entry to add.</param>
+      <exception cref="T:System.ArgumentException">The given key already exists in the dictionary but has a different value.</exception>
+      <returns>A new immutable sorted dictionary that contains the additional key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Adds the specific key/value pairs to the immutable sorted dictionary.</summary>
+      <param name="items">The key/value pairs to add.</param>
+      <exception cref="T:System.ArgumentException">One of the given keys already exists in the dictionary but has a different value.</exception>
+      <returns>A new immutable dictionary that contains the additional key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Clear">
+      <summary>Retrieves an empty immutable sorted dictionary that has the same ordering and key/value comparison rules as this dictionary instance.</summary>
+      <returns>An empty dictionary with equivalent ordering and key/value comparison rules.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Determines whether this immutable sorted dictionary contains the specified key/value pair.</summary>
+      <param name="pair">The key/value pair to locate.</param>
+      <returns>
+        <see langword="true" /> if the specified key/value pair is found in the dictionary; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ContainsKey(`0)">
+      <summary>Determines whether this immutable sorted map contains the specified key.</summary>
+      <param name="key">The key to locate.</param>
+      <returns>
+        <see langword="true" /> if the immutable dictionary contains the specified key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ContainsValue(`1)">
+      <summary>Determines whether the immutable sorted dictionary contains an element with the specified value.</summary>
+      <param name="value">The value to locate. The value can be <see langword="null" /> for reference types.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable sorted dictionary.</summary>
+      <returns>An enumerator that can be used to iterate through the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Remove(`0)">
+      <summary>Removes the element with the specified value from the immutable sorted dictionary.</summary>
+      <param name="value">The value of the element to remove.</param>
+      <returns>A new immutable dictionary with the specified element removed; or this instance if the specified value cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements with the specified keys from the immutable sorted dictionary.</summary>
+      <param name="keys">The keys of the elements to remove.</param>
+      <returns>A new immutable dictionary with the specified keys removed; or this instance if the specified keys cannot be found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.SetItem(`0,`1)">
+      <summary>Sets the specified key and value in the immutable sorted dictionary, possibly overwriting an existing value for the given key.</summary>
+      <param name="key">The key of the entry to add.</param>
+      <param name="value">The key value to set.</param>
+      <returns>A new immutable sorted dictionary that contains the specified key/value pair.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Sets the specified key/value pairs in the immutable sorted dictionary, possibly overwriting existing values for the keys.</summary>
+      <param name="items">The key/value pairs to set in the dictionary. If any of the keys already exist in the dictionary, this method will overwrite their previous values.</param>
+      <returns>An immutable dictionary that contains the specified key/value pairs.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <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>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Clear">
+      <summary>Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],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>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1" />.</summary>
+      <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1" />.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1" />; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="item" /> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Add(`0,`1)">
+      <summary>Adds an element with the provided key and value to the generic dictionary.</summary>
+      <param name="key">The object to use as the key of the element to add.</param>
+      <param name="value">The object to use as the value of the element to add.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</exception>
+      <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Remove(`0)">
+      <summary>Removes the element with the specified key from the generic dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+      <exception cref="T:System.ArgumentNullException">
+        <paramref name="key" /> is <see langword="null" />.</exception>
+      <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.</exception>
+      <returns>
+        <see langword="true" /> if the element is successfully removed; otherwise, <see langword="false" />.  This method also returns <see langword="false" /> if <paramref name="key" /> was not found in the original generic dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey@TValue}}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the dictionary to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing.</param>
+      <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Add(System.Object,System.Object)">
+      <summary>Adds an element with the provided key and value to the dictionary object.</summary>
+      <param name="key">The object to use as the key of the element to add.</param>
+      <param name="value">The object to use as the value of the element to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Clear">
+      <summary>Clears this instance.</summary>
+      <exception cref="T:System.NotSupportedException">The dictionary object is read-only.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Contains(System.Object)">
+      <summary>Determines whether the immutable dictionary object contains an element with the specified key.</summary>
+      <param name="key">The key to locate in the dictionary object.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#GetEnumerator">
+      <summary>Returns an <see cref="T:System.Collections.IDictionaryEnumerator" /> object for the immutable dictionary object.</summary>
+      <returns>An enumerator object for the dictionary object.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Remove(System.Object)">
+      <summary>Removes the element with the specified key from the immutable dictionary object.</summary>
+      <param name="key">The key of the element to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a collection.</summary>
+      <returns>An enumerator object that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#Add(`0,`1)">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="key">Key of the entry to be added.</param>
+      <param name="value">Value of the entry to be added.</param>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="pairs">Sequence of key/value pairs to be added.</param>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#Clear">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#Remove(`0)">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="key">Key of entry to be removed.</param>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="keys">Sequence of keys to be removed.</param>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#SetItem(`0,`1)">
+      <summary>See the <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> interface.</summary>
+      <param name="key">Key of entry to be updated.</param>
+      <param name="value">Value of entry to be updated.</param>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Immutable#IImmutableDictionary{TKey@TValue}#SetItems(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Applies a given set of key-value pairs to an immutable dictionary, replacing any conflicting keys in the resulting dictionary.</summary>
+      <param name="items">A set of key-value pairs to set on the map.</param>
+      <returns>The <see cref="T:System.Collections.Immutable.IImmutableDictionary`2" /> instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ToBuilder">
+      <summary>Creates an immutable sorted dictionary with the same contents as this dictionary that can be efficiently mutated across multiple operations by using standard mutable interfaces.</summary>
+      <returns>A collection with the same contents as this dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.TryGetKey(`0,`0@)">
+      <summary>Determines whether this dictionary contains a specified key.</summary>
+      <param name="equalKey">The key to search for.</param>
+      <param name="actualKey">The matching key located in the dictionary if found, or <c>equalkey</c> if no match is found.</param>
+      <returns>
+        <see langword="true" /> if a match for <paramref name="equalKey" /> is found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.TryGetValue(`0,`1@)">
+      <summary>Gets the value associated with the specified key.</summary>
+      <param name="key">The key whose value will be retrieved.</param>
+      <param name="value">When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the <paramref name="value" /> parameter.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the specified key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.ValueRef(`0)">
+      <summary>Returns a read-only reference to the value associated with the provided <paramref name="key" />.</summary>
+      <param name="key">Key of the entry to be looked up.</param>
+      <exception cref="T:System.Collections.Generic.KeyNotFoundException">The <paramref name="key" /> is not present.</exception>
+      <returns>A read-only reference to the value associated with the provided <paramref name="key" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.WithComparers(System.Collections.Generic.IComparer{`0})">
+      <summary>Gets an instance of the immutable sorted dictionary that uses the specified key comparer.</summary>
+      <param name="keyComparer">The key comparer to use.</param>
+      <returns>An instance of the immutable dictionary that uses the given comparer.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.WithComparers(System.Collections.Generic.IComparer{`0},System.Collections.Generic.IEqualityComparer{`1})">
+      <summary>Gets an instance of the immutable sorted dictionary that uses the specified key and value comparers.</summary>
+      <param name="keyComparer">The key comparer to use.</param>
+      <param name="valueComparer">The value comparer to use.</param>
+      <returns>An instance of the immutable dictionary that uses the given comparers.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Count">
+      <summary>Gets the number of key/value pairs in the immutable sorted dictionary.</summary>
+      <returns>The number of key/value pairs in the dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.IsEmpty">
+      <summary>Gets a value that indicates whether this instance of the immutable sorted dictionary is empty.</summary>
+      <returns>
+        <see langword="true" /> if this instance is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Item(`0)">
+      <summary>Gets the <paramref name="TValue" /> associated with the specified key.</summary>
+      <param name="key">The key to retrieve the value for.</param>
+      <returns>The value associated with the specified key. If no results are found, the operation throws an exception.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.KeyComparer">
+      <summary>Gets the key comparer for the immutable sorted dictionary.</summary>
+      <returns>The key comparer for the dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Keys">
+      <summary>Gets the keys in the immutable sorted dictionary.</summary>
+      <returns>The keys in the immutable dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Item(`0)">
+      <summary>Gets or sets the <typeparamref name="TValue" /> with the specified key.</summary>
+      <param name="key">The object to use as the key of the element to access.</param>
+      <returns>An object of type <typeparamref name="TValue" /> associated with the <paramref name="key" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Keys">
+      <summary>Gets the keys.</summary>
+      <returns>A collection containing the keys.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#Generic#IDictionary{TKey@TValue}#Values">
+      <summary>Gets the values.</summary>
+      <returns>A collection containing the values.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#ICollection#IsSynchronized">
+      <summary>Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe).</summary>
+      <returns>
+        <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread-safe); otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#ICollection#SyncRoot">
+      <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#IsFixedSize">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#IsReadOnly">
+      <summary>Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Item(System.Object)">
+      <summary>Gets or sets the element with the specified key.</summary>
+      <param name="key">The key of the element to be accessed.</param>
+      <returns>Value stored under the specified key.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Keys">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.System#Collections#IDictionary#Values">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.ValueComparer">
+      <summary>Gets the value comparer used to determine whether values are equal.</summary>
+      <returns>The value comparer used to determine whether values are equal.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Values">
+      <summary>Gets the values in the immutable sorted dictionary.</summary>
+      <returns>The values in the dictionary.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder">
+      <summary>Represents a sorted dictionary that mutates with little or no memory allocations and that can produce or build on immutable sorted dictionary instances very efficiently.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey" />
+      <typeparam name="TValue" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Add(`0,`1)">
+      <summary>Adds an element that has the specified key and value to the immutable sorted dictionary.</summary>
+      <param name="key">The key of the element to add.</param>
+      <param name="value">The value of the element to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Adds the specified item to the immutable sorted dictionary.</summary>
+      <param name="item">The object to add to the dictionary.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.AddRange(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
+      <summary>Adds a sequence of values to the immutable sorted dictionary.</summary>
+      <param name="items">The items to add to the dictionary.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Clear">
+      <summary>Removes all items from the immutable sorted dictionary.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Determines whether the immutable sorted dictionary contains a specific value.</summary>
+      <param name="item">The object to locate in the dictionary.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> is found in the dictionary; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ContainsKey(`0)">
+      <summary>Determines whether the immutable sorted dictionary contains an element with the specified key.</summary>
+      <param name="key">The key to locate in the dictionary.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ContainsValue(`1)">
+      <summary>Determines whether the immutable sorted dictionary contains an element with the specified value.</summary>
+      <param name="value">The value to locate in the dictionary. The value can be <see langword="null" /> for reference types.</param>
+      <returns>
+        <see langword="true" /> if the immutable sorted dictionary contains an element with the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable sorted dictionary.</summary>
+      <returns>An enumerator that can be used to iterate through the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.GetValueOrDefault(`0)">
+      <summary>Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value.</summary>
+      <param name="key">The key to search for.</param>
+      <returns>The value for the key, or <c>default(TValue)</c> if no matching key was found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.GetValueOrDefault(`0,`1)">
+      <summary>Gets the value for a given key if a matching key exists in the dictionary; otherwise the default value.</summary>
+      <param name="key">The key to search for.</param>
+      <param name="defaultValue">The default value to return if no matching key is found in the dictionary.</param>
+      <returns>The value for the key, or <paramref name="defaultValue" /> if no matching key was found.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Remove(`0)">
+      <summary>Removes the element with the specified key from the immutable sorted dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+      <returns>
+        <see langword="true" /> if the element is successfully removed; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="key" /> was not found in the original dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
+      <summary>Removes the first occurrence of a specific object from the immutable sorted dictionary.</summary>
+      <param name="item">The object to remove from the dictionary.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the dictionary; otherwise, <see langword="false" />. This method also returns <see langword="false" /> if <paramref name="item" /> is not found in the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.RemoveRange(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes any entries with keys that match those found in the specified sequence from the immutable sorted dictionary.</summary>
+      <param name="keys">The keys for entries to remove from the dictionary.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
+      <summary>See <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#IEnumerable{System#Collections#Generic#KeyValuePair{TKey@TValue}}#GetEnumerator">
+      <summary>See <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the dictionary to an array, starting at a particular array index.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the dictionary. The array must have zero-based indexing.</param>
+      <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Add(System.Object,System.Object)">
+      <summary>Adds an element with the provided key and value to the dictionary object.</summary>
+      <param name="key">The key of the element to add.</param>
+      <param name="value">The value of the element to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Contains(System.Object)">
+      <summary>Determines whether the dictionary object contains an element with the specified key.</summary>
+      <param name="key">The key to locate.</param>
+      <returns>
+        <see langword="true" /> if the dictionary contains an element with the key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#GetEnumerator">
+      <summary>Returns an <see cref="T:System.Collections.IDictionaryEnumerator" /> object for the dictionary.</summary>
+      <returns>An <see cref="T:System.Collections.IDictionaryEnumerator" /> object for the dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Remove(System.Object)">
+      <summary>Removes the element with the specified key from the dictionary.</summary>
+      <param name="key">The key of the element to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a collection.</summary>
+      <returns>An enumerator object that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ToImmutable">
+      <summary>Creates an immutable sorted dictionary based on the contents of this instance.</summary>
+      <returns>An immutable sorted dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.TryGetKey(`0,`0@)">
+      <summary>Determines whether this dictionary contains a specified key.</summary>
+      <param name="equalKey">The key to search for.</param>
+      <param name="actualKey">The matching key located in the dictionary if found, or <c>equalkey</c> if no match is found.</param>
+      <returns>
+        <see langword="true" /> if a match for <paramref name="equalKey" /> is found; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.TryGetValue(`0,`1@)">
+      <summary>Gets the value associated with the specified key.</summary>
+      <param name="key">The key whose value will be retrieved.</param>
+      <param name="value">When this method returns, contains the value associated with the specified key, if the key is found; otherwise, contains the default value for the type of the <paramref name="value" /> parameter. This parameter is passed uninitialized.</param>
+      <returns>
+        <see langword="true" /> if the object that implements the dictionary contains an element with the specified key; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ValueRef(`0)">
+      <summary>Returns a read-only reference to the value associated with the provided <paramref name="key" />.</summary>
+      <param name="key">Key of the entry to be looked up.</param>
+      <exception cref="T:System.Collections.Generic.KeyNotFoundException">The <paramref name="key" /> is not present.</exception>
+      <returns>A read-only reference to the value associated with the provided <paramref name="key" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Count">
+      <summary>Gets the number of elements in this immutable sorted dictionary.</summary>
+      <returns>The number of elements in this dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Item(`0)">
+      <summary>Gets or sets the value for a specified key in the immutable sorted dictionary.</summary>
+      <param name="key">The key to retrieve the value for.</param>
+      <returns>The value associated with the given key.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.KeyComparer">
+      <summary>Gets or sets the key comparer.</summary>
+      <returns>The key comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Keys">
+      <summary>Gets a strongly typed, read-only collection of elements.</summary>
+      <returns>A strongly typed, read-only collection of elements.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{TKey@TValue}}#IsReadOnly">
+      <summary>Gets a value that indicates whether this instance is read-only.</summary>
+      <returns>Always <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey@TValue}#Keys">
+      <summary>Returns a collection containing all keys stored in the dictionary. See <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>A collection containing all keys stored in the dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#Generic#IDictionary{TKey@TValue}#Values">
+      <summary>Returns a collection containing all values stored in the dictionary. See <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>A collection containing all values stored in the dictionary.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#ICollection#IsSynchronized">
+      <summary>Gets a value that indicates whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe).</summary>
+      <returns>
+        <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe); otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#ICollection#SyncRoot">
+      <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#IsFixedSize">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.IDictionary" /> object has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IDictionary" /> object has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#IsReadOnly">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Item(System.Object)">
+      <summary>Gets or sets the element with the specified key.</summary>
+      <param name="key">The key.</param>
+      <returns>The value associated with the specified key.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Keys">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the keys of the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.System#Collections#IDictionary#Values">
+      <summary>Gets an <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
+      <returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> containing the values in the object that implements <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.ValueComparer">
+      <summary>Gets or sets the value comparer.</summary>
+      <returns>The value comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Builder.Values">
+      <summary>Gets a collection that contains the values of the immutable sorted dictionary.</summary>
+      <returns>A collection that contains the values of the object that implements the dictionary.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator">
+      <summary>Enumerates the contents of a binary tree.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="TKey" />
+      <typeparam name="TValue" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.Dispose">
+      <summary>Releases the resources used by the current instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator" /> class.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.MoveNext">
+      <summary>Advances the enumerator to the next element of the immutable sorted dictionary.</summary>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the sorted dictionary.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.Reset">
+      <summary>Sets the enumerator to its initial position, which is before the first element in the immutable sorted dictionary.</summary>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.</summary>
+      <returns>The element at the current position of the enumerator.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedDictionary`2.Enumerator.System#Collections#IEnumerator#Current">
+      <summary>The current element.</summary>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedSet">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1">
+      <summary>Creates an empty immutable sorted set.</summary>
+      <typeparam name="T">The type of items to be stored in the immutable set.</typeparam>
+      <returns>An empty immutable sorted set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(``0)">
+      <summary>Creates a new immutable sorted set that contains the specified item.</summary>
+      <param name="item">The item to prepopulate the set with.</param>
+      <typeparam name="T">The type of items in the immutable set.</typeparam>
+      <returns>A new immutable set that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(``0[])">
+      <summary>Creates a new immutable sorted set that contains the specified array of items.</summary>
+      <param name="items">An array that contains the items to prepopulate the set with.</param>
+      <typeparam name="T">The type of items in the immutable set.</typeparam>
+      <returns>A new immutable set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(System.Collections.Generic.IComparer{``0})">
+      <summary>Creates an empty immutable sorted set that uses the specified comparer.</summary>
+      <param name="comparer">The implementation to use when comparing items in the set.</param>
+      <typeparam name="T">The type of items in the immutable set.</typeparam>
+      <returns>An empty immutable set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(System.Collections.Generic.IComparer{``0},``0)">
+      <summary>Creates a new immutable sorted set that contains the specified item and uses the specified comparer.</summary>
+      <param name="comparer">The implementation to use when comparing items in the set.</param>
+      <param name="item">The item to prepopulate the set with.</param>
+      <typeparam name="T">The type of items stored in the immutable set.</typeparam>
+      <returns>A new immutable set that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.Create``1(System.Collections.Generic.IComparer{``0},``0[])">
+      <summary>Creates a new immutable sorted set that contains the specified array of items and uses the specified comparer.</summary>
+      <param name="comparer">The implementation to use when comparing items in the set.</param>
+      <param name="items">An array that contains the items to prepopulate the set with.</param>
+      <typeparam name="T">The type of items in the immutable set.</typeparam>
+      <returns>A new immutable set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateBuilder``1">
+      <summary>Returns a collection that can be used to build an immutable sorted set.</summary>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The immutable collection builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateBuilder``1(System.Collections.Generic.IComparer{``0})">
+      <summary>Returns a collection that can be used to build an immutable sorted set.</summary>
+      <param name="comparer">The comparer used to compare items in the set for equality.</param>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The immutable collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateRange``1(System.Collections.Generic.IComparer{``0},System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable collection that contains the specified items.</summary>
+      <param name="comparer">The comparer to use to compare elements in this set.</param>
+      <param name="items">The items to add to the set before it's immutable.</param>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The new immutable set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable collection that contains the specified items.</summary>
+      <param name="items">The items to add to the set with before it's immutable.</param>
+      <typeparam name="T">The type of items stored by the collection.</typeparam>
+      <returns>The new immutable set that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.ToImmutableSortedSet``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Enumerates a sequence and produces an immutable sorted set of its contents.</summary>
+      <param name="source">The sequence to enumerate.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <returns>An immutable sorted set that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.ToImmutableSortedSet``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})">
+      <summary>Enumerates a sequence, produces an immutable sorted set of its contents, and uses the specified comparer.</summary>
+      <param name="source">The sequence to enumerate.</param>
+      <param name="comparer">The comparer to use for initializing and adding members to the sorted set.</param>
+      <typeparam name="TSource">The type of the elements in the sequence.</typeparam>
+      <returns>An immutable sorted set that contains the items in the specified sequence.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet.ToImmutableSortedSet``1(System.Collections.Immutable.ImmutableSortedSet{``0}.Builder)">
+      <summary>Creates an immutable sorted set from the current contents of the builder's set.</summary>
+      <param name="builder">The builder to create the immutable sorted set from.</param>
+      <typeparam name="TSource">The type of the elements in the immutable sorted set.</typeparam>
+      <returns>An immutable sorted set that contains the current contents in the builder's set.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedSet`1">
+      <summary>Represents an immutable sorted set implementation.
+
+NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of elements in the set.</typeparam>
+    </member>
+    <member name="F:System.Collections.Immutable.ImmutableSortedSet`1.Empty">
+      <summary>Gets an empty immutable sorted set.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Add(`0)">
+      <summary>Adds the specified value to this immutable sorted set.</summary>
+      <param name="value">The value to add.</param>
+      <returns>A new set with the element added, or this set if the element is already in this set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Clear">
+      <summary>Removes all elements from the immutable sorted set.</summary>
+      <returns>An empty set with the elements removed.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Contains(`0)">
+      <summary>Determines whether this immutable sorted set contains the specified value.</summary>
+      <param name="value">The value to check for.</param>
+      <returns>
+        <see langword="true" /> if the set contains the specified value; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Except(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes a specified set of items from this immutable sorted set.</summary>
+      <param name="other">The items to remove from this set.</param>
+      <returns>A new set with the items removed; or the original set if none of the items were in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable sorted set.</summary>
+      <returns>An enumerator that can be used to iterate through the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IndexOf(`0)">
+      <summary>Gets the position within this immutable sorted set that the specified value appears in.</summary>
+      <param name="item">The value whose position is being sought.</param>
+      <returns>The index of the specified <paramref name="item" /> in the sorted set, if <paramref name="item" /> is found. If <paramref name="item" /> is not found and is less than one or more elements in this set, this method returns a negative number that is the bitwise complement of the index of the first element that is larger than value. If <paramref name="item" /> is not found and is greater than any of the elements in the set, this method returns a negative number that is the bitwise complement of the index of the last element plus 1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Intersect(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable sorted set that contains elements that exist both in this set and in the specified set.</summary>
+      <param name="other">The set to intersect with this one.</param>
+      <returns>A new immutable sorted set that contains any elements that exist in both sets.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable sorted set is a proper (strict) subset of the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper subset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable sorted set is a proper superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper superset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable sorted set is a subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a subset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable sorted set is a superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a superset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.ItemRef(System.Int32)">
+      <summary>Gets a read-only reference of the element of the set at the given <paramref name="index" />.</summary>
+      <param name="index">The 0-based index of the element in the set to return.</param>
+      <returns>A read-only reference of the element at the given position.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable sorted set and a specified collection share common elements.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set and <paramref name="other" /> share at least one common element; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Remove(`0)">
+      <summary>Removes the specified value from this immutable sorted set.</summary>
+      <param name="value">The element to remove.</param>
+      <returns>A new immutable sorted set with the element removed, or this set if the element was not found in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Reverse">
+      <summary>Returns an <see cref="T:System.Collections.Generic.IEnumerable`1" /> that iterates over this immutable sorted set in reverse order.</summary>
+      <returns>An enumerator that iterates over the immutable sorted set in reverse order.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current immutable sorted set and the specified collection contain the same elements.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the sets are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable sorted set that contains elements that exist either in this set or in a given sequence, but not both.</summary>
+      <param name="other">The other sequence of items.</param>
+      <returns>The new immutable sorted set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
+      <summary>Adds the specified value to the collection.</summary>
+      <param name="item">The value to add.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#Clear">
+      <summary>Removes all the items from the collection.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
+      <summary>Copies the elements of the collection to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
+      <summary>Removes the first occurrence of a specific object from the collection.</summary>
+      <param name="item">The object to remove from the collection.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was successfully removed from the collection; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IList{T}#Insert(System.Int32,`0)">
+      <summary>Inserts an item in the set at the specified index.</summary>
+      <param name="index">The zero-based index at which <paramref name="item" /> should be inserted.</param>
+      <param name="item">The object to insert into the set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IList{T}#RemoveAt(System.Int32)">
+      <summary>Removes the  item at the specified index.</summary>
+      <param name="index">The zero-based index of the item to remove.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#Add(`0)">
+      <summary>Adds an element to the current set and returns a value to indicate if the element was successfully added.</summary>
+      <param name="item">The element to add to the set.</param>
+      <returns>
+        <see langword="true" /> if the element is added to the set; <see langword="false" /> if the element is already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes all elements in the specified collection from the current set.</summary>
+      <param name="other">The collection of items to remove from the set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are also in a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains all elements that are present in either the current set or the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the set to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing.</param>
+      <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through a collection.</summary>
+      <returns>An enumerator object that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Add(System.Object)">
+      <summary>Adds an item to the set.</summary>
+      <param name="value">The object to add to the set.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only or has a fixed size.</exception>
+      <returns>The position into which the new element was inserted, or -1 to indicate that the item was not inserted into the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Clear">
+      <summary>Removes all items from the set.</summary>
+      <exception cref="T:System.NotSupportedException">Thrown in all cases.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Contains(System.Object)">
+      <summary>Determines whether the set contains a specific value.</summary>
+      <param name="value">The object to locate in the set.</param>
+      <returns>
+        <see langword="true" /> if the object is found in the set; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#IndexOf(System.Object)">
+      <summary>Determines the index of a specific item in the set.</summary>
+      <param name="value">The object to locate in the set.</param>
+      <returns>The index of <paramref name="value" /> if found in the list; otherwise, -1.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Insert(System.Int32,System.Object)">
+      <summary>Inserts an item into the set at the specified index.</summary>
+      <param name="index">The zero-based index at which <paramref name="value" /> should be inserted.</param>
+      <param name="value">The object to insert into the set.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only or has a fixed size.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Remove(System.Object)">
+      <summary>Removes the first occurrence of a specific object from the set.</summary>
+      <param name="value">The object to remove from the set.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only or has a fixed size.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#RemoveAt(System.Int32)">
+      <summary>Removes the item at the specified index of the set.</summary>
+      <param name="index">The zero-based index of the item to remove.</param>
+      <exception cref="T:System.NotSupportedException">The set is read-only or has a fixed size.</exception>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Add(`0)">
+      <summary>Adds the specified element to this immutable set.</summary>
+      <param name="value">The element to add.</param>
+      <returns>A new set with the element added, or this set if the element is already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Clear">
+      <summary>Retrieves an empty immutable set that has the same sorting and ordering semantics as this instance.</summary>
+      <returns>An empty set that has the same sorting and ordering semantics as this instance.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Except(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the elements in the specified collection from the current immutable set.</summary>
+      <param name="other">The items to remove from this set.</param>
+      <returns>The new set with the items removed; or the original set if none of the items were in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Intersect(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable set that contains elements that exist in both this set and the specified set.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new immutable set that contains any elements that exist in both sets.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Remove(`0)">
+      <summary>Removes the specified element from this immutable set.</summary>
+      <param name="value">The element to remove.</param>
+      <returns>A new set with the specified element removed, or the current set if the element cannot be found in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#SymmetricExcept(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates an immutable set that contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>A new set that contains the elements that are present only in the current set or in the specified collection, but not both.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Immutable#IImmutableSet{T}#Union(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Creates a new immutable set that contains all elements that are present in either the current set or in the specified collection.</summary>
+      <param name="other">The collection to add elements from.</param>
+      <returns>A new immutable set with the items added; or the original set if all the items were already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.ToBuilder">
+      <summary>Creates a collection that has the same contents as this immutable sorted set that can be efficiently manipulated by using standard mutable interfaces.</summary>
+      <returns>The sorted set builder.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.TryGetValue(`0,`0@)">
+      <summary>Searches the set for a given value and returns the equal value it finds, if any.</summary>
+      <param name="equalValue">The value to search for.</param>
+      <param name="actualValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
+      <returns>A value indicating whether the search was successful.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Union(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Adds a given set of items to this immutable sorted set.</summary>
+      <param name="other">The items to add.</param>
+      <returns>The new set with the items added; or the original set if all the items were already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.WithComparer(System.Collections.Generic.IComparer{`0})">
+      <summary>Returns the immutable sorted set that has the specified key comparer.</summary>
+      <param name="comparer">The comparer to check for.</param>
+      <returns>The immutable sorted set that has the specified key comparer.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Count">
+      <summary>Gets the number of elements in the immutable sorted set.</summary>
+      <returns>The number of elements in the immutable sorted set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.IsEmpty">
+      <summary>Gets a value that indicates whether this immutable sorted set is empty.</summary>
+      <returns>
+        <see langword="true" /> if this set is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Item(System.Int32)">
+      <summary>Gets the element of the immutable sorted set at the given index.</summary>
+      <param name="index">The index of the element to retrieve from the sorted set.</param>
+      <returns>The element at the given index.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.KeyComparer">
+      <summary>Gets the comparer used to sort keys in the immutable sorted set.</summary>
+      <returns>The comparer used to sort keys.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Max">
+      <summary>Gets the maximum value in the immutable sorted set, as defined by the comparer.</summary>
+      <returns>The maximum value in the set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Min">
+      <summary>Gets the minimum value in the immutable sorted set, as defined by the comparer.</summary>
+      <returns>The minimum value in the set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Returns true, since immutable collections are always read-only. See the <see cref="T:System.Collections.Generic.ICollection`1" /> interface.</summary>
+      <returns>A boolean value indicating whether the collection is read-only.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#Generic#IList{T}#Item(System.Int32)">
+      <summary>See the <see cref="T:System.Collections.Generic.IList`1" /> interface.</summary>
+      <param name="index">The zero-based index of the item to access.</param>
+      <returns>The element stored at the specified index.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#ICollection#IsSynchronized">
+      <summary>Returns true, since immutable collections are always thread-safe. See the <see cref="T:System.Collections.ICollection" /> interface.</summary>
+      <returns>A boolean value indicating whether the collection is thread-safe.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#ICollection#SyncRoot">
+      <summary>See <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>Object used for synchronizing access to the collection.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#IsFixedSize">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.IList" /> has a fixed size.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.IList" /> has a fixed size; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#IsReadOnly">
+      <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.</summary>
+      <returns>
+        <see langword="true" /> if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.System#Collections#IList#Item(System.Int32)">
+      <summary>Gets or sets the <see cref="T:System.Object" /> at the specified index.</summary>
+      <param name="index">The index.</param>
+      <exception cref="T:System.NotSupportedException" />
+      <returns>The <see cref="T:System.Object" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedSet`1.Builder">
+      <summary>Represents a sorted set that enables changes with little or no memory allocations, and efficiently manipulates or builds immutable sorted sets.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Add(`0)">
+      <summary>Adds an element to the current set and returns a value to indicate whether the element was successfully added.</summary>
+      <param name="item">The element to add to the set.</param>
+      <returns>
+        <see langword="true" /> if the element is added to the set; <see langword="false" /> if the element is already in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Clear">
+      <summary>Removes all elements from this set.</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Contains(`0)">
+      <summary>Determines whether the set contains the specified object.</summary>
+      <param name="item">The object to locate in the set.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> is found in the set; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Removes the specified set of items from the current set.</summary>
+      <param name="other">The collection of items to remove from the set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the set.</summary>
+      <returns>A enumerator that can be used to iterate through the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are also in a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a proper (strict) subset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper subset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a proper (strict) superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a proper superset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a subset of a specified collection.</summary>
+      <param name="other">The collection is compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a subset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set is a superset of a specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is a superset of <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.ItemRef(System.Int32)">
+      <summary>Gets a read-only reference to the element of the set at the given <paramref name="index" />.</summary>
+      <param name="index">The 0-based index of the element in the set to return.</param>
+      <returns>A read-only reference to the element at the given position.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Overlaps(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set overlaps with the specified collection.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set and <paramref name="other" /> share at least one common element; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Remove(`0)">
+      <summary>Removes the first occurrence of the specified object from the set.</summary>
+      <param name="item">The object to remove from the set.</param>
+      <returns>
+        <see langword="true" /> if <paramref name="item" /> was removed from the set; <see langword="false" /> if <paramref name="item" /> was not found in the set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Reverse">
+      <summary>Returns an enumerator that iterates over the immutable sorted set in reverse order.</summary>
+      <returns>An enumerator that iterates over the set in reverse order.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.SetEquals(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Determines whether the current set and the specified collection contain the same elements.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+      <returns>
+        <see langword="true" /> if the current set is equal to <paramref name="other" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.</summary>
+      <param name="other">The collection to compare to the current set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#ICollection{T}#Add(`0)">
+      <summary>Adds an element to the current set and returns a value to indicate whether the element was successfully added.</summary>
+      <param name="item">The element to add to the set.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#ICollection{T}#CopyTo(`0[],System.Int32)">
+      <summary>Copies the elements of the collection to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from collection. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>A enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#ICollection#CopyTo(System.Array,System.Int32)">
+      <summary>Copies the elements of the set to an array, starting at a particular array index.</summary>
+      <param name="array">The one-dimensional array that is the destination of the elements copied from the set. The array must have zero-based indexing.</param>
+      <param name="arrayIndex">The zero-based index in <paramref name="array" /> at which copying begins.</param>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#IEnumerable#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>A enumerator that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.ToImmutable">
+      <summary>Creates an immutable sorted set based on the contents of this instance.</summary>
+      <returns>An immutable set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.TryGetValue(`0,`0@)">
+      <summary>Searches the set for a given value and returns the equal value it finds, if any.</summary>
+      <param name="equalValue">The value for which to search.</param>
+      <param name="actualValue">The value from the set that the search found, or the original value if the search yielded no match.</param>
+      <returns>A value indicating whether the search was successful.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Builder.UnionWith(System.Collections.Generic.IEnumerable{`0})">
+      <summary>Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.</summary>
+      <param name="other">The collection to compare to the current state.</param>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Count">
+      <summary>Gets the number of elements in the immutable sorted set.</summary>
+      <returns>The number of elements in this set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Item(System.Int32)">
+      <summary>Gets the element of the set at the given index.</summary>
+      <param name="index">The 0-based index of the element in the set to return.</param>
+      <returns>The element at the given position.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.KeyComparer">
+      <summary>Gets or sets the object that is used to determine equality for the values in the immutable sorted set.</summary>
+      <returns>The comparer that is used to determine equality for the values in the set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Max">
+      <summary>Gets the maximum value in the immutable sorted set, as defined by the comparer.</summary>
+      <returns>The maximum value in the set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.Min">
+      <summary>Gets the minimum value in the immutable sorted set, as defined by the comparer.</summary>
+      <returns>The minimum value in the set.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#Generic#ICollection{T}#IsReadOnly">
+      <summary>Gets a value that indicates whether this instance is read-only.</summary>
+      <returns>Always <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#ICollection#IsSynchronized">
+      <summary>Gets a value that indicates whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread-safe).</summary>
+      <returns>
+        <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread-safe); otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Builder.System#Collections#ICollection#SyncRoot">
+      <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</summary>
+      <returns>An object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator">
+      <summary>Enumerates the contents of a binary tree.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.Dispose">
+      <summary>Releases the resources used by the current instance of the <see cref="T:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.MoveNext">
+      <summary>Advances the enumerator to the next element of the immutable sorted set.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the sorted set.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.Reset">
+      <summary>Sets the enumerator to its initial position, which is before the first element in the immutable sorted set.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <returns>The element at the current position of the enumerator.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableSortedSet`1.Enumerator.System#Collections#IEnumerator#Current">
+      <summary>The current element.</summary>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableStack">
+      <summary>Provides a set of initialization methods for instances of the <see cref="T:System.Collections.Immutable.ImmutableStack`1" /> class.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack.Create``1">
+      <summary>Creates an empty immutable stack.</summary>
+      <typeparam name="T">The type of items to be stored in the immutable stack.</typeparam>
+      <returns>An empty immutable stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack.Create``1(``0)">
+      <summary>Creates a new immutable stack that contains the specified item.</summary>
+      <param name="item">The item to prepopulate the stack with.</param>
+      <typeparam name="T">The type of items in the immutable stack.</typeparam>
+      <returns>A new immutable collection that contains the specified item.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack.Create``1(``0[])">
+      <summary>Creates a new immutable stack that contains the specified array of items.</summary>
+      <param name="items">An array that contains the items to prepopulate the stack with.</param>
+      <typeparam name="T">The type of items in the immutable stack.</typeparam>
+      <returns>A new immutable stack that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack.CreateRange``1(System.Collections.Generic.IEnumerable{``0})">
+      <summary>Creates a new immutable stack that contains the specified items.</summary>
+      <param name="items">The items to add to the stack before it's immutable.</param>
+      <typeparam name="T">The type of items in the stack.</typeparam>
+      <returns>An immutable stack that contains the specified items.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack.Pop``1(System.Collections.Immutable.IImmutableStack{``0},``0@)">
+      <summary>Removes the specified item from an immutable stack.</summary>
+      <param name="stack">The stack to modify.</param>
+      <param name="value">The item to remove from the stack.</param>
+      <typeparam name="T">The type of items contained in the stack.</typeparam>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>A stack; never <see langword="null" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableStack`1">
+      <summary>Represents an immutable stack.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T">The type of element on the stack.</typeparam>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.Clear">
+      <summary>Removes all objects from the immutable stack.</summary>
+      <returns>An empty immutable stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.GetEnumerator">
+      <summary>Returns an enumerator that iterates through the immutable stack.</summary>
+      <returns>An enumerator that can be used to iterate through the stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.Peek">
+      <summary>Returns the object at the top of the stack without removing it.</summary>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>The object at the top of the stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.PeekRef">
+      <summary>Gets a read-only reference to the element on the top of the stack.</summary>
+      <exception cref="T:System.InvalidOperationException">Thrown when the stack is empty.</exception>
+      <returns>A read-only reference to the element on the top of the stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.Pop">
+      <summary>Removes the element at the top of the immutable stack and returns the stack after the removal.</summary>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>A stack; never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.Pop(`0@)">
+      <summary>Removes the specified element from the immutable stack and returns the stack after the removal.</summary>
+      <param name="value">The value to remove from the stack.</param>
+      <returns>A stack; never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.Push(`0)">
+      <summary>Inserts an object at the top of the immutable stack and returns the new stack.</summary>
+      <param name="value">The object to push onto the stack.</param>
+      <returns>The new stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
+      <summary>Returns an enumerator that iterates through the collection.</summary>
+      <returns>An enumerator  that can be used to iterate through the collection.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.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>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Immutable#IImmutableStack{T}#Clear">
+      <summary>Removes all elements from the immutable stack.</summary>
+      <returns>The empty immutable stack.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Immutable#IImmutableStack{T}#Pop">
+      <summary>Removes the element at the top of the immutable stack and returns the new stack.</summary>
+      <exception cref="T:System.InvalidOperationException">The stack is empty.</exception>
+      <returns>The new stack; never <see langword="null" />.</returns>
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.System#Collections#Immutable#IImmutableStack{T}#Push(`0)">
+      <summary>Inserts an element at the top of the immutable stack and returns the new stack.</summary>
+      <param name="value">The element to push onto the stack.</param>
+      <returns>The new stack.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableStack`1.Empty">
+      <summary>Gets an empty immutable stack.</summary>
+      <returns>An empty immutable stack.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableStack`1.IsEmpty">
+      <summary>Gets a value that indicates whether this instance of the immutable stack is empty.</summary>
+      <returns>
+        <see langword="true" /> if this instance is empty; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="T:System.Collections.Immutable.ImmutableStack`1.Enumerator">
+      <summary>Enumerates the contents of an immutable stack without allocating any memory.  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+      <typeparam name="T" />
+    </member>
+    <member name="M:System.Collections.Immutable.ImmutableStack`1.Enumerator.MoveNext">
+      <summary>Advances the enumerator to the next element of the immutable stack.</summary>
+      <returns>
+        <see langword="true" /> if the enumerator was successfully advanced to the next element; <see langword="false" /> if the enumerator has passed the end of the stack.</returns>
+    </member>
+    <member name="P:System.Collections.Immutable.ImmutableStack`1.Enumerator.Current">
+      <summary>Gets the element at the current position of the enumerator.</summary>
+      <returns>The element at the current position of the enumerator.</returns>
+    </member>
+    <member name="T:System.Linq.ImmutableArrayExtensions">
+      <summary>LINQ extension method overrides that offer greater efficiency for <see cref="T:System.Collections.Immutable.ImmutableArray`1" /> than the standard LINQ methods  
+  
+ NuGet package: System.Collections.Immutable (about immutable collections and how to install)</summary>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Aggregate``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``0,``0})">
+      <summary>Applies a function to a sequence of elements in a cumulative way.</summary>
+      <param name="immutableArray">The collection to apply the function to.</param>
+      <param name="func">A function to be invoked on each element, in a cumulative way.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The final value after the cumulative function has been applied to all elements.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Aggregate``2(System.Collections.Immutable.ImmutableArray{``1},``0,System.Func{``0,``1,``0})">
+      <summary>Applies a function to a sequence of elements in a cumulative way.</summary>
+      <param name="immutableArray">The collection to apply the function to.</param>
+      <param name="seed">The initial accumulator value.</param>
+      <param name="func">A function to be invoked on each element, in a cumulative way.</param>
+      <typeparam name="TAccumulate">The type of the accumulated value.</typeparam>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The final accumulator value.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Aggregate``3(System.Collections.Immutable.ImmutableArray{``2},``0,System.Func{``0,``2,``0},System.Func{``0,``1})">
+      <summary>Applies a function to a sequence of elements in a cumulative way.</summary>
+      <param name="immutableArray">The collection to apply the function to.</param>
+      <param name="seed">The initial accumulator value.</param>
+      <param name="func">A function to be invoked on each element, in a cumulative way.</param>
+      <param name="resultSelector">A function to transform the final accumulator value into the result type.</param>
+      <typeparam name="TAccumulate">The type of the accumulated value.</typeparam>
+      <typeparam name="TResult">The type of result returned by the result selector.</typeparam>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The final accumulator value.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.All``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Gets a value indicating whether all elements in this array match a given condition.</summary>
+      <param name="immutableArray">The array to check for matches.</param>
+      <param name="predicate">The predicate.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>
+        <see langword="true" /> if every element of the source sequence passes the test in the specified predicate; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Any``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Returns a value indicating whether this collection contains any elements.</summary>
+      <param name="builder">The builder to check for matches.</param>
+      <typeparam name="T">The type of elements in the array.</typeparam>
+      <returns>
+        <see langword="true" /> if the array builder contains any elements; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Any``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Gets a value indicating whether the array contains any elements.</summary>
+      <param name="immutableArray">The array to check for elements.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>
+        <see langword="true" /> if the array contains an elements; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Any``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Gets a value indicating whether the array contains any elements that match a specified condition.</summary>
+      <param name="immutableArray">The array to check for elements.</param>
+      <param name="predicate">The delegate that defines the condition to match to an element.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>
+        <see langword="true" /> if an element matches the specified condition; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ElementAt``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32)">
+      <summary>Returns the element at a specified index in the array.</summary>
+      <param name="immutableArray">The array to find an element in.</param>
+      <param name="index">The index for the element to retrieve.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The item at the specified index.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ElementAtOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Int32)">
+      <summary>Returns the element at a specified index in a sequence or a default value if the index is out of range.</summary>
+      <param name="immutableArray">The array to find an element in.</param>
+      <param name="index">The index for the element to retrieve.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The item at the specified index, or the default value if the index is not found.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.First``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Returns the first element in the collection.</summary>
+      <param name="builder">The builder to retrieve an item from.</param>
+      <typeparam name="T">The type of items in the array.</typeparam>
+      <exception cref="T:System.InvalidOperationException">If the array is empty.</exception>
+      <returns>The first item in the list.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.First``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Returns the first element in an array.</summary>
+      <param name="immutableArray">The array to get an item from.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <exception cref="T:System.InvalidOperationException">If the array is empty.</exception>
+      <returns>The first item in the array.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.First``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Returns the first element in a sequence that satisfies a specified condition.</summary>
+      <param name="immutableArray">The array to get an item from.</param>
+      <param name="predicate">The delegate that defines the conditions of the element to search for.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <exception cref="T:System.InvalidOperationException">If the array is empty.</exception>
+      <returns>The first item in the list if it meets the condition specified by <paramref name="predicate" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.FirstOrDefault``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Returns the first element in the collection, or the default value if the collection is empty.</summary>
+      <param name="builder">The builder to retrieve an element from.</param>
+      <typeparam name="T">The type of item in the builder.</typeparam>
+      <returns>The first item in the list, if found; otherwise the default value for the item type.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.FirstOrDefault``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Returns the first element of a sequence, or a default value if the sequence contains no elements.</summary>
+      <param name="immutableArray">The array to retrieve items from.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The first item in the list, if found; otherwise the default value for the item type.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.FirstOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Returns the first element of the sequence that satisfies a condition or a default value if no such element is found.</summary>
+      <param name="immutableArray">The array to retrieve elements from.</param>
+      <param name="predicate">The delegate that defines the conditions of the element to search for.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The first item in the list, if found; otherwise the default value for the item type.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Last``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Returns the last element in the collection.</summary>
+      <param name="builder">The builder to retrieve elements from.</param>
+      <typeparam name="T">The type of item in the builder.</typeparam>
+      <exception cref="T:System.InvalidOperationException">Thrown if the collection is empty.</exception>
+      <returns>The last element in the builder.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Last``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Returns the last element of the array.</summary>
+      <param name="immutableArray">The array to retrieve items from.</param>
+      <typeparam name="T">The type of element contained by the array.</typeparam>
+      <exception cref="T:System.InvalidOperationException">Thrown if the collection is empty.</exception>
+      <returns>The last element in the array.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Last``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Returns the last element of a sequence that satisfies a specified condition.</summary>
+      <param name="immutableArray">The array to retrieve elements from.</param>
+      <param name="predicate">The delegate that defines the conditions of the element to retrieve.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <exception cref="T:System.InvalidOperationException">Thrown if the collection is empty.</exception>
+      <returns>The last element of the array that satisfies the <paramref name="predicate" /> condition.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.LastOrDefault``1(System.Collections.Immutable.ImmutableArray{``0}.Builder)">
+      <summary>Returns the last element in the collection, or the default value if the collection is empty.</summary>
+      <param name="builder">The builder to retrieve an element from.</param>
+      <typeparam name="T">The type of item in the builder.</typeparam>
+      <returns>The last element of a sequence, or a default value if the sequence contains no elements.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.LastOrDefault``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Returns the last element of a sequence, or a default value if the sequence contains no elements.</summary>
+      <param name="immutableArray">The array to retrieve items from.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The last element of a sequence, or a default value if the sequence contains no elements.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.LastOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Returns the last element of a sequence that satisfies a condition or a default value if no such element is found.</summary>
+      <param name="immutableArray">The array to retrieve an element from.</param>
+      <param name="predicate">The delegate that defines the conditions of the element to search for.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The last element of a sequence, or a default value if the sequence contains no elements.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Select``2(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,``1})">
+      <summary>Projects each element of a sequence into a new form.</summary>
+      <param name="immutableArray">The immutable array to select items from.</param>
+      <param name="selector">A transform function to apply to each element.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <typeparam name="TResult">The type of the result element.</typeparam>
+      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> whose elements are the result of invoking the transform function on each element of source.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.SelectMany``3(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``1}},System.Func{``0,``1,``2})">
+      <summary>Projects each element of a sequence to an <see cref="T:System.Collections.Generic.IEnumerable`1" />,             flattens the resulting sequences into one sequence, and invokes a result             selector function on each element therein.</summary>
+      <param name="immutableArray">The immutable array.</param>
+      <param name="collectionSelector">A transform function to apply to each element of the input sequence.</param>
+      <param name="resultSelector">A transform function to apply to each element of the intermediate sequence.</param>
+      <typeparam name="TSource">The type of the elements of <paramref name="immutableArray" />.</typeparam>
+      <typeparam name="TCollection">The type of the intermediate elements collected by <paramref name="collectionSelector" />.</typeparam>
+      <typeparam name="TResult">The type of the elements of the resulting sequence.</typeparam>
+      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> whose elements are the result             of invoking the one-to-many transform function <paramref name="collectionSelector" /> on each             element of <paramref name="immutableArray" /> and then mapping each of those sequence elements and their             corresponding source element to a result element.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.SequenceEqual``2(System.Collections.Immutable.ImmutableArray{``1},System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Determines whether two sequences are equal according to an equality comparer.</summary>
+      <param name="immutableArray">The array to use for comparison.</param>
+      <param name="items">The items to use for comparison.</param>
+      <param name="comparer">The comparer to use to check for equality.</param>
+      <typeparam name="TDerived">The type of element in the compared array.</typeparam>
+      <typeparam name="TBase">The type of element contained by the collection.</typeparam>
+      <returns>
+        <see langword="true" /> to indicate the sequences are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.SequenceEqual``2(System.Collections.Immutable.ImmutableArray{``1},System.Collections.Immutable.ImmutableArray{``0},System.Collections.Generic.IEqualityComparer{``1})">
+      <summary>Determines whether two sequences are equal according to an equality comparer.</summary>
+      <param name="immutableArray">The array to use for comparison.</param>
+      <param name="items">The items to use for comparison.</param>
+      <param name="comparer">The comparer to use to check for equality.</param>
+      <typeparam name="TDerived">The type of element in the compared array.</typeparam>
+      <typeparam name="TBase">The type of element contained by the collection.</typeparam>
+      <returns>
+        <see langword="true" /> to indicate the sequences are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.SequenceEqual``2(System.Collections.Immutable.ImmutableArray{``1},System.Collections.Immutable.ImmutableArray{``0},System.Func{``1,``1,System.Boolean})">
+      <summary>Determines whether two sequences are equal according to an equality comparer.</summary>
+      <param name="immutableArray">The array to use for comparison.</param>
+      <param name="items">The items to use for comparison.</param>
+      <param name="predicate">The comparer to use to check for equality.</param>
+      <typeparam name="TDerived">The type of element in the compared array.</typeparam>
+      <typeparam name="TBase">The type of element contained by the collection.</typeparam>
+      <returns>
+        <see langword="true" /> to indicate the sequences are equal; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Single``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Returns the only element of a sequence, and throws an exception if there is not exactly one element in the sequence.</summary>
+      <param name="immutableArray">The array to retrieve the element from.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The element in the sequence.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Single``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists.</summary>
+      <param name="immutableArray">The immutable array to return a single element from.</param>
+      <param name="predicate">The function to test whether an element should be returned.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>Returns <see cref="T:System.Boolean" />.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.SingleOrDefault``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Returns the only element of the array, or a default value if the sequence is empty; this method throws an exception if there is more than one element in the sequence.</summary>
+      <param name="immutableArray">The array.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <exception cref="T:System.InvalidOperationException">
+        <paramref name="source" /> contains more than one element.</exception>
+      <returns>The element in the array, or the default value if the array is empty.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.SingleOrDefault``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Returns the only element of a sequence that satisfies a specified condition or a default value if no such element exists; this method throws an exception if more than one element satisfies the condition.</summary>
+      <param name="immutableArray">The array to get the element from.</param>
+      <param name="predicate">The condition the element must satisfy.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <exception cref="T:System.InvalidOperationException">More than one element satisfies the condition in <paramref name="predicate" />.</exception>
+      <returns>The element if it satisfies the specified condition; otherwise the default element.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ToArray``1(System.Collections.Immutable.ImmutableArray{``0})">
+      <summary>Copies the contents of this array to a mutable array.</summary>
+      <param name="immutableArray">The immutable array to copy into a mutable one.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The newly instantiated array.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``2(System.Collections.Immutable.ImmutableArray{``1},System.Func{``1,``0})">
+      <summary>Creates a dictionary based on the contents of this array.</summary>
+      <param name="immutableArray">The array to create a dictionary from.</param>
+      <param name="keySelector">The key selector.</param>
+      <typeparam name="TKey">The type of the key.</typeparam>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The newly initialized dictionary.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``2(System.Collections.Immutable.ImmutableArray{``1},System.Func{``1,``0},System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Creates a dictionary based on the contents of this array.</summary>
+      <param name="immutableArray">The array to create a dictionary from.</param>
+      <param name="keySelector">The key selector.</param>
+      <param name="comparer">The comparer to initialize the dictionary with.</param>
+      <typeparam name="TKey">The type of the key.</typeparam>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The newly initialized dictionary.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``3(System.Collections.Immutable.ImmutableArray{``2},System.Func{``2,``0},System.Func{``2,``1})">
+      <summary>Creates a dictionary based on the contents of this array.</summary>
+      <param name="immutableArray">The array to create a dictionary from.</param>
+      <param name="keySelector">The key selector.</param>
+      <param name="elementSelector">The element selector.</param>
+      <typeparam name="TKey">The type of the key.</typeparam>
+      <typeparam name="TElement">The type of the element.</typeparam>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The newly initialized dictionary.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.ToDictionary``3(System.Collections.Immutable.ImmutableArray{``2},System.Func{``2,``0},System.Func{``2,``1},System.Collections.Generic.IEqualityComparer{``0})">
+      <summary>Creates a dictionary based on the contents of this array.</summary>
+      <param name="immutableArray">The array to create a dictionary from.</param>
+      <param name="keySelector">The key selector.</param>
+      <param name="elementSelector">The element selector.</param>
+      <param name="comparer">The comparer to initialize the dictionary with.</param>
+      <typeparam name="TKey">The type of the key.</typeparam>
+      <typeparam name="TElement">The type of the element.</typeparam>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>The newly initialized dictionary.</returns>
+    </member>
+    <member name="M:System.Linq.ImmutableArrayExtensions.Where``1(System.Collections.Immutable.ImmutableArray{``0},System.Func{``0,System.Boolean})">
+      <summary>Filters a sequence of values based on a predicate.</summary>
+      <param name="immutableArray">The array to filter.</param>
+      <param name="predicate">The condition to use for filtering the array content.</param>
+      <typeparam name="T">The type of element contained by the collection.</typeparam>
+      <returns>Returns <see cref="T:System.Collections.Generic.IEnumerable`1" /> that contains elements that meet the condition.</returns>
+    </member>
+  </members>
+</doc>

+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/lib/netstandard2.0/System.Collections.Immutable.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CytJtCupBX0d9eRkNK8aJas3YB/tRhB9zZf1yUmKIG98aZjfTmC0574=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/useSharedDesignerContext.txt


+ 7 - 0
Assets/Packages/System.Collections.Immutable.6.0.0/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: Bi9M5i6uV3r+wi1ZKh1pXD+q8rLJiZoQ1Te80rYBDgj5DfKUOeK5W2A=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: CHxNsCj8Vy3ki+D3L5fm4GyVNe/Y2UqoJ1pX4lgD3awXnbEYs42nSQo=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s


BIN
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png


+ 175 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png.meta

@@ -0,0 +1,175 @@
+fileFormatVersion: 2
+guid: Cywct377UirUmrBvxkfhR6VBxF0htttNuROF4FIV5UYRTjmJieio6fo=
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 13
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+    flipGreenChannel: 0
+  isReadable: 0
+  webStreaming: 0
+  priorityLevel: 0
+  uploadedMode: 2
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMipmapLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  swizzle: 50462976
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WeixinMiniGame
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: HMIAndroid
+    maxTextureSize: 2048
+    maxPlaceholderSize: 32
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    ignorePlatformSupport: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  mipmapLimitGroupName: 
+  pSDRemoveMatte: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 23 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT

@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XihOvS6rVioAQurKmm8Kdx9Z6mAUiiZgdrvJ95XWw0C1IbJKFkJWMSU=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 29 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec

@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
+    <id>System.Runtime.CompilerServices.Unsafe</id>
+    <version>6.0.0</version>
+    <authors>Microsoft</authors>
+    <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
+    <icon>Icon.png</icon>
+    <projectUrl>https://dot.net/</projectUrl>
+    <description>Provides the System.Runtime.CompilerServices.Unsafe class, which provides generic, low-level functionality for manipulating pointers.
+
+Commonly Used Types:
+System.Runtime.CompilerServices.Unsafe</description>
+    <releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
+    <copyright>© Microsoft Corporation. All rights reserved.</copyright>
+    <serviceable>true</serviceable>
+    <repository type="git" url="https://github.com/dotnet/runtime" commit="4822e3c3aa77eb82b2fb33c9321f923cf11ddde6" />
+    <dependencies>
+      <group targetFramework=".NETFramework4.6.1" />
+      <group targetFramework=".NETCoreApp3.1" />
+      <group targetFramework="net6.0" />
+      <group targetFramework=".NETStandard2.0" />
+    </dependencies>
+    <frameworkAssemblies>
+      <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
+    </frameworkAssemblies>
+  </metadata>
+</package>

+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.nuspec.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: By4c43/4Vy/P/JqxVyOJrvbYJEDDcvO3raNE1amu5nSYSoIhGekcAu0=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 939 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT

@@ -0,0 +1,939 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+           dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License,  available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2020 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+  version 1.2.11, January 15th, 2017
+
+  Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software  and associated documentation files (the Software), to deal
+in the Software without restriction,  including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense,  and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so,  subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+     Permission to copy in any form is granted for use with
+     conforming SGML systems and applications as defined in
+     ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+  notice, this list of conditions and the following disclaimer in the
+  documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for RFC 3492
+---------------------------
+
+The punycode implementation is based on the sample code in RFC 3492
+
+Copyright (C) The Internet Society (2003).  All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any
+kind, provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works.  However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for
+copyrights defined in the Internet Standards process must be
+followed, or as required to translate it into languages other than
+English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+License notice for Algorithm from Internet Draft document "UUIDs and GUIDs"
+---------------------------------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, or Digital Equipment Corporation be used in advertising
+or publicity pertaining to distribution of the software without
+specific, written prior permission.  Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment
+Corporation makes any representations about the suitability of
+this software for any purpose.
+
+Copyright(C) The Internet Society 1997. All Rights Reserved.
+
+This document and translations of it may be copied and furnished to others,
+and derivative works that comment on or otherwise explain it or assist in
+its implementation may be prepared, copied, published and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this paragraph are included on all such copies and
+derivative works.However, this document itself may not be modified in any
+way, such as by removing the copyright notice or references to the Internet
+Society or other Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for copyrights
+defined in the Internet Standards process must be followed, or as required
+to translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be revoked
+by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an "AS IS"
+basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
+PARTICULAR PURPOSE.
+
+License notice for Algorithm from RFC 4122 -
+A Universally Unique IDentifier (UUID) URN Namespace
+----------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+Copyright (c) 1998 Microsoft.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, Microsoft, or Digital Equipment Corporation be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
+Equipment Corporation makes any representations about the
+suitability of this software for any purpose."
+
+License notice for The LLVM Compiler Infrastructure
+---------------------------------------------------
+
+Developed by:
+
+    LLVM Team
+
+    University of Illinois at Urbana-Champaign
+
+    http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimers.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimers in the
+      documentation and/or other materials provided with the distribution.
+
+    * Neither the names of the LLVM Team, University of Illinois at
+      Urbana-Champaign, nor the names of its contributors may be used to
+      endorse or promote products derived from this Software without specific
+      prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+License notice for Bob Jenkins
+------------------------------
+
+By Bob Jenkins, 1996.  bob_jenkins@burtleburtle.net.  You may use this
+code any way you wish, private, educational, or commercial.  It's free.
+
+License notice for Greg Parker
+------------------------------
+
+Greg Parker     gparker@cs.stanford.edu     December 2000
+This code is in the public domain and may be copied or modified without
+permission.
+
+License notice for libunwind based code
+----------------------------------------
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for Printing Floating-Point Numbers (Dragon4)
+------------------------------------------------------------
+
+/******************************************************************************
+  Copyright (c) 2014 Ryan Juckett
+  http://www.ryanjuckett.com/
+
+  This software is provided 'as-is', without any express or implied
+  warranty. In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+
+  3. This notice may not be removed or altered from any source
+     distribution.
+******************************************************************************/
+
+License notice for Printing Floating-point Numbers (Grisu3)
+-----------------------------------------------------------
+
+Copyright 2012 the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+    * Neither the name of Google Inc. nor the names of its
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xxHash
+-------------------------
+
+xxHash Library
+Copyright (c) 2012-2014, Yann Collet
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+  list of conditions and the following disclaimer in the documentation and/or
+  other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Berkeley SoftFloat Release 3e
+------------------------------------------------
+
+https://github.com/ucb-bar/berkeley-softfloat-3
+https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt
+
+License for Berkeley SoftFloat Release 3e
+
+John R. Hauser
+2018 January 20
+
+The following applies to the whole of SoftFloat Release 3e as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See <http://creativecommons.org/publicdomain/zero/1.0/>.
+
+License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data)
+--------------------------------------
+
+   Copyright 2018 Daniel Lemire
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+                               The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: ByhKsnmuB378Y+R4Ye0bne1xcO063Dytr2YrJwiTfBbZnTXSM01a87o=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Bn5L536lV3sa45+g7Y0p8hxjYAqoki3RqFz7awWoPn5YLkJ+prbym3I=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: B3pOtnz4Wi89ii1w7QiAsoTCAH1fIEhB/KWSX+CTLA2NYNELmAKVRN0=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 6 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets

@@ -0,0 +1,6 @@
+<Project InitialTargets="NETStandardCompatError_System_Runtime_CompilerServices_Unsafe_netcoreapp3_1">
+  <Target Name="NETStandardCompatError_System_Runtime_CompilerServices_Unsafe_netcoreapp3_1"
+          Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
+    <Error Text="System.Runtime.CompilerServices.Unsafe doesn't support $(TargetFramework). Consider updating your TargetFramework to netcoreapp3.1 or later." />
+  </Target>
+</Project>

+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: WX8Wt3utBS3MvQJ/V/YQa9OBTmS+v/XS36SSo+rr02bLZR7+LtLJcW4=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: WSxJ5nj4An4pc0r3rH1QwlfJAcCA8IqH/+O411cZQ1l10YnSlY+soNQ=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._


+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: D3MZ5nuqBn74nkG47nW4hdBj91bxRr+Kh3Y89Zll6l4dGy75ojdyzeY=
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DXIf5yj7Bn1X+KsMV+Z0acjZyJXdn+v3woUbSN/dEddq2sn8juyKnuc=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DH5Jsyr+V32Qd7oCRwUJ9WApY8hsgPZURTy5QgLBj0OCbX+/HLO4kTY=
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll


+ 23 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll.meta

@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: BnxN5yr5Vi8LjmYkbC9cfmvkaqHjbBDpnJkdTw5QLU3PmFxLQ6VaK+M=
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 291 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml

@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="utf-8"?>
+<doc>
+  <assembly>
+    <name>System.Runtime.CompilerServices.Unsafe</name>
+  </assembly>
+  <members>
+    <member name="T:System.Runtime.CompilerServices.Unsafe">
+      <summary>Contains generic, low-level functionality for manipulating pointers.</summary>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
+      <summary>Adds an element offset to the given reference.</summary>
+      <param name="source">The reference to add the offset to.</param>
+      <param name="elementOffset">The offset to add.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the addition of offset to pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
+      <summary>Adds an element offset to the given reference.</summary>
+      <param name="source">The reference to add the offset to.</param>
+      <param name="elementOffset">The offset to add.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the addition of offset to pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.UIntPtr)">
+      <summary>Adds an element offset to the given reference.</summary>
+      <param name="source">The reference to add the offset to.</param>
+      <param name="elementOffset">The offset to add.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the addition of offset to pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(System.Void*,System.Int32)">
+      <summary>Adds an element offset to the given void pointer.</summary>
+      <param name="source">The void pointer to add the offset to.</param>
+      <param name="elementOffset">The offset to add.</param>
+      <typeparam name="T">The type of void pointer.</typeparam>
+      <returns>A new void pointer that reflects the addition of offset to the specified pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
+      <summary>Adds a byte offset to the given reference.</summary>
+      <param name="source">The reference to add the offset to.</param>
+      <param name="byteOffset">The offset to add.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the addition of byte offset to pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.UIntPtr)">
+      <summary>Adds a byte offset to the given reference.</summary>
+      <param name="source">The reference to add the offset to.</param>
+      <param name="byteOffset">The offset to add.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the addition of byte offset to pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
+      <summary>Determines whether the specified references point to the same location.</summary>
+      <param name="left">The first reference to compare.</param>
+      <param name="right">The second reference to compare.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>
+        <see langword="true" /> if <paramref name="left" /> and <paramref name="right" /> point to the same location; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
+      <summary>Casts the given object to the specified type.</summary>
+      <param name="o">The object to cast.</param>
+      <typeparam name="T">The type which the object will be cast to.</typeparam>
+      <returns>The original object, casted to the given type.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
+      <summary>Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo" />.</summary>
+      <param name="source">The reference to reinterpret.</param>
+      <typeparam name="TFrom">The type of reference to reinterpret.</typeparam>
+      <typeparam name="TTo">The desired type of the reference.</typeparam>
+      <returns>A reference to a value of type <typeparamref name="TTo" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
+      <summary>Returns a pointer to the given by-ref parameter.</summary>
+      <param name="value">The object whose pointer is obtained.</param>
+      <typeparam name="T">The type of object.</typeparam>
+      <returns>A pointer to the given value.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(``0@)">
+      <summary>Reinterprets the given read-only reference as a reference.</summary>
+      <param name="source">The read-only reference to reinterpret.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A reference to a value of type <typeparamref name="T" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
+      <summary>Reinterprets the given location as a reference to a value of type <typeparamref name="T" />.</summary>
+      <param name="source">The location of the value to reference.</param>
+      <typeparam name="T">The type of the interpreted location.</typeparam>
+      <returns>A reference to a value of type <typeparamref name="T" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
+      <summary>Determines the byte offset from origin to target from the given references.</summary>
+      <param name="origin">The reference to origin.</param>
+      <param name="target">The reference to target.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>Byte offset from origin to target i.e. <paramref name="target" /> - <paramref name="origin" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
+      <summary>Copies a value of type <typeparamref name="T" /> to the given location.</summary>
+      <param name="destination">The location to copy to.</param>
+      <param name="source">A pointer to the value to copy.</param>
+      <typeparam name="T">The type of value to copy.</typeparam>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
+      <summary>Copies a value of type <typeparamref name="T" /> to the given location.</summary>
+      <param name="destination">The location to copy to.</param>
+      <param name="source">A reference to the value to copy.</param>
+      <typeparam name="T">The type of value to copy.</typeparam>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
+      <summary>Copies bytes from the source address to the destination address.</summary>
+      <param name="destination">The destination address to copy to.</param>
+      <param name="source">The source address to copy from.</param>
+      <param name="byteCount">The number of bytes to copy.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
+      <summary>Copies bytes from the source address to the destination address.</summary>
+      <param name="destination">The destination address to copy to.</param>
+      <param name="source">The source address to copy from.</param>
+      <param name="byteCount">The number of bytes to copy.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
+      <summary>Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.</summary>
+      <param name="destination">The destination address to copy to.</param>
+      <param name="source">The source address to copy from.</param>
+      <param name="byteCount">The number of bytes to copy.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
+      <summary>Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.</summary>
+      <param name="destination">The destination address to copy to.</param>
+      <param name="source">The source address to copy from.</param>
+      <param name="byteCount">The number of bytes to copy.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
+      <summary>Initializes a block of memory at the given location with a given initial value.</summary>
+      <param name="startAddress">The address of the start of the memory block to initialize.</param>
+      <param name="value">The value to initialize the block to.</param>
+      <param name="byteCount">The number of bytes to initialize.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
+      <summary>Initializes a block of memory at the given location with a given initial value.</summary>
+      <param name="startAddress">The address of the start of the memory block to initialize.</param>
+      <param name="value">The value to initialize the block to.</param>
+      <param name="byteCount">The number of bytes to initialize.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
+      <summary>Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.</summary>
+      <param name="startAddress">The address of the start of the memory block to initialize.</param>
+      <param name="value">The value to initialize the block to.</param>
+      <param name="byteCount">The number of bytes to initialize.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
+      <summary>Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.</summary>
+      <param name="startAddress">The address of the start of the memory block to initialize.</param>
+      <param name="value">The value to initialize the block to.</param>
+      <param name="byteCount">The number of bytes to initialize.</param>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan``1(``0@,``0@)">
+      <summary>Returns a value that indicates whether a specified reference is greater than another specified reference.</summary>
+      <param name="left">The first value to compare.</param>
+      <param name="right">The second value to compare.</param>
+      <typeparam name="T">The type of the reference.</typeparam>
+      <returns>
+        <see langword="true" /> if <paramref name="left" /> is greater than <paramref name="right" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.IsAddressLessThan``1(``0@,``0@)">
+      <summary>Returns a value that indicates whether a specified reference is less than another specified reference.</summary>
+      <param name="left">The first value to compare.</param>
+      <param name="right">The second value to compare.</param>
+      <typeparam name="T">The type of the reference.</typeparam>
+      <returns>
+        <see langword="true" /> if <paramref name="left" /> is less than <paramref name="right" />; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.IsNullRef``1(``0@)">
+      <summary>Determines if a given reference to a value of type <typeparamref name="T" /> is a null reference.</summary>
+      <param name="source">The reference to check.</param>
+      <typeparam name="T">The type of the reference.</typeparam>
+      <returns>
+        <see langword="true" /> if <paramref name="source" /> is a null reference; otherwise, <see langword="false" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.NullRef``1">
+      <summary>Returns a reference to a value of type <typeparamref name="T" /> that is a null reference.</summary>
+      <typeparam name="T">The type of the reference.</typeparam>
+      <returns>A reference to a value of type <typeparamref name="T" /> that is a null reference.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
+      <summary>Reads a value of type <typeparamref name="T" /> from the given location.</summary>
+      <param name="source">The location to read from.</param>
+      <typeparam name="T">The type to read.</typeparam>
+      <returns>An object of type <typeparamref name="T" /> read from the given location.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
+      <summary>Reads a value of type <typeparamref name="T" /> from the given location without assuming architecture dependent alignment of the addresses.</summary>
+      <param name="source">The location to read from.</param>
+      <typeparam name="T">The type to read.</typeparam>
+      <returns>An object of type <typeparamref name="T" /> read from the given location.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
+      <summary>Reads a value of type <typeparamref name="T" /> from the given location without assuming architecture dependent alignment of the addresses.</summary>
+      <param name="source">The location to read from.</param>
+      <typeparam name="T">The type to read.</typeparam>
+      <returns>An object of type <typeparamref name="T" /> read from the given location.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
+      <summary>Returns the size of an object of the given type parameter.</summary>
+      <typeparam name="T">The type of object whose size is retrieved.</typeparam>
+      <returns>The size of an object of type <typeparamref name="T" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.SkipInit``1(``0@)">
+      <summary>Bypasses definite assignment rules for a given value.</summary>
+      <param name="value">The uninitialized object.</param>
+      <typeparam name="T">The type of the uninitialized object.</typeparam>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
+      <summary>Subtracts an element offset from the given reference.</summary>
+      <param name="source">The reference to subtract the offset from.</param>
+      <param name="elementOffset">The offset to subtract.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the subtraction of offset from pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
+      <summary>Subtracts an element offset from the given reference.</summary>
+      <param name="source">The reference to subtract the offset from.</param>
+      <param name="elementOffset">The offset to subtract.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the subtraction of offset from pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.UIntPtr)">
+      <summary>Subtracts an element offset from the given reference.</summary>
+      <param name="source">The reference to subtract the offset from.</param>
+      <param name="elementOffset">The offset to subtract.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the subraction of offset from pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(System.Void*,System.Int32)">
+      <summary>Subtracts an element offset from the given void pointer.</summary>
+      <param name="source">The void pointer to subtract the offset from.</param>
+      <param name="elementOffset">The offset to subtract.</param>
+      <typeparam name="T">The type of the void pointer.</typeparam>
+      <returns>A new void pointer that reflects the subtraction of offset from the specified pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
+      <summary>Subtracts a byte offset from the given reference.</summary>
+      <param name="source">The reference to subtract the offset from.</param>
+      <param name="byteOffset">The offset to subtract.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the subtraction of byte offset from pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.UIntPtr)">
+      <summary>Subtracts a byte offset from the given reference.</summary>
+      <param name="source">The reference to subtract the offset from.</param>
+      <param name="byteOffset">The offset to subtract.</param>
+      <typeparam name="T">The type of reference.</typeparam>
+      <returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Unbox``1(System.Object)">
+      <summary>Returns a <see langword="mutable ref" /> to a boxed value.</summary>
+      <param name="box">The value to unbox.</param>
+      <typeparam name="T">The type to be unboxed.</typeparam>
+      <exception cref="T:System.NullReferenceException">
+        <paramref name="box" /> is <see langword="null" />, and <typeparamref name="T" /> is a non-nullable value type.</exception>
+      <exception cref="T:System.InvalidCastException">
+        <paramref name="box" /> is not a boxed value type.
+         
+-or-
+
+<paramref name="box" /> is not a boxed <typeparamref name="T" />.</exception>
+      <exception cref="T:System.TypeLoadException">
+        <typeparamref name="T" /> cannot be found.</exception>
+      <returns>A <see langword="mutable ref" /> to the boxed value <paramref name="box" />.</returns>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
+      <summary>Writes a value of type <typeparamref name="T" /> to the given location.</summary>
+      <param name="destination">The location to write to.</param>
+      <param name="value">The value to write.</param>
+      <typeparam name="T">The type of value to write.</typeparam>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
+      <summary>Writes a value of type <typeparamref name="T" /> to the given location without assuming architecture dependent alignment of the addresses.</summary>
+      <param name="destination">The location to write to.</param>
+      <param name="value">The value to write.</param>
+      <typeparam name="T">The type of value to write.</typeparam>
+    </member>
+    <member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
+      <summary>Writes a value of type <typeparamref name="T" /> to the given location without assuming architecture dependent alignment of the addresses.</summary>
+      <param name="destination">The location to write to.</param>
+      <param name="value">The value to write.</param>
+      <typeparam name="T">The type of value to write.</typeparam>
+    </member>
+  </members>
+</doc>

+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: CXkfsSuuV3uDsUvxcC9M89vSRstMtXrRYE9SDV6Z/vGxJJrMjVNsSqI=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt


+ 7 - 0
Assets/Packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: XX8a4Sz7UHOUP2Csi3EAkCW8TGTILjXMDoPQI1Xk23eWJRDh8GAbp/I=
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 1 - 1
Assets/Scenes/testCombat.scene

@@ -276,7 +276,7 @@ MonoBehaviour:
   m_Name: 
   m_EditorClassIdentifier: 
   ShaderVariantCollection: {fileID: 20000000, guid: 3536136831feec548bbaa7febad775f8, type: 2}
-  LoadType: 1
+  LoadType: 0
   h5Url: https://gamedata-1332030654.cos-website.ap-chengdu.myqcloud.com/Bundle/
   isOpenHotFix: 0
   isLoadDll: 0

+ 1 - 2
Assets/Scripts/Core/CodeDll.cs

@@ -1,4 +1,3 @@
-using UnityEngine;
 
 namespace Core
 {
@@ -8,7 +7,7 @@ namespace Core
 
         public static void SetAssembly(System.Reflection.Assembly ass)
         {
-            Debug.Log("SetAssembly-___");
+          
             gameAss = ass;
         }
     }

+ 4 - 0
Assets/Scripts/Core/Utility/GlobalParam.cs

@@ -82,7 +82,9 @@ namespace Core.Utility
             int equipmentConfigID = zy * 10000 + eqType * 1000 + eqLv;
             return equipmentConfigID;
         }
+#if !COMBAT_SERVER
         
+
         /// <summary>
         /// 生成一个基于毫秒级时间戳的 GUID
         /// </summary>
@@ -99,5 +101,7 @@ namespace Core.Utility
             // 拼接时间戳和随机数
             return $"{timestamp}{randomPart}";
         }
+#endif
     }
+
 }

Деякі файли не було показано, через те що забагато файлів було змінено