diff --git a/09/MirageMaintenance.Tests/GlobalUsings.cs b/09/MirageMaintenance.Tests/GlobalUsings.cs
new file mode 100644
index 0000000..7fef4b0
--- /dev/null
+++ b/09/MirageMaintenance.Tests/GlobalUsings.cs
@@ -0,0 +1,2 @@
+global using Xunit;
+global using FluentAssertions;
\ No newline at end of file
diff --git a/09/MirageMaintenance.Tests/MirageMaintenance.Tests.csproj b/09/MirageMaintenance.Tests/MirageMaintenance.Tests.csproj
new file mode 100644
index 0000000..589f7c5
--- /dev/null
+++ b/09/MirageMaintenance.Tests/MirageMaintenance.Tests.csproj
@@ -0,0 +1,30 @@
+
+
+
+ net8.0
+ enable
+ enable
+
+ false
+ true
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
diff --git a/09/MirageMaintenance.Tests/UnitTest1.cs b/09/MirageMaintenance.Tests/UnitTest1.cs
new file mode 100644
index 0000000..561193c
--- /dev/null
+++ b/09/MirageMaintenance.Tests/UnitTest1.cs
@@ -0,0 +1,10 @@
+namespace MirageMaintenance.Tests;
+
+public class UnitTest1
+{
+ [Fact]
+ public void Test1()
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/09/MirageMaintenance/MirageMaintenance.csproj b/09/MirageMaintenance/MirageMaintenance.csproj
new file mode 100644
index 0000000..2150e37
--- /dev/null
+++ b/09/MirageMaintenance/MirageMaintenance.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
diff --git a/09/MirageMaintenance/Program.cs b/09/MirageMaintenance/Program.cs
new file mode 100644
index 0000000..3751555
--- /dev/null
+++ b/09/MirageMaintenance/Program.cs
@@ -0,0 +1,2 @@
+// See https://aka.ms/new-console-template for more information
+Console.WriteLine("Hello, World!");
diff --git a/AdventOfCode2023.sln b/AdventOfCode2023.sln
index bc2abf3..f963b6c 100644
--- a/AdventOfCode2023.sln
+++ b/AdventOfCode2023.sln
@@ -51,6 +51,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HauntedWasteland", "08\Haun
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HauntedWasteland.Tests", "08\HauntedWasteland.Tests\HauntedWasteland.Tests.csproj", "{FA8DDDD1-4DD9-4927-A9FB-C4FACDEAF901}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "09", "09", "{79203C8D-F382-4C95-90EA-FECEE65602DA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MirageMaintenance", "09\MirageMaintenance\MirageMaintenance.csproj", "{6C233DE5-D1D0-46C0-A250-AF0272B495CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MirageMaintenance.Tests", "09\MirageMaintenance.Tests\MirageMaintenance.Tests.csproj", "{5C39C115-ACBF-458A-9409-FBD23637A789}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -124,6 +130,14 @@ Global
{FA8DDDD1-4DD9-4927-A9FB-C4FACDEAF901}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FA8DDDD1-4DD9-4927-A9FB-C4FACDEAF901}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FA8DDDD1-4DD9-4927-A9FB-C4FACDEAF901}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6C233DE5-D1D0-46C0-A250-AF0272B495CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C233DE5-D1D0-46C0-A250-AF0272B495CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6C233DE5-D1D0-46C0-A250-AF0272B495CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6C233DE5-D1D0-46C0-A250-AF0272B495CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5C39C115-ACBF-458A-9409-FBD23637A789}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5C39C115-ACBF-458A-9409-FBD23637A789}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5C39C115-ACBF-458A-9409-FBD23637A789}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5C39C115-ACBF-458A-9409-FBD23637A789}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{3F8EAC09-4BC7-43AA-B72B-48DDD2710F6D} = {8C29858C-623A-461A-BF0B-254E151CD9C2}
@@ -142,5 +156,7 @@ Global
{8F04A78E-D2E1-41AC-B43C-74608B7B4FCB} = {7F8AD027-D8D7-407B-9E08-B363B7B34621}
{332B56C1-8ECB-4E34-9E69-54BF6A192CFB} = {F21CCF39-1F8A-40DA-A0E5-F1426B09BAA2}
{FA8DDDD1-4DD9-4927-A9FB-C4FACDEAF901} = {F21CCF39-1F8A-40DA-A0E5-F1426B09BAA2}
+ {6C233DE5-D1D0-46C0-A250-AF0272B495CE} = {79203C8D-F382-4C95-90EA-FECEE65602DA}
+ {5C39C115-ACBF-458A-9409-FBD23637A789} = {79203C8D-F382-4C95-90EA-FECEE65602DA}
EndGlobalSection
EndGlobal