We got something going on.

This commit is contained in:
Unnoen 2022-01-10 00:33:22 +11:00
parent 50c58725a7
commit 7419fc75a5
No known key found for this signature in database
GPG Key ID: 8F8E42252BA20553
54 changed files with 593 additions and 74 deletions

1
.gitignore vendored
View File

@ -1,4 +1,5 @@
bin
obj
.idea
.vs
*.user

2
Wabbajack.App.Blazor/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
**/*.razor.css
**/*.razor.css.map

View File

@ -0,0 +1,8 @@
<Application x:Class="Wabbajack.App.Blazor.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="OnStartup"
Exit="OnExit">
<Application.Resources>
</Application.Resources>
</Application>

View File

@ -0,0 +1,50 @@
using System;
using System.Windows;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Wabbajack.Services.OSIntegrated;
namespace Wabbajack.App.Blazor
{
public partial class App
{
private readonly IServiceProvider _serviceProvider;
private readonly IHost _host;
public App()
{
_host = Host.CreateDefaultBuilder(Array.Empty<string>())
.ConfigureLogging(c => { c.ClearProviders(); })
.ConfigureServices((host, services) => { ConfigureServices(services); })
.Build();
_serviceProvider = _host.Services;
}
private static IServiceCollection ConfigureServices(IServiceCollection services)
{
services.AddBlazorWebView();
services.AddOSIntegrated();
services.AddTransient<MainWindow>();
return services;
}
private void OnStartup(object sender, StartupEventArgs e)
{
MainWindow mainWindow = _serviceProvider.GetRequiredService<MainWindow>();
mainWindow!.Show();
}
private void OnExit(object sender, ExitEventArgs e)
{
Current.Shutdown();
// using (_host)
// {
// _host.StopAsync();
// }
//
// base.OnExit(e);
}
}
}

View File

@ -0,0 +1,10 @@
using System.Windows;
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]

View File

@ -0,0 +1,6 @@
<img class="logo" src="images/Logo_Dark_Transparent.png" alt="Wabbajack Logo">
<img class="letters" src="images/Letters_Dark_Transparent.png" alt="Wabbajack Logo">
@code {
}

View File

@ -0,0 +1,19 @@
.logo {
padding: 0.5rem 4rem;
display: block;
margin-left: auto;
margin-right: auto;
vertical-align: middle;
max-width: 100%;
height: auto;
}
.letters {
padding: 0.5rem 2rem;
display: block;
margin-left: auto;
margin-right: auto;
vertical-align: middle;
max-width: 100%;
height: auto;
}

View File

@ -0,0 +1,16 @@
<div class="item" style="background-image: url(@ImageURL);">
<div class="info">
<div class="title">@Title</div>
<div class="description">@Description</div>
</div>
</div>
@code {
[Parameter]
public string ImageURL { get; set; }
[Parameter]
public string Title { get; set; }
[Parameter]
public string Description { get; set; }
}

View File

@ -0,0 +1,19 @@
.item {
width: 150px;
height: 100px;
border-radius: 0.75rem;
.info {
.title {
color: white;
font-weight: 100;
font-size: 2.25rem;
line-height: 2.5rem;
margin: 0;
}
.description {
color: grey;
}
}
}

View File

@ -0,0 +1,10 @@
<nav>
<a href="">Home</a>
<a href="/gallery">Gallery</a>
<a href="">Compile</a>
<a href="">Settings</a>
</nav>
@code {
}

View File

@ -0,0 +1,20 @@
@use "../Shared/Globals";
nav {
font-weight: 100;
font-size: 1.5em;
line-height: 2rem;
padding-top: 1rem;
}
a {
color: white;
display: block;
padding: 0.5rem 2rem;
text-decoration: none;
transition: background-color .25s ease-in-out;
&:hover {
background-color: Globals.$accent-color;
}
}

View File

@ -0,0 +1,16 @@
@namespace Wabbajack.App.Blazor.Components
<div class="container">
<div class="info">
<p class="title">
Wabbajack 3.0
</p>
<p class="description">
I can't believe this shit is free.
</p>
</div>
</div>
@code {
}

View File

@ -0,0 +1,29 @@
.container {
background-image: linear-gradient(30deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.8) 30%, rgba(255, 255, 255, 0) 100%), url(images/Banner.png);
background-size: cover;
background-position: center;
display: flex;
align-items: center;
padding: 1rem 1.5rem;
border-radius: 0.75rem;
max-width: 56rem;
height: 9rem;
margin-left: auto;
margin-right: auto;
.info {
align-self: flex-end;
.title {
color: white;
font-weight: 100;
font-size: 2.25rem;
line-height: 2.5rem;
margin: 0;
}
.description {
color: grey;
}
}
}

View File

@ -0,0 +1,7 @@
<div class="sidebar">
<Logo/>
<Navbar/>
</div>
@code {
}

View File

@ -0,0 +1,7 @@
@use "../Shared/Globals";
.sidebar {
background-color: Globals.$secondary-background-color;
color: white;
width: 18rem;
}

View File

@ -0,0 +1,9 @@
<Router AppAssembly="@GetType().Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(Shared.MainLayout)" />
</Found>
<NotFound>
<h1>Not found</h1>
<p>Sorry, there's nothing here.</p>
</NotFound>
</Router>

View File

@ -0,0 +1,17 @@
<Window x:Class="Wabbajack.App.Blazor.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Wabbajack.App.Blazor"
xmlns:blazor="clr-namespace:Microsoft.AspNetCore.Components.WebView.Wpf;assembly=Microsoft.AspNetCore.Components.WebView.Wpf"
mc:Ignorable="d"
Title="MainWindow" Height="600" Width="1000" MinHeight="600" MinWidth="900">
<Grid Background="#121212">
<blazor:BlazorWebView HostPage="wwwroot\index.html" Services="{StaticResource services}" x:Name="blazorWebView1">
<blazor:BlazorWebView.RootComponents>
<blazor:RootComponent Selector="#app" ComponentType="{x:Type local:Main}" />
</blazor:BlazorWebView.RootComponents>
</blazor:BlazorWebView>
</Grid>
</Window>

View File

@ -0,0 +1,19 @@
using System;
using Microsoft.Extensions.Logging;
namespace Wabbajack.App.Blazor
{
public partial class MainWindow
{
private readonly ILogger<MainWindow> _logger;
public MainWindow(ILogger<MainWindow> logger, IServiceProvider serviceProvider)
{
_logger = logger;
Resources.Add("services", serviceProvider);
InitializeComponent();
}
}
// Required so compiler doesn't complain about not finding the type. [MC3050]
public partial class Main {}
}

View File

@ -0,0 +1,15 @@
@page "/default"
<h3>Hello, world!</h3>
<p>The current count is <strong>@Counter</strong></p>
<button @onclick="IncrementCount">Increment</button>
@code {
int Counter = 0;
void IncrementCount()
{
Counter++;
}
}

View File

@ -0,0 +1,47 @@
@page "/gallery"
@layout Shared.MainLayout
@using Wabbajack.Networking.WabbajackClientApi;
@using System.Linq;
@using Wabbajack.DTOs
@inject Client _client
<div id="content">
@foreach (ModListItem item in listItems)
{
<ModListItem ImageURL=@item.ImageURL Title=@item.Title Description=@item.Description></ModListItem>
}
</div>
@code {
List<ModListItem> listItems = new();
private class ModListItem
{
public readonly string Title;
public readonly string Description;
public readonly string ImageURL;
public ModListItem(string title, string description, string imageUrl)
{
Description = description;
ImageURL = imageUrl;
Title = title;
}
}
protected override async Task OnInitializedAsync()
{
try
{
ModlistMetadata[] modLists = await _client.LoadLists();
listItems = modLists.Select(x => new ModListItem(x.Title, x.Description, x.Links.ImageUri)).ToList();
StateHasChanged();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}

View File

@ -0,0 +1,30 @@
@using Wabbajack.Paths.IO
@using Wabbajack.Paths
@using System;
@using System.Collections.Generic;
@using System.Text.Json;
@using Wabbajack.Common
@using Newtonsoft.Json;
@using Newtonsoft.Json.Linq
@page "/"
@layout Shared.MainLayout
<News/>
<div id="content"></div>
@code {
// List<string> InstalledLists = new();
// protected override async Task OnInitializedAsync()
// {
// AbsolutePath installedModlists = KnownFolders.WabbajackAppLocal.Combine("installed_modlists.json");
// string toJson = await installedModlists.ReadAllTextAsync();
// JObject installedJson = JObject.Parse(toJson);
// foreach ((string? key, JToken? value) in installedJson)
// {
// foreach (JObject obj in value)
// {
// Console.WriteLine(obj.Properties());
// }
// }
// }
}

View File

@ -0,0 +1,31 @@
#content {
display: flex;
flex-direction: column;
height: inherit;
justify-content: center;
}
//
//.header {
// flex: 2;
// display: flex;
// background-image: url("images/Logo_Dark_Transparent.png");
// background-position: bottom;
// background-repeat: no-repeat;
// background-size: contain;
//
// .text {
// background-image: url("images/Letters_Dark_Transparent.png");
// background-repeat: no-repeat;
// margin: 0 auto;
// background-size: contain;
// height: 50%;
// width: 100px;
// max-width: 1000px;
// }
//}
//
//.menu {
// flex: 1;
// color: green;
// height: 200px;
//}

View File

@ -0,0 +1,3 @@
/*# sourceMappingURL=Globals.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":[],"names":[],"mappings":"","file":"Globals.css"}

View File

@ -0,0 +1,3 @@
$primary-background-color: #121212;
$secondary-background-color: #0A0A0A;
$accent-color: #5E437F;

View File

@ -0,0 +1,13 @@
@using Components
@inherits LayoutComponentBase
@* This is required because layout components can't access scoped CSS. *@
<link rel="stylesheet" href="MainLayout.Razor.css" >
<div class="main">
<Sidebar/>
<div class="content">
@Body
</div>
</div>

View File

@ -0,0 +1,13 @@
@use "Globals";
.main {
position: relative;
display: flex;
background-color: Globals.$primary-background-color;
min-height: 100vh;
}
.content {
padding: 0.5rem;
flex: 1 1 0;
}

View File

@ -0,0 +1,39 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>
<PublishSingleFile>True</PublishSingleFile>
</PropertyGroup>
<ItemGroup>
<SupportedPlatform Include="browser" />
</ItemGroup>
<ItemGroup>
<!-- <PackageReference Include="LibSassBuilder" Version="2.0.1" />-->
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Wpf" Version="6.0.101-preview.11.2349" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.1" />
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="4.5.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Content Remove="Pages\*.scss" />
<Content Include="Pages\*.scss" Watch="false" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" />
<ProjectReference Include="..\Wabbajack.Compiler\Wabbajack.Compiler.csproj" />
<ProjectReference Include="..\Wabbajack.Installer\Wabbajack.Installer.csproj" />
<ProjectReference Include="..\Wabbajack.Paths.IO\Wabbajack.Paths.IO.csproj" />
<ProjectReference Include="..\Wabbajack.Services.OSIntegrated\Wabbajack.Services.OSIntegrated.csproj" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,8 @@
@using System.Net.Http
@using System.Net.Http.Json
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using Wabbajack.App.Blazor.Components

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Wabbajack</title>
<base href="/"/>
<link href="Wabbajack.App.Blazor.styles.css" rel="stylesheet" />
</head>
<style>
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
height: 100%;
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
body
{
height: inherit;
}
#app {
height: inherit;
}
</style>
<body>
<div id="app"></div>
<script src="_framework/blazor.webview.js"></script>
</body>
</html>

View File

@ -1,90 +1,93 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Paths", "Wabbajack.Paths\Wabbajack.Paths.csproj", "{C9B2E29E-49C0-4B1A-8FA6-0723082621B2}"
# Visual Studio Version 17
VisualStudioVersion = 17.1.32104.313
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Paths", "Wabbajack.Paths\Wabbajack.Paths.csproj", "{C9B2E29E-49C0-4B1A-8FA6-0723082621B2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Paths.IO", "Wabbajack.Paths.IO\Wabbajack.Paths.IO.csproj", "{C0C6424D-F472-421E-AFF3-B4CD448AB3B4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Paths.IO", "Wabbajack.Paths.IO\Wabbajack.Paths.IO.csproj", "{C0C6424D-F472-421E-AFF3-B4CD448AB3B4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Paths.IO.Test", "Wabbajack.Paths.IO.Test\Wabbajack.Paths.IO.Test.csproj", "{BE30FCEC-4791-481B-AF53-67F960AD5884}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Paths.IO.Test", "Wabbajack.Paths.IO.Test\Wabbajack.Paths.IO.Test.csproj", "{BE30FCEC-4791-481B-AF53-67F960AD5884}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Paths.Test", "Wabbajack.Paths.Test\Wabbajack.Paths.Test.csproj", "{2333FEC4-825E-47EA-ADDC-745349309E85}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Paths.Test", "Wabbajack.Paths.Test\Wabbajack.Paths.Test.csproj", "{2333FEC4-825E-47EA-ADDC-745349309E85}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Hashing.xxHash64", "Wabbajack.Hashing.xxHash64\Wabbajack.Hashing.xxHash64.csproj", "{228456C6-28D3-4754-8154-11EBA68048F0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Hashing.xxHash64", "Wabbajack.Hashing.xxHash64\Wabbajack.Hashing.xxHash64.csproj", "{228456C6-28D3-4754-8154-11EBA68048F0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Hashing.xxHash64.Benchmark", "Wabbajack.Hashing.xxHash64.Benchmark\Wabbajack.Hashing.xxHash64.Benchmark.csproj", "{32A3E8FD-0707-44D1-940E-44B625C014E0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Hashing.xxHash64.Benchmark", "Wabbajack.Hashing.xxHash64.Benchmark\Wabbajack.Hashing.xxHash64.Benchmark.csproj", "{32A3E8FD-0707-44D1-940E-44B625C014E0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Hashing.xxHash64.Test", "Wabbajack.Hashing.xxHash64.Test\Wabbajack.Hashing.xxHash64.Test.csproj", "{120DD604-6BE8-4B2F-8894-3AB9FD36A374}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Hashing.xxHash64.Test", "Wabbajack.Hashing.xxHash64.Test\Wabbajack.Hashing.xxHash64.Test.csproj", "{120DD604-6BE8-4B2F-8894-3AB9FD36A374}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.Interfaces", "Wabbajack.Downloaders.Interfaces\Wabbajack.Downloaders.Interfaces.csproj", "{B1D56F98-6AE3-43E6-9CDE-FE2A5BAC7F06}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.Interfaces", "Wabbajack.Downloaders.Interfaces\Wabbajack.Downloaders.Interfaces.csproj", "{B1D56F98-6AE3-43E6-9CDE-FE2A5BAC7F06}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.Http.Interfaces", "Wabbajack.Networking.Http.Interfaces\Wabbajack.Networking.Http.Interfaces.csproj", "{8BC84DD8-0F4C-4694-BF2E-A85908686E44}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.Http.Interfaces", "Wabbajack.Networking.Http.Interfaces\Wabbajack.Networking.Http.Interfaces.csproj", "{8BC84DD8-0F4C-4694-BF2E-A85908686E44}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.DTOs", "Wabbajack.DTOs\Wabbajack.DTOs.csproj", "{210F6154-F1FE-42FD-9799-2B081954C7F6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.DTOs", "Wabbajack.DTOs\Wabbajack.DTOs.csproj", "{210F6154-F1FE-42FD-9799-2B081954C7F6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.DTOs.ConverterGenerators", "Wabbajack.DTOs.ConverterGenerators\Wabbajack.DTOs.ConverterGenerators.csproj", "{1146A2E8-31B8-41FE-895B-646BBB9B61C0}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.DTOs.ConverterGenerators", "Wabbajack.DTOs.ConverterGenerators\Wabbajack.DTOs.ConverterGenerators.csproj", "{1146A2E8-31B8-41FE-895B-646BBB9B61C0}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.DTOs.Test", "Wabbajack.DTOs.Test\Wabbajack.DTOs.Test.csproj", "{7A6FF06D-779E-4772-BDD6-71DE2980F7DF}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.DTOs.Test", "Wabbajack.DTOs.Test\Wabbajack.DTOs.Test.csproj", "{7A6FF06D-779E-4772-BDD6-71DE2980F7DF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.NexusApi", "Wabbajack.Networking.NexusApi\Wabbajack.Networking.NexusApi.csproj", "{CC626358-8E0B-4BC1-93C5-A52451F5818B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.NexusApi", "Wabbajack.Networking.NexusApi\Wabbajack.Networking.NexusApi.csproj", "{CC626358-8E0B-4BC1-93C5-A52451F5818B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.NexusApi.Test", "Wabbajack.Networking.NexusApi.Test\Wabbajack.Networking.NexusApi.Test.csproj", "{E23367B5-360F-4B17-B921-0553B7DB07E9}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.NexusApi.Test", "Wabbajack.Networking.NexusApi.Test\Wabbajack.Networking.NexusApi.Test.csproj", "{E23367B5-360F-4B17-B921-0553B7DB07E9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.Nexus", "Wabbajack.Downloaders.Nexus\Wabbajack.Downloaders.Nexus.csproj", "{3BDAD0DF-24E7-4236-B6E5-5FDAAB0EE064}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.Nexus", "Wabbajack.Downloaders.Nexus\Wabbajack.Downloaders.Nexus.csproj", "{3BDAD0DF-24E7-4236-B6E5-5FDAAB0EE064}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.Http", "Wabbajack.Networking.Http\Wabbajack.Networking.Http.csproj", "{7BE598E4-8640-4188-AC19-7E929E1B324D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.Http", "Wabbajack.Networking.Http\Wabbajack.Networking.Http.csproj", "{7BE598E4-8640-4188-AC19-7E929E1B324D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.CLI", "Wabbajack.CLI\Wabbajack.CLI.csproj", "{3FE8C32C-C5E5-4EF4-85F7-84C3785378F9}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.CLI", "Wabbajack.CLI\Wabbajack.CLI.csproj", "{3FE8C32C-C5E5-4EF4-85F7-84C3785378F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.GoogleDrive", "Wabbajack.Downloaders.GoogleDrive\Wabbajack.Downloaders.GoogleDrive.csproj", "{E5E19726-C831-4FB3-BB52-B3FD9360F209}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.GoogleDrive", "Wabbajack.Downloaders.GoogleDrive\Wabbajack.Downloaders.GoogleDrive.csproj", "{E5E19726-C831-4FB3-BB52-B3FD9360F209}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.Dispatcher", "Wabbajack.Downloaders.Dispatcher\Wabbajack.Downloaders.Dispatcher.csproj", "{4057B668-8595-44FE-9805-007B284A838F}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.Dispatcher", "Wabbajack.Downloaders.Dispatcher\Wabbajack.Downloaders.Dispatcher.csproj", "{4057B668-8595-44FE-9805-007B284A838F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.Dispatcher.Test", "Wabbajack.Downloaders.Dispatcher.Test\Wabbajack.Downloaders.Dispatcher.Test.csproj", "{0DBCA05C-1D39-46B6-A4AB-9CDD8551F2FE}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.Dispatcher.Test", "Wabbajack.Downloaders.Dispatcher.Test\Wabbajack.Downloaders.Dispatcher.Test.csproj", "{0DBCA05C-1D39-46B6-A4AB-9CDD8551F2FE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Compression.BSA", "Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj", "{B7EF7004-7F55-456F-949E-7A9C643E1009}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Compression.BSA", "Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj", "{B7EF7004-7F55-456F-949E-7A9C643E1009}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Common", "Wabbajack.Common\Wabbajack.Common.csproj", "{59E7A72B-1B8F-4BDC-BE31-7D6CC8AEEFCC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Common", "Wabbajack.Common\Wabbajack.Common.csproj", "{59E7A72B-1B8F-4BDC-BE31-7D6CC8AEEFCC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Compression.BSA.Test", "Wabbajack.Compression.BSA.Test\Wabbajack.Compression.BSA.Test.csproj", "{BF64FBE6-8085-43B6-ABCB-9A7DFDFB5E7A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Compression.BSA.Test", "Wabbajack.Compression.BSA.Test\Wabbajack.Compression.BSA.Test.csproj", "{BF64FBE6-8085-43B6-ABCB-9A7DFDFB5E7A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.FileExtractor", "Wabbajack.FileExtractor\Wabbajack.FileExtractor.csproj", "{C98E4FD2-A2D6-42DE-A6A9-381113667A3B}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.FileExtractor", "Wabbajack.FileExtractor\Wabbajack.FileExtractor.csproj", "{C98E4FD2-A2D6-42DE-A6A9-381113667A3B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.FileExtractor.Test", "Wabbajack.FileExtractor.Test\Wabbajack.FileExtractor.Test.csproj", "{5D792FA8-8120-4A5C-A969-2258D3D05F1A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.FileExtractor.Test", "Wabbajack.FileExtractor.Test\Wabbajack.FileExtractor.Test.csproj", "{5D792FA8-8120-4A5C-A969-2258D3D05F1A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.VFS", "Wabbajack.VFS\Wabbajack.VFS.csproj", "{27DF11E9-886E-4D3C-B619-BB93F2764FC8}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.VFS", "Wabbajack.VFS\Wabbajack.VFS.csproj", "{27DF11E9-886E-4D3C-B619-BB93F2764FC8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.VFS.Test", "Wabbajack.VFS.Test\Wabbajack.VFS.Test.csproj", "{66742357-9BB1-4AC5-858A-7898472B9A4A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.VFS.Test", "Wabbajack.VFS.Test\Wabbajack.VFS.Test.csproj", "{66742357-9BB1-4AC5-858A-7898472B9A4A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Hashing.PHash", "Wabbajack.Hashing.PHash\Wabbajack.Hashing.PHash.csproj", "{878B76C7-F11F-4B99-BEEB-86D4A3EBE572}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Hashing.PHash", "Wabbajack.Hashing.PHash\Wabbajack.Hashing.PHash.csproj", "{878B76C7-F11F-4B99-BEEB-86D4A3EBE572}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Hashing.PHash.Test", "Wabbajack.Hashing.PHash.Test\Wabbajack.Hashing.PHash.Test.csproj", "{1A698B87-3952-4CFD-87C8-79CC4704EB5C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Hashing.PHash.Test", "Wabbajack.Hashing.PHash.Test\Wabbajack.Hashing.PHash.Test.csproj", "{1A698B87-3952-4CFD-87C8-79CC4704EB5C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Installer", "Wabbajack.Installer\Wabbajack.Installer.csproj", "{6359DAA8-C402-488D-82F2-6E31714E4E08}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Installer", "Wabbajack.Installer\Wabbajack.Installer.csproj", "{6359DAA8-C402-488D-82F2-6E31714E4E08}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.WabbajackClientApi", "Wabbajack.Networking.WabbajackClientApi\Wabbajack.Networking.WabbajackClientApi.csproj", "{313A71B2-C08C-4B2F-98A5-7F3FAFF22AB8}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.WabbajackClientApi", "Wabbajack.Networking.WabbajackClientApi\Wabbajack.Networking.WabbajackClientApi.csproj", "{313A71B2-C08C-4B2F-98A5-7F3FAFF22AB8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Installer.Test", "Wabbajack.Installer.Test\Wabbajack.Installer.Test.csproj", "{471C3EFB-9C2B-45F1-9E3A-568F293F16BD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Installer.Test", "Wabbajack.Installer.Test\Wabbajack.Installer.Test.csproj", "{471C3EFB-9C2B-45F1-9E3A-568F293F16BD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.Http", "Wabbajack.Downloaders.Http\Wabbajack.Downloaders.Http.csproj", "{85567764-AA68-481A-9E3F-4EE445CA4CBB}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.Http", "Wabbajack.Downloaders.Http\Wabbajack.Downloaders.Http.csproj", "{85567764-AA68-481A-9E3F-4EE445CA4CBB}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Compiler", "Wabbajack.Compiler\Wabbajack.Compiler.csproj", "{9BFC773E-F973-4B04-80EE-752A135C8703}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Compiler", "Wabbajack.Compiler\Wabbajack.Compiler.csproj", "{9BFC773E-F973-4B04-80EE-752A135C8703}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Compiler.Test", "Wabbajack.Compiler.Test\Wabbajack.Compiler.Test.csproj", "{EF3C231D-063E-4347-96F5-4E113F58F80E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Compiler.Test", "Wabbajack.Compiler.Test\Wabbajack.Compiler.Test.csproj", "{EF3C231D-063E-4347-96F5-4E113F58F80E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.WabbajackCDN", "Wabbajack.Downloaders.WabbajackCDN\Wabbajack.Downloaders.WabbajackCDN.csproj", "{0210A092-4A69-479F-8FF4-120921B5758E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.WabbajackCDN", "Wabbajack.Downloaders.WabbajackCDN\Wabbajack.Downloaders.WabbajackCDN.csproj", "{0210A092-4A69-479F-8FF4-120921B5758E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Server", "Wabbajack.Server\Wabbajack.Server.csproj", "{8F7FB1BE-4E1E-4798-AC9E-AA2E18CCDD42}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Server", "Wabbajack.Server\Wabbajack.Server.csproj", "{8F7FB1BE-4E1E-4798-AC9E-AA2E18CCDD42}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.GitHub", "Wabbajack.Networking.GitHub\Wabbajack.Networking.GitHub.csproj", "{549D01FD-8E26-42C7-ABEA-4BAF6E24E754}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.GitHub", "Wabbajack.Networking.GitHub\Wabbajack.Networking.GitHub.csproj", "{549D01FD-8E26-42C7-ABEA-4BAF6E24E754}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Services.OSIntegrated", "Wabbajack.Services.OSIntegrated\Wabbajack.Services.OSIntegrated.csproj", "{45E48012-6C58-4C3D-843F-C6EED02868B7}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Services.OSIntegrated", "Wabbajack.Services.OSIntegrated\Wabbajack.Services.OSIntegrated.csproj", "{45E48012-6C58-4C3D-843F-C6EED02868B7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.ModDB", "Wabbajack.Downloaders.ModDB\Wabbajack.Downloaders.ModDB.csproj", "{176E8CCF-3591-4DC2-A22B-0FAB14E2A0C4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.ModDB", "Wabbajack.Downloaders.ModDB\Wabbajack.Downloaders.ModDB.csproj", "{176E8CCF-3591-4DC2-A22B-0FAB14E2A0C4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.Mega", "Wabbajack.Downloaders.Mega\Wabbajack.Downloaders.Mega.csproj", "{1DD25EF5-DC69-4287-B3C5-B2CE101257A2}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.Mega", "Wabbajack.Downloaders.Mega\Wabbajack.Downloaders.Mega.csproj", "{1DD25EF5-DC69-4287-B3C5-B2CE101257A2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Server.Lib", "Wabbajack.Server.Lib\Wabbajack.Server.Lib.csproj", "{4CC1B70B-186E-4440-B723-E7A6819E27DD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Server.Lib", "Wabbajack.Server.Lib\Wabbajack.Server.Lib.csproj", "{4CC1B70B-186E-4440-B723-E7A6819E27DD}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.IPS4OAuth2Downloader", "Wabbajack.Downloaders.IPS4OAuth2Downloader\Wabbajack.Downloaders.IPS4OAuth2Downloader.csproj", "{70180D74-7902-45D4-9A50-C02EAE0B5CF9}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.IPS4OAuth2Downloader", "Wabbajack.Downloaders.IPS4OAuth2Downloader\Wabbajack.Downloaders.IPS4OAuth2Downloader.csproj", "{70180D74-7902-45D4-9A50-C02EAE0B5CF9}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Downloaders", "Downloaders", "{98B731EE-4FC0-4482-A069-BCBA25497871}"
EndProject
@ -96,30 +99,32 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Networking", "Networking",
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ArchiveManagement", "ArchiveManagement", "{F677890D-5109-43BC-97C7-C4CD47C8EE0C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.RateLimiter", "Wabbajack.RateLimiter\Wabbajack.RateLimiter.csproj", "{69223B89-EFC8-4EBA-BA78-23B2207AC0A4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.RateLimiter", "Wabbajack.RateLimiter\Wabbajack.RateLimiter.csproj", "{69223B89-EFC8-4EBA-BA78-23B2207AC0A4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.RateLimiter.Test", "Wabbajack.RateLimiter.Test\Wabbajack.RateLimiter.Test.csproj", "{C9767945-6B5B-48F3-BBCD-62D8E7294B1A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.RateLimiter.Test", "Wabbajack.RateLimiter.Test\Wabbajack.RateLimiter.Test.csproj", "{C9767945-6B5B-48F3-BBCD-62D8E7294B1A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.MediaFire", "Wabbajack.Downloaders.MediaFire\Wabbajack.Downloaders.MediaFire.csproj", "{29AC8A68-D5EC-43F5-B2CC-72A75545E418}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.MediaFire", "Wabbajack.Downloaders.MediaFire\Wabbajack.Downloaders.MediaFire.csproj", "{29AC8A68-D5EC-43F5-B2CC-72A75545E418}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.Discord", "Wabbajack.Networking.Discord\Wabbajack.Networking.Discord.csproj", "{DEB4B073-4EAA-49FD-9D43-F0F8CB930E7A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Networking.Discord", "Wabbajack.Networking.Discord\Wabbajack.Networking.Discord.csproj", "{DEB4B073-4EAA-49FD-9D43-F0F8CB930E7A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".solutionItems", ".solutionItems", "{109037C8-CF2F-4179-B064-A66147BC18C5}"
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
nuget.config = nuget.config
EndProjectSection
ProjectSection(SolutionItems) = preProject
.gitignore = .gitignore
nuget.config = nuget.config
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Downloaders.GameFile", "Wabbajack.Downloaders.GameFile\Wabbajack.Downloaders.GameFile.csproj", "{4F252332-CA77-41DE-95A8-9DF38A81D675}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Downloaders.GameFile", "Wabbajack.Downloaders.GameFile\Wabbajack.Downloaders.GameFile.csproj", "{4F252332-CA77-41DE-95A8-9DF38A81D675}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Launcher", "Wabbajack.Launcher\Wabbajack.Launcher.csproj", "{23D49FCC-A6CB-4873-879B-F90DA1871AA3}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Launcher", "Wabbajack.Launcher\Wabbajack.Launcher.csproj", "{23D49FCC-A6CB-4873-879B-F90DA1871AA3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.App.Wpf", "Wabbajack.App.Wpf\Wabbajack.App.Wpf.csproj", "{372B2DD2-EAA3-4E18-98A7-B9838C7B41F4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.App.Wpf", "Wabbajack.App.Wpf\Wabbajack.App.Wpf.csproj", "{372B2DD2-EAA3-4E18-98A7-B9838C7B41F4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.Steam", "Wabbajack.Networking.Steam\Wabbajack.Networking.Steam.csproj", "{AB9A5C22-10CC-4EE0-A808-FB1DC9E24247}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.Networking.Steam.Test", "Wabbajack.Networking.Steam.Test\Wabbajack.Networking.Steam.Test.csproj", "{D6351587-CAF6-4CB6-A2BD-5368E69F297C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wabbajack.App.Blazor", "Wabbajack.App.Blazor\Wabbajack.App.Blazor.csproj", "{C6E9B15D-510F-4074-AB1C-069F36BA4622}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -334,43 +339,53 @@ Global
{D6351587-CAF6-4CB6-A2BD-5368E69F297C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6351587-CAF6-4CB6-A2BD-5368E69F297C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6351587-CAF6-4CB6-A2BD-5368E69F297C}.Release|Any CPU.Build.0 = Release|Any CPU
{C6E9B15D-510F-4074-AB1C-069F36BA4622}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C6E9B15D-510F-4074-AB1C-069F36BA4622}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6E9B15D-510F-4074-AB1C-069F36BA4622}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C6E9B15D-510F-4074-AB1C-069F36BA4622}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{4057B668-8595-44FE-9805-007B284A838F} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{0DBCA05C-1D39-46B6-A4AB-9CDD8551F2FE} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{E5E19726-C831-4FB3-BB52-B3FD9360F209} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{85567764-AA68-481A-9E3F-4EE445CA4CBB} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{B1D56F98-6AE3-43E6-9CDE-FE2A5BAC7F06} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{70180D74-7902-45D4-9A50-C02EAE0B5CF9} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{1DD25EF5-DC69-4287-B3C5-B2CE101257A2} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{176E8CCF-3591-4DC2-A22B-0FAB14E2A0C4} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{3BDAD0DF-24E7-4236-B6E5-5FDAAB0EE064} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{0210A092-4A69-479F-8FF4-120921B5758E} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{878B76C7-F11F-4B99-BEEB-86D4A3EBE572} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{1A698B87-3952-4CFD-87C8-79CC4704EB5C} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{228456C6-28D3-4754-8154-11EBA68048F0} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{32A3E8FD-0707-44D1-940E-44B625C014E0} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{120DD604-6BE8-4B2F-8894-3AB9FD36A374} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{C9B2E29E-49C0-4B1A-8FA6-0723082621B2} = {73483C65-ABB6-4761-8ED8-3F9F7B9A740E}
{C0C6424D-F472-421E-AFF3-B4CD448AB3B4} = {73483C65-ABB6-4761-8ED8-3F9F7B9A740E}
{BE30FCEC-4791-481B-AF53-67F960AD5884} = {73483C65-ABB6-4761-8ED8-3F9F7B9A740E}
{2333FEC4-825E-47EA-ADDC-745349309E85} = {73483C65-ABB6-4761-8ED8-3F9F7B9A740E}
{549D01FD-8E26-42C7-ABEA-4BAF6E24E754} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{7BE598E4-8640-4188-AC19-7E929E1B324D} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{228456C6-28D3-4754-8154-11EBA68048F0} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{32A3E8FD-0707-44D1-940E-44B625C014E0} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{120DD604-6BE8-4B2F-8894-3AB9FD36A374} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{B1D56F98-6AE3-43E6-9CDE-FE2A5BAC7F06} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{8BC84DD8-0F4C-4694-BF2E-A85908686E44} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{CC626358-8E0B-4BC1-93C5-A52451F5818B} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{E23367B5-360F-4B17-B921-0553B7DB07E9} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{313A71B2-C08C-4B2F-98A5-7F3FAFF22AB8} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{27DF11E9-886E-4D3C-B619-BB93F2764FC8} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{66742357-9BB1-4AC5-858A-7898472B9A4A} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{3BDAD0DF-24E7-4236-B6E5-5FDAAB0EE064} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{7BE598E4-8640-4188-AC19-7E929E1B324D} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{E5E19726-C831-4FB3-BB52-B3FD9360F209} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{4057B668-8595-44FE-9805-007B284A838F} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{0DBCA05C-1D39-46B6-A4AB-9CDD8551F2FE} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{B7EF7004-7F55-456F-949E-7A9C643E1009} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{BF64FBE6-8085-43B6-ABCB-9A7DFDFB5E7A} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{C98E4FD2-A2D6-42DE-A6A9-381113667A3B} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{5D792FA8-8120-4A5C-A969-2258D3D05F1A} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{27DF11E9-886E-4D3C-B619-BB93F2764FC8} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{66742357-9BB1-4AC5-858A-7898472B9A4A} = {F677890D-5109-43BC-97C7-C4CD47C8EE0C}
{878B76C7-F11F-4B99-BEEB-86D4A3EBE572} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{1A698B87-3952-4CFD-87C8-79CC4704EB5C} = {B953DCDB-6D18-483F-BC38-1E4B1D3E12B5}
{313A71B2-C08C-4B2F-98A5-7F3FAFF22AB8} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{85567764-AA68-481A-9E3F-4EE445CA4CBB} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{0210A092-4A69-479F-8FF4-120921B5758E} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{549D01FD-8E26-42C7-ABEA-4BAF6E24E754} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{176E8CCF-3591-4DC2-A22B-0FAB14E2A0C4} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{1DD25EF5-DC69-4287-B3C5-B2CE101257A2} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{70180D74-7902-45D4-9A50-C02EAE0B5CF9} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{29AC8A68-D5EC-43F5-B2CC-72A75545E418} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{DEB4B073-4EAA-49FD-9D43-F0F8CB930E7A} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{4F252332-CA77-41DE-95A8-9DF38A81D675} = {98B731EE-4FC0-4482-A069-BCBA25497871}
{AB9A5C22-10CC-4EE0-A808-FB1DC9E24247} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
{D6351587-CAF6-4CB6-A2BD-5368E69F297C} = {F01F8595-5FD7-4506-8469-F4A5522DACC1}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0AA30275-0F38-4A7D-B645-F5505178DDE8}
EndGlobalSection
EndGlobal