Adds a test for compiler generated trim warning suppression issue (#82957)
authorVitek Karas <10670590+vitek-karas@users.noreply.github.com>
Mon, 6 Mar 2023 21:56:15 +0000 (13:56 -0800)
committerGitHub <noreply@github.com>
Mon, 6 Mar 2023 21:56:15 +0000 (13:56 -0800)
This is adding a test for https://github.com/dotnet/runtime/issues/82956 (currently assumes the wrong behavior).

Also adds a solution file which includes all three trim tools, illink, illink.analyzer and ilc. This brings several advantages:
- As we share more source files between the tools it will be much easier to work in.
- We already share test sources, so this makes it easy to run the modified test with all three tools at once (from one instance of VS)

src/tools/illink/test/Mono.Linker.Tests.Cases/Warnings/WarningSuppression/SuppressWarningsInCompilerGeneratedCode.cs
src/tools/illink/trimming.sln [new file with mode: 0644]

index 540e0da..5e3d602 100644 (file)
@@ -294,7 +294,7 @@ namespace Mono.Linker.Tests.Cases.Warnings.WarningSuppression
                        {
                                LocalFunction ();
 
-                               [UnconditionalSuppressMessage ("Test", "IL2026")] // This supresses the RequiresUnreferencedCodeMethod
+                               [UnconditionalSuppressMessage ("Test", "IL2026")] // This suppresses the RequiresUnreferencedCodeMethod
                                void LocalFunction (Type unknownType = null)
                                {
                                        RequiresUnreferencedCodeMethod ();
@@ -306,7 +306,7 @@ namespace Mono.Linker.Tests.Cases.Warnings.WarningSuppression
                        {
                                LocalFunction ();
 
-                               [UnconditionalSuppressMessage ("Test", "IL2026")] // This supresses the RequiresUnreferencedCodeMethod
+                               [UnconditionalSuppressMessage ("Test", "IL2026")] // This suppresses the RequiresUnreferencedCodeMethod
                                void LocalFunction (Type unknownType = null)
                                {
                                        RequiresUnreferencedCodeMethod ();
@@ -574,12 +574,50 @@ namespace Mono.Linker.Tests.Cases.Warnings.WarningSuppression
                                yield return 0;
                        }
 
+                       static event EventHandler TestEvent;
+
+                       // https://github.com/dotnet/runtime/issues/82956 - the suppression is ignored
+                       [ExpectedWarning ("IL2026", CompilerGeneratedCode = true, ProducedBy = Tool.Trimmer | Tool.NativeAot)]
+                       [ExpectedWarning ("IL2121", CompilerGeneratedCode = true, ProducedBy = Tool.Trimmer)]
+                       static void TestLambdaInLocalFunction ()
+                       {
+                               LocalFunction ();
+
+                               [UnconditionalSuppressMessage ("Test", "IL2026")]
+                               void LocalFunction ()
+                               {
+                                       TestEvent += (sender, args) => {
+                                               RequiresUnreferencedCodeMethod ();
+                                       };
+                               }
+                       }
+
+                       // https://github.com/dotnet/runtime/issues/82956 - the suppression is ignored
+                       // https://github.com/dotnet/roslyn/issues/59746
+                       [ExpectedWarning ("IL2026", CompilerGeneratedCode = true)]
+                       [ExpectedWarning ("IL2121", CompilerGeneratedCode = true, ProducedBy = Tool.Trimmer)]
+                       static void TestLocalFunctionInLambda ()
+                       {
+                               TestEvent +=
+                               [UnconditionalSuppressMessage ("Test", "IL2026")]
+                               (sender, args) => {
+                                       LocalFunction ();
+
+                                       void LocalFunction ()
+                                       {
+                                               RequiresUnreferencedCodeMethod ();
+                                       }
+                               };
+                       }
+
                        public static void Test ()
                        {
                                TestIteratorLocalFunction ();
                                TestIteratorLocalFunctionInAsync ();
                                TestIteratorLocalFunctionInAsyncWithoutInner ();
                                TestDynamicallyAccessedMethodViaGenericMethodParameterInIterator ();
+                               TestLambdaInLocalFunction ();
+                               TestLocalFunctionInLambda ();
                        }
                }
 
diff --git a/src/tools/illink/trimming.sln b/src/tools/illink/trimming.sln
new file mode 100644 (file)
index 0000000..c8f6a27
--- /dev/null
@@ -0,0 +1,456 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.33209.295
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Linker", "src\linker\Mono.Linker.csproj", "{DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILLink.Tasks", "src\ILLink.Tasks\ILLink.Tasks.csproj", "{A7A026C4-DEB4-4EF6-963E-17E7B98A6527}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Linker.Tests", "test\Mono.Linker.Tests\Mono.Linker.Tests.csproj", "{400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Linker.Tests.Cases", "test\Mono.Linker.Tests.Cases\Mono.Linker.Tests.Cases.csproj", "{B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Linker.Tests.Cases.Expectations", "test\Mono.Linker.Tests.Cases.Expectations\Mono.Linker.Tests.Cases.Expectations.csproj", "{2C26601F-3E2F-45B9-A02F-58EE9296E19E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "analyzer", "analyzer", "{AA0569FB-73E9-4B42-9A19-714BB1229DAE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "analyzer", "src\analyzer\analyzer.csproj", "{96182221-C5C4-436D-9BE0-EC499F9BAF17}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{C2969923-7BAA-4FE4-853C-F670B0D3C6C8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILLink.Tasks.Tests", "test\ILLink.Tasks.Tests\ILLink.Tasks.Tests.csproj", "{5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{03EB085F-3E2E-4A68-A7DF-951ADF59A0CC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILLink.RoslynAnalyzer", "src\ILLink.RoslynAnalyzer\ILLink.RoslynAnalyzer.csproj", "{F1A44A78-34EE-408B-8285-9A26F0E7D4F2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILLink.RoslynAnalyzer.Tests", "test\ILLink.RoslynAnalyzer.Tests\ILLink.RoslynAnalyzer.Tests.csproj", "{90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Linker", "src\linker\ref\Mono.Linker.csproj", "{8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILLink.CodeFixProvider", "src\ILLink.CodeFix\ILLink.CodeFixProvider.csproj", "{6D20F334-B7E4-4585-854B-8A0E2B29B4AA}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ILLink.Shared", "src\ILLink.Shared\ILLink.Shared.shproj", "{FF598E93-8E9E-4091-9F50-61A7572663AE}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILLink.RoslynAnalyzer.Tests.Generator", "test\ILLink.RoslynAnalyzer.Tests.Generator\ILLink.RoslynAnalyzer.Tests.Generator.csproj", "{3DDE7064-4B68-4979-8843-FDF4CE5A5140}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ILLink", "ILLink", "{F5F8E1BA-13D4-4F72-83AC-BACA510F81AC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ilc", "ilc", "{9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler", "..\..\coreclr\tools\aot\ILCompiler\ILCompiler.csproj", "{7936350A-B085-435D-9330-0A9A7F86886E}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.Compiler", "..\..\coreclr\tools\aot\ILCompiler.Compiler\ILCompiler.Compiler.csproj", "{6F771650-EC13-4FD5-909A-EC1A5D4FBC20}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.DependencyAnalysisFramework", "..\..\coreclr\tools\aot\ILCompiler.DependencyAnalysisFramework\ILCompiler.DependencyAnalysisFramework.csproj", "{F24E9C19-1B10-4E2F-90CD-81E609E062E4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.MetadataTransform", "..\..\coreclr\tools\aot\ILCompiler.MetadataTransform\ILCompiler.MetadataTransform.csproj", "{EC7B2A97-8B82-45C7-AA6B-3523B17383D4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.RyuJit", "..\..\coreclr\tools\aot\ILCompiler.RyuJit\ILCompiler.RyuJit.csproj", "{9DF703D5-DB25-4767-9DAB-2197119204F2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ILCompiler.TypeSystem", "..\..\coreclr\tools\aot\ILCompiler.TypeSystem\ILCompiler.TypeSystem.csproj", "{D3CC100A-D02B-492C-A072-FF0FA41B4A4A}"
+EndProject
+Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ILLink.Shared", "..\..\coreclr\tools\aot\ILLink.Shared\ILLink.Shared.shproj", "{66F2F805-0E38-4BBC-B329-FCC2748BEFCC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ILLink", "ILLink", "{FB237949-3F88-4E16-A770-8D13E48B84AF}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ilc", "ilc", "{BC94A262-6D89-4432-AC11-22FE75FBC91F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mono.Linker.Tests", "..\..\coreclr\tools\aot\Mono.Linker.Tests\Mono.Linker.Tests.csproj", "{CBB22C4F-0271-48A4-8301-27D0E4B26C02}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Checked|Any CPU = Checked|Any CPU
+               Checked|x64 = Checked|x64
+               Checked|x86 = Checked|x86
+               Debug|Any CPU = Debug|Any CPU
+               Debug|x64 = Debug|x64
+               Debug|x86 = Debug|x86
+               Release|Any CPU = Release|Any CPU
+               Release|x64 = Release|x64
+               Release|x86 = Release|x86
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Checked|x64.ActiveCfg = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Checked|x64.Build.0 = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Checked|x86.ActiveCfg = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Checked|x86.Build.0 = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Debug|x64.Build.0 = Debug|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Debug|x86.Build.0 = Debug|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Release|x64.ActiveCfg = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Release|x64.Build.0 = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Release|x86.ActiveCfg = Release|Any CPU
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46}.Release|x86.Build.0 = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Checked|x64.ActiveCfg = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Checked|x64.Build.0 = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Checked|x86.ActiveCfg = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Checked|x86.Build.0 = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Debug|x64.Build.0 = Debug|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Debug|x86.Build.0 = Debug|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Release|x64.ActiveCfg = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Release|x64.Build.0 = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Release|x86.ActiveCfg = Release|Any CPU
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527}.Release|x86.Build.0 = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Checked|x64.ActiveCfg = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Checked|x64.Build.0 = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Checked|x86.ActiveCfg = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Checked|x86.Build.0 = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Debug|x64.Build.0 = Debug|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Debug|x86.Build.0 = Debug|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Release|Any CPU.Build.0 = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Release|x64.ActiveCfg = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Release|x64.Build.0 = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Release|x86.ActiveCfg = Release|Any CPU
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07}.Release|x86.Build.0 = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Checked|x64.ActiveCfg = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Checked|x64.Build.0 = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Checked|x86.ActiveCfg = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Checked|x86.Build.0 = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Debug|x64.Build.0 = Debug|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Debug|x86.Build.0 = Debug|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Release|x64.ActiveCfg = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Release|x64.Build.0 = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Release|x86.ActiveCfg = Release|Any CPU
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5}.Release|x86.Build.0 = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Checked|x64.ActiveCfg = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Checked|x64.Build.0 = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Checked|x86.ActiveCfg = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Checked|x86.Build.0 = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Debug|x64.Build.0 = Debug|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Debug|x86.Build.0 = Debug|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Release|x64.ActiveCfg = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Release|x64.Build.0 = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Release|x86.ActiveCfg = Release|Any CPU
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E}.Release|x86.Build.0 = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Checked|x64.ActiveCfg = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Checked|x64.Build.0 = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Checked|x86.ActiveCfg = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Checked|x86.Build.0 = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Debug|x64.Build.0 = Debug|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Debug|x86.Build.0 = Debug|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Release|Any CPU.Build.0 = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Release|x64.ActiveCfg = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Release|x64.Build.0 = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Release|x86.ActiveCfg = Release|Any CPU
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17}.Release|x86.Build.0 = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Checked|x64.ActiveCfg = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Checked|x64.Build.0 = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Checked|x86.ActiveCfg = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Checked|x86.Build.0 = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Debug|x64.Build.0 = Debug|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Debug|x86.Build.0 = Debug|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Release|x64.ActiveCfg = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Release|x64.Build.0 = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Release|x86.ActiveCfg = Release|Any CPU
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0}.Release|x86.Build.0 = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Checked|x64.ActiveCfg = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Checked|x64.Build.0 = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Checked|x86.ActiveCfg = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Checked|x86.Build.0 = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Debug|x64.Build.0 = Debug|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Debug|x86.Build.0 = Debug|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Release|x64.ActiveCfg = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Release|x64.Build.0 = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Release|x86.ActiveCfg = Release|Any CPU
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2}.Release|x86.Build.0 = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Checked|x64.ActiveCfg = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Checked|x64.Build.0 = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Checked|x86.ActiveCfg = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Checked|x86.Build.0 = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Debug|x64.Build.0 = Debug|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Debug|x86.Build.0 = Debug|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Release|x64.ActiveCfg = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Release|x64.Build.0 = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Release|x86.ActiveCfg = Release|Any CPU
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE}.Release|x86.Build.0 = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Checked|x64.ActiveCfg = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Checked|x64.Build.0 = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Checked|x86.ActiveCfg = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Checked|x86.Build.0 = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Debug|x64.Build.0 = Debug|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Debug|x86.Build.0 = Debug|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Release|x64.ActiveCfg = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Release|x64.Build.0 = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Release|x86.ActiveCfg = Release|Any CPU
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A}.Release|x86.Build.0 = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Checked|x64.ActiveCfg = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Checked|x64.Build.0 = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Checked|x86.ActiveCfg = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Checked|x86.Build.0 = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Debug|x64.Build.0 = Debug|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Debug|x86.Build.0 = Debug|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Release|x64.ActiveCfg = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Release|x64.Build.0 = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Release|x86.ActiveCfg = Release|Any CPU
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA}.Release|x86.Build.0 = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Checked|Any CPU.ActiveCfg = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Checked|Any CPU.Build.0 = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Checked|x64.ActiveCfg = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Checked|x64.Build.0 = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Checked|x86.ActiveCfg = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Checked|x86.Build.0 = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Debug|x64.ActiveCfg = Debug|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Debug|x64.Build.0 = Debug|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Debug|x86.ActiveCfg = Debug|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Debug|x86.Build.0 = Debug|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Release|x64.ActiveCfg = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Release|x64.Build.0 = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Release|x86.ActiveCfg = Release|Any CPU
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140}.Release|x86.Build.0 = Release|Any CPU
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Checked|Any CPU.Build.0 = Checked|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Checked|x64.ActiveCfg = Checked|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Checked|x64.Build.0 = Checked|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Checked|x86.ActiveCfg = Checked|x86
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Checked|x86.Build.0 = Checked|x86
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Debug|Any CPU.Build.0 = Debug|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Debug|x64.ActiveCfg = Debug|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Debug|x64.Build.0 = Debug|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Debug|x86.ActiveCfg = Debug|x86
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Debug|x86.Build.0 = Debug|x86
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Release|Any CPU.ActiveCfg = Release|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Release|Any CPU.Build.0 = Release|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Release|x64.ActiveCfg = Release|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Release|x64.Build.0 = Release|x64
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Release|x86.ActiveCfg = Release|x86
+               {7936350A-B085-435D-9330-0A9A7F86886E}.Release|x86.Build.0 = Release|x86
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Checked|Any CPU.Build.0 = Checked|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Checked|x64.ActiveCfg = Checked|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Checked|x64.Build.0 = Checked|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Checked|x86.ActiveCfg = Checked|x86
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Checked|x86.Build.0 = Checked|x86
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Debug|Any CPU.Build.0 = Debug|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Debug|x64.ActiveCfg = Debug|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Debug|x64.Build.0 = Debug|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Debug|x86.ActiveCfg = Debug|x86
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Debug|x86.Build.0 = Debug|x86
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Release|Any CPU.ActiveCfg = Release|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Release|Any CPU.Build.0 = Release|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Release|x64.ActiveCfg = Release|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Release|x64.Build.0 = Release|x64
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Release|x86.ActiveCfg = Release|x86
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20}.Release|x86.Build.0 = Release|x86
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Checked|Any CPU.Build.0 = Checked|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Checked|x64.ActiveCfg = Checked|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Checked|x64.Build.0 = Checked|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Checked|x86.ActiveCfg = Checked|x86
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Checked|x86.Build.0 = Checked|x86
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Debug|Any CPU.Build.0 = Debug|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Debug|x64.ActiveCfg = Debug|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Debug|x64.Build.0 = Debug|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Debug|x86.ActiveCfg = Debug|x86
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Debug|x86.Build.0 = Debug|x86
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Release|Any CPU.ActiveCfg = Release|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Release|Any CPU.Build.0 = Release|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Release|x64.ActiveCfg = Release|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Release|x64.Build.0 = Release|x64
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Release|x86.ActiveCfg = Release|x86
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4}.Release|x86.Build.0 = Release|x86
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Checked|Any CPU.Build.0 = Checked|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Checked|x64.ActiveCfg = Checked|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Checked|x64.Build.0 = Checked|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Checked|x86.ActiveCfg = Checked|x86
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Checked|x86.Build.0 = Checked|x86
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Debug|Any CPU.Build.0 = Debug|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Debug|x64.ActiveCfg = Debug|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Debug|x64.Build.0 = Debug|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Debug|x86.ActiveCfg = Debug|x86
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Debug|x86.Build.0 = Debug|x86
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Release|Any CPU.ActiveCfg = Release|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Release|Any CPU.Build.0 = Release|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Release|x64.ActiveCfg = Release|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Release|x64.Build.0 = Release|x64
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Release|x86.ActiveCfg = Release|x86
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4}.Release|x86.Build.0 = Release|x86
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Checked|Any CPU.Build.0 = Checked|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Checked|x64.ActiveCfg = Checked|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Checked|x64.Build.0 = Checked|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Checked|x86.ActiveCfg = Checked|x86
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Checked|x86.Build.0 = Checked|x86
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Debug|Any CPU.Build.0 = Debug|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Debug|x64.ActiveCfg = Debug|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Debug|x64.Build.0 = Debug|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Debug|x86.ActiveCfg = Debug|x86
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Debug|x86.Build.0 = Debug|x86
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Release|Any CPU.ActiveCfg = Release|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Release|Any CPU.Build.0 = Release|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Release|x64.ActiveCfg = Release|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Release|x64.Build.0 = Release|x64
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Release|x86.ActiveCfg = Release|x86
+               {9DF703D5-DB25-4767-9DAB-2197119204F2}.Release|x86.Build.0 = Release|x86
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Checked|Any CPU.Build.0 = Checked|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Checked|x64.ActiveCfg = Checked|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Checked|x64.Build.0 = Checked|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Checked|x86.ActiveCfg = Checked|x86
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Checked|x86.Build.0 = Checked|x86
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Debug|Any CPU.Build.0 = Debug|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Debug|x64.ActiveCfg = Debug|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Debug|x64.Build.0 = Debug|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Debug|x86.ActiveCfg = Debug|x86
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Debug|x86.Build.0 = Debug|x86
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Release|Any CPU.ActiveCfg = Release|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Release|Any CPU.Build.0 = Release|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Release|x64.ActiveCfg = Release|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Release|x64.Build.0 = Release|x64
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Release|x86.ActiveCfg = Release|x86
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A}.Release|x86.Build.0 = Release|x86
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Checked|Any CPU.ActiveCfg = Checked|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Checked|Any CPU.Build.0 = Checked|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Checked|x64.ActiveCfg = Checked|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Checked|x64.Build.0 = Checked|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Checked|x86.ActiveCfg = Checked|x86
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Checked|x86.Build.0 = Checked|x86
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Debug|Any CPU.ActiveCfg = Debug|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Debug|Any CPU.Build.0 = Debug|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Debug|x64.ActiveCfg = Debug|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Debug|x64.Build.0 = Debug|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Debug|x86.ActiveCfg = Debug|x86
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Debug|x86.Build.0 = Debug|x86
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Release|Any CPU.ActiveCfg = Release|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Release|Any CPU.Build.0 = Release|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Release|x64.ActiveCfg = Release|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Release|x64.Build.0 = Release|x64
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Release|x86.ActiveCfg = Release|x86
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02}.Release|x86.Build.0 = Release|x86
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+       GlobalSection(NestedProjects) = preSolution
+               {DD28E2B1-057B-4B4D-A04D-B2EBD9E76E46} = {F5F8E1BA-13D4-4F72-83AC-BACA510F81AC}
+               {A7A026C4-DEB4-4EF6-963E-17E7B98A6527} = {F5F8E1BA-13D4-4F72-83AC-BACA510F81AC}
+               {400A1561-B6B6-482D-9E4C-3DDAEDE5BD07} = {FB237949-3F88-4E16-A770-8D13E48B84AF}
+               {B6BEE6AA-ADA0-4E1D-9A17-FBF2936F82B5} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {2C26601F-3E2F-45B9-A02F-58EE9296E19E} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {96182221-C5C4-436D-9BE0-EC499F9BAF17} = {AA0569FB-73E9-4B42-9A19-714BB1229DAE}
+               {5A27FA80-0E28-4243-88DF-EC8A22C8BFD0} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {F1A44A78-34EE-408B-8285-9A26F0E7D4F2} = {AA0569FB-73E9-4B42-9A19-714BB1229DAE}
+               {90D64CE4-C891-4B98-AF59-EE9B04BA1CBE} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {8DA71B3B-5809-44E5-A018-5DE5C6FF6C2A} = {03EB085F-3E2E-4A68-A7DF-951ADF59A0CC}
+               {6D20F334-B7E4-4585-854B-8A0E2B29B4AA} = {AA0569FB-73E9-4B42-9A19-714BB1229DAE}
+               {FF598E93-8E9E-4091-9F50-61A7572663AE} = {F5F8E1BA-13D4-4F72-83AC-BACA510F81AC}
+               {3DDE7064-4B68-4979-8843-FDF4CE5A5140} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {7936350A-B085-435D-9330-0A9A7F86886E} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {6F771650-EC13-4FD5-909A-EC1A5D4FBC20} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {F24E9C19-1B10-4E2F-90CD-81E609E062E4} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {EC7B2A97-8B82-45C7-AA6B-3523B17383D4} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {9DF703D5-DB25-4767-9DAB-2197119204F2} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {D3CC100A-D02B-492C-A072-FF0FA41B4A4A} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {66F2F805-0E38-4BBC-B329-FCC2748BEFCC} = {9E9B5684-2EDC-4E8C-AED0-D1B78C0EE706}
+               {FB237949-3F88-4E16-A770-8D13E48B84AF} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {BC94A262-6D89-4432-AC11-22FE75FBC91F} = {C2969923-7BAA-4FE4-853C-F670B0D3C6C8}
+               {CBB22C4F-0271-48A4-8301-27D0E4B26C02} = {BC94A262-6D89-4432-AC11-22FE75FBC91F}
+       EndGlobalSection
+       GlobalSection(ExtensibilityGlobals) = postSolution
+               SolutionGuid = {E43A3901-42B0-48CA-BB36-5CD40A99A6EE}
+       EndGlobalSection
+       GlobalSection(SharedMSBuildProjectFiles) = preSolution
+               ..\..\coreclr\tools\aot\ILLink.Shared\ILLink.Shared.projitems*{66f2f805-0e38-4bbc-b329-fcc2748befcc}*SharedItemsImports = 13
+               ..\..\coreclr\tools\aot\ILLink.Shared\ILLink.Shared.projitems*{6f771650-ec13-4fd5-909a-ec1a5d4fbc20}*SharedItemsImports = 5
+               src\ILLink.Shared\ILLink.Shared.projitems*{dd28e2b1-057b-4b4d-a04d-b2ebd9e76e46}*SharedItemsImports = 5
+               src\ILLink.Shared\ILLink.Shared.projitems*{f1a44a78-34ee-408b-8285-9a26f0e7d4f2}*SharedItemsImports = 5
+               src\ILLink.Shared\ILLink.Shared.projitems*{ff598e93-8e9e-4091-9f50-61a7572663ae}*SharedItemsImports = 13
+       EndGlobalSection
+EndGlobal