mirror of
https://github.com/Sonarr/Sonarr
synced 2025-03-07 03:59:03 +00:00
Add v5 API
This commit is contained in:
parent
ea5231abef
commit
ed1b17005f
15 changed files with 454 additions and 134 deletions
README.md
frontend/src/Helpers/Hooks
src
NzbDrone.Host
Sonarr.Api.V5
Series
AlternateTitleResource.csSeasonResource.csSeasonStatisticsResource.csSeriesLookupController.csSeriesResource.csSeriesStatisticsResource.cs
Sonarr.Api.V5.csprojSonarr.Http
Sonarr.sln
|
@ -12,7 +12,7 @@ Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS fee
|
|||
- [Download/Installation](https://sonarr.tv/#downloads-v3)
|
||||
- [FAQ](https://wiki.servarr.com/sonarr/faq)
|
||||
- [Wiki](https://wiki.servarr.com/Sonarr)
|
||||
- [v4 Beta API Documentation](https://sonarr.tv/docs/api)
|
||||
- [API Documentation](https://sonarr.tv/docs/api)
|
||||
- [Donate](https://sonarr.tv/donate)
|
||||
|
||||
## Support
|
||||
|
|
|
@ -35,7 +35,7 @@ interface QueryOptions<T> {
|
|||
| undefined;
|
||||
}
|
||||
|
||||
const apiRoot = window.Sonarr.apiRoot;
|
||||
const apiRoot = '/api/v5'; // window.Sonarr.apiRoot;
|
||||
|
||||
function useApiQuery<T>(options: QueryOptions<T>) {
|
||||
const { path, headers } = useMemo(() => {
|
||||
|
|
|
@ -39,6 +39,7 @@ namespace NzbDrone.Host
|
|||
"Sonarr.Core",
|
||||
"Sonarr.SignalR",
|
||||
"Sonarr.Api.V3",
|
||||
"Sonarr.Api.V5",
|
||||
"Sonarr.Http"
|
||||
};
|
||||
|
||||
|
|
|
@ -1,27 +1,28 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.15" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.1" />
|
||||
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
|
||||
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Common\Sonarr.Common.csproj" />
|
||||
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />
|
||||
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
|
||||
<ProjectReference Include="..\Sonarr.Api.V3\Sonarr.Api.V3.csproj" />
|
||||
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Interop.NetFwTypeLib">
|
||||
<HintPath>..\Libraries\Interop.NetFwTypeLib.dll</HintPath>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.15" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="6.6.2" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.1" />
|
||||
<PackageReference Include="DryIoc.dll" Version="5.4.3" />
|
||||
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="6.2.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Common\Sonarr.Common.csproj" />
|
||||
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />
|
||||
<ProjectReference Include="..\NzbDrone.SignalR\Sonarr.SignalR.csproj" />
|
||||
<ProjectReference Include="..\Sonarr.Api.V3\Sonarr.Api.V3.csproj" />
|
||||
<ProjectReference Include="..\Sonarr.Api.V5\Sonarr.Api.V5.csproj" />
|
||||
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Interop.NetFwTypeLib">
|
||||
<HintPath>..\Libraries\Interop.NetFwTypeLib.dll</HintPath>
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
|
@ -25,6 +25,7 @@ using NzbDrone.Host.AccessControl;
|
|||
using NzbDrone.Http.Authentication;
|
||||
using NzbDrone.SignalR;
|
||||
using Sonarr.Api.V3.System;
|
||||
using Sonarr.Api.V5.Series;
|
||||
using Sonarr.Http;
|
||||
using Sonarr.Http.Authentication;
|
||||
using Sonarr.Http.ClientSchema;
|
||||
|
@ -87,7 +88,10 @@ namespace NzbDrone.Host
|
|||
{
|
||||
options.ReturnHttpNotAcceptable = true;
|
||||
})
|
||||
|
||||
// Register all controllers from the API and HTTP projects
|
||||
.AddApplicationPart(typeof(SystemController).Assembly)
|
||||
.AddApplicationPart(typeof(SeriesLookupController).Assembly)
|
||||
.AddApplicationPart(typeof(StaticResourceController).Assembly)
|
||||
.AddJsonOptions(options =>
|
||||
{
|
||||
|
@ -109,6 +113,18 @@ namespace NzbDrone.Host
|
|||
}
|
||||
});
|
||||
|
||||
c.SwaggerDoc("v5", new OpenApiInfo
|
||||
{
|
||||
Version = "5.0.0",
|
||||
Title = "Sonarr",
|
||||
Description = "Sonarr API docs - The v5 API docs apply to Sonarr v5 only.",
|
||||
License = new OpenApiLicense
|
||||
{
|
||||
Name = "GPL-3.0",
|
||||
Url = new Uri("https://github.com/Sonarr/Sonarr/blob/develop/LICENSE")
|
||||
}
|
||||
});
|
||||
|
||||
var apiKeyHeader = new OpenApiSecurityScheme
|
||||
{
|
||||
Name = "X-Api-Key",
|
||||
|
@ -265,7 +281,7 @@ namespace NzbDrone.Host
|
|||
app.UseMiddleware<StartingUpMiddleware>();
|
||||
app.UseMiddleware<CacheHeaderMiddleware>();
|
||||
app.UseMiddleware<IfModifiedMiddleware>();
|
||||
app.UseMiddleware<BufferingMiddleware>(new List<string> { "/api/v3/command" });
|
||||
app.UseMiddleware<BufferingMiddleware>(new List<string> { "/api/v3/command", "/api/v5/command" });
|
||||
|
||||
app.UseWebSockets();
|
||||
|
||||
|
|
35
src/Sonarr.Api.V5/Series/AlternateTitleResource.cs
Normal file
35
src/Sonarr.Api.V5/Series/AlternateTitleResource.cs
Normal file
|
@ -0,0 +1,35 @@
|
|||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.DataAugmentation.Scene;
|
||||
|
||||
namespace Sonarr.Api.V5.Series;
|
||||
|
||||
public class AlternateTitleResource
|
||||
{
|
||||
public string? Title { get; set; }
|
||||
public int? SeasonNumber { get; set; }
|
||||
public int? SceneSeasonNumber { get; set; }
|
||||
public string? SceneOrigin { get; set; }
|
||||
public string? Comment { get; set; }
|
||||
}
|
||||
|
||||
public static class AlternateTitleResourceMapper
|
||||
{
|
||||
public static AlternateTitleResource ToResource(this SceneMapping sceneMapping)
|
||||
{
|
||||
var comment = sceneMapping.Comment;
|
||||
|
||||
if (comment.IsNullOrWhiteSpace() && sceneMapping.FilterRegex.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
comment = "Limited matching";
|
||||
}
|
||||
|
||||
return new AlternateTitleResource
|
||||
{
|
||||
Title = sceneMapping.Title,
|
||||
SeasonNumber = sceneMapping.SeasonNumber,
|
||||
SceneSeasonNumber = sceneMapping.SceneSeasonNumber,
|
||||
SceneOrigin = sceneMapping.SceneOrigin,
|
||||
Comment = comment
|
||||
};
|
||||
}
|
||||
}
|
44
src/Sonarr.Api.V5/Series/SeasonResource.cs
Normal file
44
src/Sonarr.Api.V5/Series/SeasonResource.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using NzbDrone.Core.MediaCover;
|
||||
using NzbDrone.Core.Tv;
|
||||
|
||||
namespace Sonarr.Api.V5.Series;
|
||||
|
||||
public class SeasonResource
|
||||
{
|
||||
public int SeasonNumber { get; set; }
|
||||
public bool Monitored { get; set; }
|
||||
public SeasonStatisticsResource? Statistics { get; set; }
|
||||
public List<MediaCover>? Images { get; set; }
|
||||
}
|
||||
|
||||
public static class SeasonResourceMapper
|
||||
{
|
||||
public static SeasonResource ToResource(this Season model, bool includeImages = false)
|
||||
{
|
||||
return new SeasonResource
|
||||
{
|
||||
SeasonNumber = model.SeasonNumber,
|
||||
Monitored = model.Monitored,
|
||||
Images = includeImages ? model.Images : null
|
||||
};
|
||||
}
|
||||
|
||||
public static Season ToModel(this SeasonResource resource)
|
||||
{
|
||||
return new Season
|
||||
{
|
||||
SeasonNumber = resource.SeasonNumber,
|
||||
Monitored = resource.Monitored
|
||||
};
|
||||
}
|
||||
|
||||
public static List<SeasonResource> ToResource(this IEnumerable<Season> models, bool includeImages = false)
|
||||
{
|
||||
return models.Select(s => ToResource(s, includeImages)).ToList();
|
||||
}
|
||||
|
||||
public static List<Season> ToModel(this IEnumerable<SeasonResource> resources)
|
||||
{
|
||||
return resources.Select(ToModel).ToList();
|
||||
}
|
||||
}
|
44
src/Sonarr.Api.V5/Series/SeasonStatisticsResource.cs
Normal file
44
src/Sonarr.Api.V5/Series/SeasonStatisticsResource.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
using NzbDrone.Core.SeriesStats;
|
||||
|
||||
namespace Sonarr.Api.V5.Series;
|
||||
|
||||
public class SeasonStatisticsResource
|
||||
{
|
||||
public DateTime? NextAiring { get; set; }
|
||||
public DateTime? PreviousAiring { get; set; }
|
||||
public int EpisodeFileCount { get; set; }
|
||||
public int EpisodeCount { get; set; }
|
||||
public int TotalEpisodeCount { get; set; }
|
||||
public long SizeOnDisk { get; set; }
|
||||
public List<string>? ReleaseGroups { get; set; }
|
||||
|
||||
public decimal PercentOfEpisodes
|
||||
{
|
||||
get
|
||||
{
|
||||
if (EpisodeCount == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (decimal)EpisodeFileCount / (decimal)EpisodeCount * 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class SeasonStatisticsResourceMapper
|
||||
{
|
||||
public static SeasonStatisticsResource ToResource(this SeasonStatistics model)
|
||||
{
|
||||
return new SeasonStatisticsResource
|
||||
{
|
||||
NextAiring = model.NextAiring,
|
||||
PreviousAiring = model.PreviousAiring,
|
||||
EpisodeFileCount = model.EpisodeFileCount,
|
||||
EpisodeCount = model.EpisodeCount,
|
||||
TotalEpisodeCount = model.TotalEpisodeCount,
|
||||
SizeOnDisk = model.SizeOnDisk,
|
||||
ReleaseGroups = model.ReleaseGroups
|
||||
};
|
||||
}
|
||||
}
|
52
src/Sonarr.Api.V5/Series/SeriesLookupController.cs
Normal file
52
src/Sonarr.Api.V5/Series/SeriesLookupController.cs
Normal file
|
@ -0,0 +1,52 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using NzbDrone.Core.MediaCover;
|
||||
using NzbDrone.Core.MetadataSource;
|
||||
using NzbDrone.Core.Organizer;
|
||||
using NzbDrone.Core.SeriesStats;
|
||||
using Sonarr.Http;
|
||||
|
||||
namespace Sonarr.Api.V5.Series;
|
||||
|
||||
[V5ApiController("series/lookup")]
|
||||
public class SeriesLookupController : Controller
|
||||
{
|
||||
private readonly ISearchForNewSeries _searchProxy;
|
||||
private readonly IBuildFileNames _fileNameBuilder;
|
||||
private readonly IMapCoversToLocal _coverMapper;
|
||||
|
||||
public SeriesLookupController(ISearchForNewSeries searchProxy, IBuildFileNames fileNameBuilder, IMapCoversToLocal coverMapper)
|
||||
{
|
||||
_searchProxy = searchProxy;
|
||||
_fileNameBuilder = fileNameBuilder;
|
||||
_coverMapper = coverMapper;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public IEnumerable<SeriesResource> Search([FromQuery] string term)
|
||||
{
|
||||
var tvDbResults = _searchProxy.SearchForNewSeries(term);
|
||||
return MapToResource(tvDbResults);
|
||||
}
|
||||
|
||||
private IEnumerable<SeriesResource> MapToResource(IEnumerable<NzbDrone.Core.Tv.Series> series)
|
||||
{
|
||||
foreach (var currentSeries in series)
|
||||
{
|
||||
var resource = currentSeries.ToResource();
|
||||
|
||||
_coverMapper.ConvertToLocalUrls(resource.Id, resource.Images);
|
||||
|
||||
var poster = currentSeries.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster);
|
||||
|
||||
if (poster != null)
|
||||
{
|
||||
resource.RemotePoster = poster.RemoteUrl;
|
||||
}
|
||||
|
||||
resource.Folder = _fileNameBuilder.GetSeriesFolder(currentSeries);
|
||||
resource.Statistics = new SeriesStatistics().ToResource(resource.Seasons);
|
||||
|
||||
yield return resource;
|
||||
}
|
||||
}
|
||||
}
|
159
src/Sonarr.Api.V5/Series/SeriesResource.cs
Normal file
159
src/Sonarr.Api.V5/Series/SeriesResource.cs
Normal file
|
@ -0,0 +1,159 @@
|
|||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Languages;
|
||||
using NzbDrone.Core.MediaCover;
|
||||
using NzbDrone.Core.Tv;
|
||||
using Sonarr.Http.REST;
|
||||
|
||||
namespace Sonarr.Api.V5.Series;
|
||||
|
||||
public class SeriesResource : RestResource
|
||||
{
|
||||
public string? Title { get; set; }
|
||||
public List<AlternateTitleResource>? AlternateTitles { get; set; }
|
||||
public string? SortTitle { get; set; }
|
||||
public SeriesStatusType Status { get; set; }
|
||||
public bool Ended => Status == SeriesStatusType.Ended;
|
||||
public string? ProfileName { get; set; }
|
||||
public string? Overview { get; set; }
|
||||
public DateTime? NextAiring { get; set; }
|
||||
public DateTime? PreviousAiring { get; set; }
|
||||
public string? Network { get; set; }
|
||||
public string? AirTime { get; set; }
|
||||
public List<MediaCover>? Images { get; set; }
|
||||
public Language? OriginalLanguage { get; set; }
|
||||
public string? RemotePoster { get; set; }
|
||||
public List<SeasonResource>? Seasons { get; set; }
|
||||
public int Year { get; set; }
|
||||
public string? Path { get; set; }
|
||||
public int QualityProfileId { get; set; }
|
||||
public bool SeasonFolder { get; set; }
|
||||
public bool Monitored { get; set; }
|
||||
public NewItemMonitorTypes MonitorNewItems { get; set; }
|
||||
public bool UseSceneNumbering { get; set; }
|
||||
public int Runtime { get; set; }
|
||||
public int TvdbId { get; set; }
|
||||
public int TvRageId { get; set; }
|
||||
public int TvMazeId { get; set; }
|
||||
public int TmdbId { get; set; }
|
||||
public DateTime? FirstAired { get; set; }
|
||||
public DateTime? LastAired { get; set; }
|
||||
public SeriesTypes SeriesType { get; set; }
|
||||
public string? CleanTitle { get; set; }
|
||||
public string? ImdbId { get; set; }
|
||||
public string? TitleSlug { get; set; }
|
||||
public string? RootFolderPath { get; set; }
|
||||
public string? Folder { get; set; }
|
||||
public string? Certification { get; set; }
|
||||
public List<string>? Genres { get; set; }
|
||||
public HashSet<int>? Tags { get; set; }
|
||||
public DateTime Added { get; set; }
|
||||
public AddSeriesOptions? AddOptions { get; set; }
|
||||
public Ratings? Ratings { get; set; }
|
||||
public SeriesStatisticsResource? Statistics { get; set; }
|
||||
public bool? EpisodesChanged { get; set; }
|
||||
}
|
||||
|
||||
public static class SeriesResourceMapper
|
||||
{
|
||||
public static SeriesResource ToResource(this NzbDrone.Core.Tv.Series model, bool includeSeasonImages = false)
|
||||
{
|
||||
return new SeriesResource
|
||||
{
|
||||
Id = model.Id,
|
||||
Title = model.Title,
|
||||
SortTitle = model.SortTitle,
|
||||
Status = model.Status,
|
||||
Overview = model.Overview,
|
||||
Network = model.Network,
|
||||
AirTime = model.AirTime,
|
||||
Images = model.Images.JsonClone(),
|
||||
Seasons = model.Seasons.ToResource(includeSeasonImages),
|
||||
Year = model.Year,
|
||||
OriginalLanguage = model.OriginalLanguage,
|
||||
Path = model.Path,
|
||||
QualityProfileId = model.QualityProfileId,
|
||||
SeasonFolder = model.SeasonFolder,
|
||||
Monitored = model.Monitored,
|
||||
MonitorNewItems = model.MonitorNewItems,
|
||||
UseSceneNumbering = model.UseSceneNumbering,
|
||||
Runtime = model.Runtime,
|
||||
TvdbId = model.TvdbId,
|
||||
TvRageId = model.TvRageId,
|
||||
TvMazeId = model.TvMazeId,
|
||||
TmdbId = model.TmdbId,
|
||||
FirstAired = model.FirstAired,
|
||||
LastAired = model.LastAired,
|
||||
SeriesType = model.SeriesType,
|
||||
CleanTitle = model.CleanTitle,
|
||||
ImdbId = model.ImdbId,
|
||||
TitleSlug = model.TitleSlug,
|
||||
Certification = model.Certification,
|
||||
Genres = model.Genres,
|
||||
Tags = model.Tags,
|
||||
Added = model.Added,
|
||||
AddOptions = model.AddOptions,
|
||||
Ratings = model.Ratings
|
||||
};
|
||||
}
|
||||
|
||||
public static NzbDrone.Core.Tv.Series ToModel(this SeriesResource resource)
|
||||
{
|
||||
return new NzbDrone.Core.Tv.Series
|
||||
{
|
||||
Id = resource.Id,
|
||||
Title = resource.Title,
|
||||
SortTitle = resource.SortTitle,
|
||||
Status = resource.Status,
|
||||
Overview = resource.Overview,
|
||||
Network = resource.Network,
|
||||
AirTime = resource.AirTime,
|
||||
Images = resource.Images,
|
||||
Seasons = resource.Seasons?.ToModel() ?? new List<Season>(),
|
||||
Year = resource.Year,
|
||||
OriginalLanguage = resource.OriginalLanguage,
|
||||
Path = resource.Path,
|
||||
QualityProfileId = resource.QualityProfileId,
|
||||
SeasonFolder = resource.SeasonFolder,
|
||||
Monitored = resource.Monitored,
|
||||
MonitorNewItems = resource.MonitorNewItems,
|
||||
UseSceneNumbering = resource.UseSceneNumbering,
|
||||
Runtime = resource.Runtime,
|
||||
TvdbId = resource.TvdbId,
|
||||
TvRageId = resource.TvRageId,
|
||||
TvMazeId = resource.TvMazeId,
|
||||
TmdbId = resource.TmdbId,
|
||||
FirstAired = resource.FirstAired,
|
||||
SeriesType = resource.SeriesType,
|
||||
CleanTitle = resource.CleanTitle,
|
||||
ImdbId = resource.ImdbId,
|
||||
TitleSlug = resource.TitleSlug,
|
||||
RootFolderPath = resource.RootFolderPath,
|
||||
Certification = resource.Certification,
|
||||
Genres = resource.Genres,
|
||||
Tags = resource.Tags,
|
||||
Added = resource.Added,
|
||||
AddOptions = resource.AddOptions,
|
||||
Ratings = resource.Ratings
|
||||
};
|
||||
}
|
||||
|
||||
public static NzbDrone.Core.Tv.Series ToModel(this SeriesResource resource, NzbDrone.Core.Tv.Series series)
|
||||
{
|
||||
var updatedSeries = resource.ToModel();
|
||||
|
||||
series.ApplyChanges(updatedSeries);
|
||||
|
||||
return series;
|
||||
}
|
||||
|
||||
public static List<SeriesResource> ToResource(this IEnumerable<NzbDrone.Core.Tv.Series> series,
|
||||
bool includeSeasonImages = false)
|
||||
{
|
||||
return series.Select(s => ToResource(s, includeSeasonImages)).ToList();
|
||||
}
|
||||
|
||||
public static List<NzbDrone.Core.Tv.Series> ToModel(this IEnumerable<SeriesResource> resources)
|
||||
{
|
||||
return resources.Select(ToModel).ToList();
|
||||
}
|
||||
}
|
42
src/Sonarr.Api.V5/Series/SeriesStatisticsResource.cs
Normal file
42
src/Sonarr.Api.V5/Series/SeriesStatisticsResource.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
using NzbDrone.Core.SeriesStats;
|
||||
|
||||
namespace Sonarr.Api.V5.Series;
|
||||
|
||||
public class SeriesStatisticsResource
|
||||
{
|
||||
public int SeasonCount { get; set; }
|
||||
public int EpisodeFileCount { get; set; }
|
||||
public int EpisodeCount { get; set; }
|
||||
public int TotalEpisodeCount { get; set; }
|
||||
public long SizeOnDisk { get; set; }
|
||||
public List<string>? ReleaseGroups { get; set; }
|
||||
|
||||
public decimal PercentOfEpisodes
|
||||
{
|
||||
get
|
||||
{
|
||||
if (EpisodeCount == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return (decimal)EpisodeFileCount / (decimal)EpisodeCount * 100;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class SeriesStatisticsResourceMapper
|
||||
{
|
||||
public static SeriesStatisticsResource ToResource(this SeriesStatistics model, List<SeasonResource>? seasons)
|
||||
{
|
||||
return new SeriesStatisticsResource
|
||||
{
|
||||
SeasonCount = seasons?.Count(s => s.SeasonNumber > 0) ?? 0,
|
||||
EpisodeFileCount = model.EpisodeFileCount,
|
||||
EpisodeCount = model.EpisodeCount,
|
||||
TotalEpisodeCount = model.TotalEpisodeCount,
|
||||
SizeOnDisk = model.SizeOnDisk,
|
||||
ReleaseGroups = model.ReleaseGroups
|
||||
};
|
||||
}
|
||||
}
|
18
src/Sonarr.Api.V5/Sonarr.Api.V5.csproj
Normal file
18
src/Sonarr.Api.V5/Sonarr.Api.V5.csproj
Normal file
|
@ -0,0 +1,18 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0</TargetFrameworks>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>Sonarr.Api.V5</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="FluentValidation" Version="9.5.4" />
|
||||
<PackageReference Include="Ical.Net" Version="4.3.1" />
|
||||
<PackageReference Include="NLog" Version="5.3.4" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.6.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\NzbDrone.Core\Sonarr.Core.csproj" />
|
||||
<ProjectReference Include="..\Sonarr.Http\Sonarr.Http.csproj" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -11,8 +11,8 @@ namespace NzbDrone.Http
|
|||
{
|
||||
return new ApiInfoResource
|
||||
{
|
||||
Current = "v3",
|
||||
Deprecated = new List<string>()
|
||||
Current = "v5",
|
||||
Deprecated = new List<string> { "v3" }
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,4 +31,12 @@ namespace Sonarr.Http
|
|||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class V5ApiControllerAttribute : VersionedApiControllerAttribute
|
||||
{
|
||||
public V5ApiControllerAttribute(string resource = "[controller]")
|
||||
: base(5, resource)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
108
src/Sonarr.sln
108
src/Sonarr.sln
|
@ -75,6 +75,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Mono", "NzbDrone.Mon
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sonarr.Windows", "NzbDrone.Windows\Sonarr.Windows.csproj", "{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sonarr.Api.V5", "Sonarr.Api.V5\Sonarr.Api.V5.csproj", "{1A9DFC67-3712-47A5-8DCA-0BCAA95F9EDC}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Posix = Debug|Posix
|
||||
|
@ -83,316 +85,214 @@ Global
|
|||
Release|Windows = Release|Windows
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{3DCA7B58-B8B3-49AC-9D9E-56F4A0460976}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{FAFB5948-A222-4CF6-AD14-026BE7564802}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{CADDFCE0-7509-4430-8364-2074E1EEFCA2}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{193ADD3B-792B-4173-8E4C-5A3F8F0237F0}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{35388E8E-0CDB-4A84-AD16-E4B6EFDA5D97}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{BEC74619-DDBB-4FBA-B517-D3E20AFC9997}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{D18A5DEB-5102-4775-A1AF-B75DAAA8907B}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{CBF6B8B0-A015-413A-8C86-01238BB45770}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{8CEFECD0-A6C2-498F-98B1-3FBE5820F9AB}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{CC26800D-F67E-464B-88DE-8EB1A0C227A3}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{6BCE712F-846D-4846-9D1B-A66B858DA755}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{700D0B95-95CD-43F3-B6C9-FAA0FC1358D4}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{FF5EE3B6-913B-47CE-9CEB-11C51B4E1205}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{4CCC53CD-8D5E-4CC4-97D2-5C9312AC2BD7}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{F2BE0FDF-6E47-4827-A420-DD4EF82407F8}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{95C11A9E-56ED-456A-8447-2C89C1139266}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{D12F7F2F-8A3C-415F-88FA-6DD061A84869}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{7C2CC69F-5CA0-4E5C-85CB-983F9F6C3B36}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{80B51429-7A0E-46D6-BEE3-C80DCB1C4EAA}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{40D72824-7D02-4A77-9106-8FE0EEA2B997}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{7140FF1F-79BE-492F-9188-B21A050BF708}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{5370BFF7-1BD7-46BC-AF06-7D9EA5CDA1D6}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{C0EA1A40-91AD-4EEB-BD16-2DDDEBD20AE5}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{F3F63718-63C6-432F-BDDC-C960AD95EC82}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{22F71728-AB73-4774-8DC2-6D2D7734AE0C}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Windows.ActiveCfg = Debug|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Debug|Windows.Build.0 = Debug|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Posix.ActiveCfg = Release|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Posix.Build.0 = Release|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Windows.ActiveCfg = Release|Any CPU
|
||||
{4AE3B731-442E-4AF0-88A5-9FABEB685A0D}.Release|Windows.Build.0 = Release|Any CPU
|
||||
{1A9DFC67-3712-47A5-8DCA-0BCAA95F9EDC}.Debug|Posix.ActiveCfg = Debug|Any CPU
|
||||
{1A9DFC67-3712-47A5-8DCA-0BCAA95F9EDC}.Debug|Posix.Build.0 = Debug|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
Loading…
Add table
Reference in a new issue