diff --git a/.gitignore b/.gitignore index 8f89c7a..4534548 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ /house-plant-api/bin /house-plant-api/obj /house-plant-api/.vs +/SoilMoistureAPI/.vs +/SoilMoistureAPI/bin +/SoilMoistureAPI/obj diff --git a/SoilMoistureAPI/Controllers/DeviceController.cs b/SoilMoistureAPI/Controllers/DeviceController.cs new file mode 100644 index 0000000..fb0dd96 --- /dev/null +++ b/SoilMoistureAPI/Controllers/DeviceController.cs @@ -0,0 +1,115 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using SoilMoistureAPI.Data; +using SoilMoistureAPI.Models; +using System.Threading.Tasks; + +namespace SoilMoistureAPI.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class DeviceController : ControllerBase + { + private readonly SoilMoistureContext _context; + + public DeviceController(SoilMoistureContext context) + { + _context = context; + } + + // POST: api/Device + [HttpPost] + public async Task> CreateDevice(Device device) + { + if (device == null || string.IsNullOrEmpty(device.DeviceId)) + { + return BadRequest("Invalid device data."); + } + + // Check if device already exists + var existingDevice = await _context.Devices.FindAsync(device.DeviceId); + if (existingDevice != null) + { + return Conflict("Device with the same DeviceId already exists."); + } + + _context.Devices.Add(device); + await _context.SaveChangesAsync(); + + return CreatedAtAction(nameof(GetDevice), new { id = device.DeviceId }, device); + } + + // GET: api/Device/{id} + [HttpGet("{id}")] + public async Task> GetDevice(string id) + { + var device = await _context.Devices + .Include(d => d.SoilMoistures) + .FirstOrDefaultAsync(d => d.DeviceId == id); + + if (device == null) + { + return NotFound(); + } + + return device; + } + + // PUT: api/Device/{id}/nickname + [HttpPut("{id}/nickname")] + public async Task UpdateNickname(string id, [FromBody] string newNickname) + { + if (string.IsNullOrEmpty(newNickname)) + { + return BadRequest("Nickname cannot be empty."); + } + + var device = await _context.Devices.FindAsync(id); + if (device == null) + { + return NotFound("Device not found."); + } + + device.Nickname = newNickname; + _context.Entry(device).State = EntityState.Modified; + + try + { + await _context.SaveChangesAsync(); + return NoContent(); // 204 No Content + } + catch (DbUpdateConcurrencyException) + { + if (!DeviceExists(id)) + { + return NotFound("Device not found."); + } + else + { + throw; + } + } + } + + // DELETE: api/Device/{id} + [HttpDelete("{id}")] + public async Task DeleteDevice(string id) + { + var device = await _context.Devices.FindAsync(id); + if (device == null) + { + return NotFound("Device not found."); + } + + _context.Devices.Remove(device); + await _context.SaveChangesAsync(); + + return NoContent(); // 204 No Content + } + + private bool DeviceExists(string id) + { + return _context.Devices.Any(e => e.DeviceId == id); + } + } +} diff --git a/SoilMoistureAPI/Controllers/SoilMoistureController.cs b/SoilMoistureAPI/Controllers/SoilMoistureController.cs new file mode 100644 index 0000000..e93da9c --- /dev/null +++ b/SoilMoistureAPI/Controllers/SoilMoistureController.cs @@ -0,0 +1,96 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.EntityFrameworkCore; +using SoilMoistureAPI.Data; +using SoilMoistureAPI.Models; + +namespace SoilMoistureAPI.Controllers +{ + [Route("api/[controller]")] + [ApiController] + public class SoilMoistureController : ControllerBase + { + private readonly SoilMoistureContext _context; + + public SoilMoistureController(SoilMoistureContext context) + { + _context = context; + } + + // POST: api/SoilMoisture + [HttpPost] + public async Task PostSoilMoisture([FromBody] SoilMoistureDto data) + { + if (data == null) + { + return BadRequest("No data received."); + } + + // Basic validation: ensure required fields are provided. + if (string.IsNullOrEmpty(data.DeviceId)) + { + ModelState.AddModelError("DeviceId", "The DeviceId field is required."); + } + // You might also want to validate moisture level here. + if (!ModelState.IsValid) + { + return BadRequest(ModelState); + } + + // Check if a record for this device already exists + var existingRecord = await _context.SoilMoistures + .Include(sm => sm.Device) + .FirstOrDefaultAsync(sm => sm.DeviceId == data.DeviceId); + + if (existingRecord != null) + { + // Update the existing record + existingRecord.MoistureLevel = data.MoistureLevel; + existingRecord.Timestamp = DateTime.UtcNow; + + _context.SoilMoistures.Update(existingRecord); + await _context.SaveChangesAsync(); + return Ok(existingRecord); + } + else + { + // Create a new record + var newRecord = new SoilMoisture + { + DeviceId = data.DeviceId, + MoistureLevel = data.MoistureLevel, + Timestamp = DateTime.UtcNow, + Device = new Device + { + DeviceId = data.DeviceId, + Nickname = "Dave" + } + }; + + _context.SoilMoistures.Add(newRecord); + await _context.SaveChangesAsync(); + return Ok(newRecord); + } + } + + // GET: api/SoilMoisture/5 + [HttpGet("{id}")] + public async Task> GetSoilMoisture(int id) + { + var soilMoisture = await _context.SoilMoistures.FindAsync(id); + + if (soilMoisture == null) + { + return NotFound(); + } + + return soilMoisture; + } + + // GET: api/SoilMoisture + [HttpGet] + public async Task>> GetSoilMoistures() + { + return await _context.SoilMoistures.ToListAsync(); + } + } +} \ No newline at end of file diff --git a/house-plant-api/devices.db-shm b/SoilMoistureAPI/Data/SoilMoisture.db similarity index 86% rename from house-plant-api/devices.db-shm rename to SoilMoistureAPI/Data/SoilMoisture.db index 4710d5b..747bf13 100644 Binary files a/house-plant-api/devices.db-shm and b/SoilMoistureAPI/Data/SoilMoisture.db differ diff --git a/SoilMoistureAPI/Data/SoilMoistureContext.cs b/SoilMoistureAPI/Data/SoilMoistureContext.cs new file mode 100644 index 0000000..c3422fd --- /dev/null +++ b/SoilMoistureAPI/Data/SoilMoistureContext.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore; +using SoilMoistureAPI.Models; + +namespace SoilMoistureAPI.Data +{ + public class SoilMoistureContext : DbContext + { + public SoilMoistureContext(DbContextOptions options) : base(options) + { + } + + public DbSet SoilMoistures { get; set; } + public DbSet Devices { get; set; } // New DbSet for Devices + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + // Configure the primary key for Device + modelBuilder.Entity() + .HasKey(d => d.DeviceId); + + // Configure one-to-many relationship + modelBuilder.Entity() + .HasMany(d => d.SoilMoistures) + .WithOne(s => s.Device) + .HasForeignKey(s => s.DeviceId) + .OnDelete(DeleteBehavior.Cascade); + } + } +} diff --git a/SoilMoistureAPI/Dockerfile b/SoilMoistureAPI/Dockerfile new file mode 100644 index 0000000..fae15cb --- /dev/null +++ b/SoilMoistureAPI/Dockerfile @@ -0,0 +1,34 @@ +# Use the official .NET SDK image for building the application +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build +WORKDIR /src + +# Copy the csproj file and restore dependencies +COPY ["SoilMoistureAPI.csproj", "./"] +RUN dotnet restore "SoilMoistureAPI.csproj" + +# Copy the remaining source code and build the project +COPY . . +RUN dotnet build "SoilMoistureAPI.csproj" -c Release -o /app/build + +# Publish the application to the /app/publish directory +FROM build AS publish +RUN dotnet publish "SoilMoistureAPI.csproj" -c Release -o /app/publish + +# Use the official ASP.NET Core runtime image for running the application +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final +WORKDIR /app +COPY --from=publish /app/publish . + +#RUN groupadd --gid "1000" "plantpal" && useradd --uid "1000" --gid "1000" -m "plantpal" +#RUN chown plantpal:1000 /app +#USER plantpal + +# Expose port 80 (HTTP) and 443 (HTTPS) if needed +EXPOSE 80 +#EXPOSE 443 + +# Set environment variables +ENV ASPNETCORE_URLS=http://+:80 + +# Set the entry point to run the application +ENTRYPOINT ["dotnet", "SoilMoistureAPI.dll"] diff --git a/SoilMoistureAPI/Middleware/ApiKeyMiddleware.cs b/SoilMoistureAPI/Middleware/ApiKeyMiddleware.cs new file mode 100644 index 0000000..11f6b41 --- /dev/null +++ b/SoilMoistureAPI/Middleware/ApiKeyMiddleware.cs @@ -0,0 +1,44 @@ +/* +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; +using System.Linq; // Ensure this namespace is included +using System.Threading.Tasks; + +namespace SoilMoistureAPI.Middleware +{ + public class ApiKeyMiddleware + { + private readonly RequestDelegate _next; + private const string APIKEYNAME = "X-API-KEY"; + private readonly string[] _validApiKeys; + + public ApiKeyMiddleware(RequestDelegate next, IConfiguration configuration) + { + _next = next; + _validApiKeys = configuration.GetSection("ApiSettings:ValidApiKeys").Get(); + } + + public async Task InvokeAsync(HttpContext context) + { + if (!context.Request.Headers.TryGetValue(APIKEYNAME, out var extractedApiKey)) + { + context.Response.StatusCode = 401; // Unauthorized + await context.Response.WriteAsync("API Key was not provided."); + return; + } + + // Convert StringValues to string using FirstOrDefault() + var apiKey = extractedApiKey.FirstOrDefault(); + + if (string.IsNullOrEmpty(apiKey) || !_validApiKeys.Contains(apiKey)) + { + context.Response.StatusCode = 403; // Forbidden + await context.Response.WriteAsync("Unauthorized client."); + return; + } + + await _next(context); + } + } +} +*/ \ No newline at end of file diff --git a/SoilMoistureAPI/Migrations/20250109170429_InitialCreate.Designer.cs b/SoilMoistureAPI/Migrations/20250109170429_InitialCreate.Designer.cs new file mode 100644 index 0000000..bf0617a --- /dev/null +++ b/SoilMoistureAPI/Migrations/20250109170429_InitialCreate.Designer.cs @@ -0,0 +1,79 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using SoilMoistureAPI.Data; + +#nullable disable + +namespace SoilMoistureAPI.Migrations +{ + [DbContext(typeof(SoilMoistureContext))] + [Migration("20250109170429_InitialCreate")] + partial class InitialCreate + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "9.0.0"); + + modelBuilder.Entity("SoilMoistureAPI.Models.Device", b => + { + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("Nickname") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.HasKey("DeviceId"); + + b.ToTable("Devices"); + }); + + modelBuilder.Entity("SoilMoistureAPI.Models.SoilMoisture", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DeviceId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("MoistureLevel") + .HasColumnType("REAL"); + + b.Property("Timestamp") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("DeviceId"); + + b.ToTable("SoilMoistures"); + }); + + modelBuilder.Entity("SoilMoistureAPI.Models.SoilMoisture", b => + { + b.HasOne("SoilMoistureAPI.Models.Device", "Device") + .WithMany("SoilMoistures") + .HasForeignKey("DeviceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("SoilMoistureAPI.Models.Device", b => + { + b.Navigation("SoilMoistures"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/SoilMoistureAPI/Migrations/20250109170429_InitialCreate.cs b/SoilMoistureAPI/Migrations/20250109170429_InitialCreate.cs new file mode 100644 index 0000000..69f344d --- /dev/null +++ b/SoilMoistureAPI/Migrations/20250109170429_InitialCreate.cs @@ -0,0 +1,63 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace SoilMoistureAPI.Migrations +{ + /// + public partial class InitialCreate : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Devices", + columns: table => new + { + DeviceId = table.Column(type: "TEXT", nullable: false), + Nickname = table.Column(type: "TEXT", maxLength: 100, nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Devices", x => x.DeviceId); + }); + + migrationBuilder.CreateTable( + name: "SoilMoistures", + columns: table => new + { + Id = table.Column(type: "INTEGER", nullable: false) + .Annotation("Sqlite:Autoincrement", true), + DeviceId = table.Column(type: "TEXT", nullable: false), + MoistureLevel = table.Column(type: "REAL", nullable: false), + Timestamp = table.Column(type: "TEXT", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_SoilMoistures", x => x.Id); + table.ForeignKey( + name: "FK_SoilMoistures_Devices_DeviceId", + column: x => x.DeviceId, + principalTable: "Devices", + principalColumn: "DeviceId", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateIndex( + name: "IX_SoilMoistures_DeviceId", + table: "SoilMoistures", + column: "DeviceId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "SoilMoistures"); + + migrationBuilder.DropTable( + name: "Devices"); + } + } +} diff --git a/SoilMoistureAPI/Migrations/SoilMoistureContextModelSnapshot.cs b/SoilMoistureAPI/Migrations/SoilMoistureContextModelSnapshot.cs new file mode 100644 index 0000000..2b60a24 --- /dev/null +++ b/SoilMoistureAPI/Migrations/SoilMoistureContextModelSnapshot.cs @@ -0,0 +1,76 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using SoilMoistureAPI.Data; + +#nullable disable + +namespace SoilMoistureAPI.Migrations +{ + [DbContext(typeof(SoilMoistureContext))] + partial class SoilMoistureContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "9.0.0"); + + modelBuilder.Entity("SoilMoistureAPI.Models.Device", b => + { + b.Property("DeviceId") + .HasColumnType("TEXT"); + + b.Property("Nickname") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("TEXT"); + + b.HasKey("DeviceId"); + + b.ToTable("Devices"); + }); + + modelBuilder.Entity("SoilMoistureAPI.Models.SoilMoisture", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("DeviceId") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("MoistureLevel") + .HasColumnType("REAL"); + + b.Property("Timestamp") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("DeviceId"); + + b.ToTable("SoilMoistures"); + }); + + modelBuilder.Entity("SoilMoistureAPI.Models.SoilMoisture", b => + { + b.HasOne("SoilMoistureAPI.Models.Device", "Device") + .WithMany("SoilMoistures") + .HasForeignKey("DeviceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Device"); + }); + + modelBuilder.Entity("SoilMoistureAPI.Models.Device", b => + { + b.Navigation("SoilMoistures"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/SoilMoistureAPI/Models/Device.cs b/SoilMoistureAPI/Models/Device.cs new file mode 100644 index 0000000..ae7b2ff --- /dev/null +++ b/SoilMoistureAPI/Models/Device.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; + +namespace SoilMoistureAPI.Models +{ + public class Device + { + [Key] + public string DeviceId { get; set; } // Primary Key + + [Required] + [MaxLength(100)] + public string Nickname { get; set; } + + // Navigation Property + public ICollection SoilMoistures { get; set; } + } +} diff --git a/SoilMoistureAPI/Models/DeviceDto.cs b/SoilMoistureAPI/Models/DeviceDto.cs new file mode 100644 index 0000000..da1360d --- /dev/null +++ b/SoilMoistureAPI/Models/DeviceDto.cs @@ -0,0 +1,8 @@ +namespace SoilMoistureAPI.Models +{ + public class DeviceDto + { + public string DeviceId { get; set; } + public string Nickname { get; set; } + } +} diff --git a/SoilMoistureAPI/Models/SoilMoisture.cs b/SoilMoistureAPI/Models/SoilMoisture.cs new file mode 100644 index 0000000..04f6288 --- /dev/null +++ b/SoilMoistureAPI/Models/SoilMoisture.cs @@ -0,0 +1,24 @@ +using System; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace SoilMoistureAPI.Models +{ + public class SoilMoisture + { + [Key] + public int Id { get; set; } + + [Required] + [ForeignKey("Device")] + public string DeviceId { get; set; } // Foreign Key + + [Required] + public float MoistureLevel { get; set; } + + public DateTime Timestamp { get; set; } = DateTime.UtcNow; + + // Navigation Property + public Device Device { get; set; } + } +} diff --git a/SoilMoistureAPI/Models/SoilMoistureDto.cs b/SoilMoistureAPI/Models/SoilMoistureDto.cs new file mode 100644 index 0000000..0a20f6e --- /dev/null +++ b/SoilMoistureAPI/Models/SoilMoistureDto.cs @@ -0,0 +1,8 @@ +namespace SoilMoistureAPI.Models +{ + public class SoilMoistureDto + { + public string DeviceId { get; set; } + public float MoistureLevel { get; set; } + } +} diff --git a/SoilMoistureAPI/Program.cs b/SoilMoistureAPI/Program.cs new file mode 100644 index 0000000..feac9a0 --- /dev/null +++ b/SoilMoistureAPI/Program.cs @@ -0,0 +1,70 @@ +using Microsoft.EntityFrameworkCore; +using SoilMoistureAPI.Data; +//using SoilMoistureAPI.Middleware; + +var builder = WebApplication.CreateBuilder(args); + +builder.WebHost.ConfigureKestrel(options => +{ + options.ListenAnyIP(80); // Listen on port 80 for HTTP + // Optionally, listen on port 443 for HTTPS + /* + options.ListenAnyIP(443, listenOptions => + { + listenOptions.UseHttps(); + }); + */ +}); + +// Add services to the container. +builder.Services.AddControllers(); + +// Configure CORS +builder.Services.AddCors(options => +{ + options.AddPolicy("AllowClient", + builder => + { + //builder.WithOrigins("http://localhost:3000", "http://soilmoisture_client:80") + builder.AllowAnyOrigin() + .AllowAnyHeader() + .AllowAnyMethod(); + }); +}); + +// Register the DB context with SQLite +builder.Services.AddDbContext(options => + options.UseSqlite(builder.Configuration.GetConnectionString("DefaultConnection"))); + +// Add Swagger/OpenAPI support +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); + +var app = builder.Build(); + +// Apply migrations at startup +using (var scope = app.Services.CreateScope()) +{ + var db = scope.ServiceProvider.GetRequiredService(); + db.Database.Migrate(); +} + +// Use API Key Middleware +//app.UseMiddleware(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.UseCors("AllowClient"); + +app.UseAuthorization(); + +app.MapControllers(); + +app.Run(); diff --git a/SoilMoistureAPI/Properties/launchSettings.json b/SoilMoistureAPI/Properties/launchSettings.json new file mode 100644 index 0000000..1bc7ce7 --- /dev/null +++ b/SoilMoistureAPI/Properties/launchSettings.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5115", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "https://localhost:7274;http://localhost:5115", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/house-plant-api/house-plant-api.csproj b/SoilMoistureAPI/SoilMoistureAPI.csproj similarity index 51% rename from house-plant-api/house-plant-api.csproj rename to SoilMoistureAPI/SoilMoistureAPI.csproj index a839dc7..a23c298 100644 --- a/house-plant-api/house-plant-api.csproj +++ b/SoilMoistureAPI/SoilMoistureAPI.csproj @@ -1,23 +1,23 @@ - + - net8.0-windows10.0.26100.0 + net9.0 enable enable - house_plant_api - + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + - - - + diff --git a/SoilMoistureAPI/SoilMoistureAPI.csproj.user b/SoilMoistureAPI/SoilMoistureAPI.csproj.user new file mode 100644 index 0000000..983ecfc --- /dev/null +++ b/SoilMoistureAPI/SoilMoistureAPI.csproj.user @@ -0,0 +1,9 @@ + + + + http + + + ProjectDebugger + + \ No newline at end of file diff --git a/SoilMoistureAPI/SoilMoistureAPI.http b/SoilMoistureAPI/SoilMoistureAPI.http new file mode 100644 index 0000000..0f34566 --- /dev/null +++ b/SoilMoistureAPI/SoilMoistureAPI.http @@ -0,0 +1,64 @@ +### Base URL +@baseUrl = http://localhost:80 + +### Common Headers +@apiKey = Your_API_Key_1 + +### 1. Device Management + +#### 1.1 Create a New Device +POST {{baseUrl}}/api/Device +Content-Type: application/json +X-API-KEY: {{apiKey}} + +{ + "DeviceId": "ESP32_Device_01", + "Nickname": "Greenhouse Sensor" +} + +#### 1.2 Get Device Details +GET {{baseUrl}}/api/Device/ESP32_Device_01 +X-API-KEY: {{apiKey}} + +#### 1.3 Update Device Nickname +PUT {{baseUrl}}/api/Device/ESP32_Device_01/nickname +Content-Type: application/json +X-API-KEY: {{apiKey}} + +"Greenhouse Sensor v2" + +#### 1.4 Delete a Device +DELETE {{baseUrl}}/api/Device/ESP32_Device_01 +X-API-KEY: {{apiKey}} + +### 2. Soil Moisture Data Management + +#### 2.1 Post New Soil Moisture Data +POST {{baseUrl}}/api/SoilMoisture +Content-Type: application/json +X-API-KEY: {{apiKey}} + +{ + "DeviceId": "ESP32_Device_01", + "MoistureLevel": 75.5 +} + +#### 2.2 Get All Soil Moisture Readings +GET {{baseUrl}}/api/SoilMoisture?pageNumber=1&pageSize=10 +X-API-KEY: {{apiKey}} + +#### 2.3 Get Specific Soil Moisture Reading +GET {{baseUrl}}/api/SoilMoisture/1 +X-API-KEY: {{apiKey}} + +### 3. Health Check + +#### 3.1 Get Health Status +GET {{baseUrl}}/health +X-API-KEY: {{apiKey}} + +### 4. Swagger Documentation Access + +#### 4.1 Access Swagger UI +GET {{baseUrl}}/swagger/index.html +X-API-KEY: {{apiKey}} diff --git a/SoilMoistureAPI/SoilMoistureAPI.sln b/SoilMoistureAPI/SoilMoistureAPI.sln new file mode 100644 index 0000000..c4d3296 --- /dev/null +++ b/SoilMoistureAPI/SoilMoistureAPI.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.12.35527.113 d17.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SoilMoistureAPI", "SoilMoistureAPI.csproj", "{CE9A98F2-99B9-488A-B047-A0DB7F065769}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CE9A98F2-99B9-488A-B047-A0DB7F065769}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CE9A98F2-99B9-488A-B047-A0DB7F065769}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CE9A98F2-99B9-488A-B047-A0DB7F065769}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CE9A98F2-99B9-488A-B047-A0DB7F065769}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SoilMoistureAPI/SoilMoistureAPI.xml b/SoilMoistureAPI/SoilMoistureAPI.xml new file mode 100644 index 0000000..8d33998 --- /dev/null +++ b/SoilMoistureAPI/SoilMoistureAPI.xml @@ -0,0 +1,32 @@ + + +False +HomeAutomation: +2025-01-08 + +[b]8.JAN.2025:[/b]Added[br] + +http://forums.unraid.net +PlanyPal API + +PlantPal's API[br][br] + +localhost:5000/soilmoistureapi-api +https://github.com/ +localhost:5000/soilmoistureapi-api +true +false + + bridge + + + 3016 + 80 + tcp + + + +http://[IP]:[PORT:3016] +http://i.imgur.com/zXpacAF.png +http://i.imgur.com/zXpacAF.png + \ No newline at end of file diff --git a/house-plant-api/appsettings.Development.json b/SoilMoistureAPI/appsettings.Development.json similarity index 100% rename from house-plant-api/appsettings.Development.json rename to SoilMoistureAPI/appsettings.Development.json diff --git a/SoilMoistureAPI/appsettings.json b/SoilMoistureAPI/appsettings.json new file mode 100644 index 0000000..5264d76 --- /dev/null +++ b/SoilMoistureAPI/appsettings.json @@ -0,0 +1,12 @@ +{ + "ConnectionStrings": { + "DefaultConnection": "Data Source=app/data/SoilMoisture.db" + }, + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*" +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..4dba554 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3.8' + +services: + api: + build: + context: ./SoilMoistureAPI + dockerfile: Dockerfile + container_name: soilmoisture_api + ports: + - "8000:80" # Host port 8000 maps to container port 80 (HTTP) + volumes: + - ./SoilMoistureAPI/data:/app/data + environment: + - ASPNETCORE_URLS=http://+:80 + - ConnectionStrings__DefaultConnection=Data Source=/app/data/SoilMoisture.db + networks: + - soilmoisture_network + restart: unless-stopped + + client: + build: + context: ./plant-browser + dockerfile: Dockerfile + container_name: soilmoisture_client + ports: + - "3000:80" # Host port 3000 maps to container port 80 (NGINX) + depends_on: + - api + networks: + - soilmoisture_network + restart: unless-stopped + +networks: + soilmoisture_network: + driver: bridge diff --git a/house-plant-api/.vs/house-plant-api/DesignTimeBuild/.dtbcache.v2 b/house-plant-api/.vs/house-plant-api/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index ca982bc..0000000 Binary files a/house-plant-api/.vs/house-plant-api/DesignTimeBuild/.dtbcache.v2 and /dev/null differ diff --git a/house-plant-api/.vs/house-plant-api/v17/.futdcache.v1 b/house-plant-api/.vs/house-plant-api/v17/.futdcache.v1 deleted file mode 100644 index 60dbf2f..0000000 Binary files a/house-plant-api/.vs/house-plant-api/v17/.futdcache.v1 and /dev/null differ diff --git a/house-plant-api/.vs/house-plant-api/v17/.suo b/house-plant-api/.vs/house-plant-api/v17/.suo deleted file mode 100644 index f6585ae..0000000 Binary files a/house-plant-api/.vs/house-plant-api/v17/.suo and /dev/null differ diff --git a/house-plant-api/Context/AppDbContext.cs b/house-plant-api/Context/AppDbContext.cs deleted file mode 100644 index 4b96810..0000000 --- a/house-plant-api/Context/AppDbContext.cs +++ /dev/null @@ -1,31 +0,0 @@ -namespace house_plant_api.Context -{ - using house_plant_api.Models; - using Microsoft.EntityFrameworkCore; - - public class AppDbContext : DbContext - { - public DbSet Devices { get; set; } - - public AppDbContext(DbContextOptions options) : base(options) { } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - base.OnModelCreating(modelBuilder); - - modelBuilder.Entity() - .HasKey(d => d.Id); - - modelBuilder.Entity() - .Property(d => d.Name) - .IsRequired(); - - modelBuilder.Entity() - .Property(d => d.Nickname); - - modelBuilder.Entity() - .Property(d => d.Uuid) - .IsRequired(); - } - } -} diff --git a/house-plant-api/Controllers/SoilMoistureController.cs b/house-plant-api/Controllers/SoilMoistureController.cs deleted file mode 100644 index 3cdd114..0000000 --- a/house-plant-api/Controllers/SoilMoistureController.cs +++ /dev/null @@ -1,108 +0,0 @@ -namespace house_plant_api.Controllers -{ - using house_plant_api.Context; - using Microsoft.AspNetCore.Mvc; - using Microsoft.EntityFrameworkCore; - using System.Linq; - using System.Threading.Tasks; - - [ApiController] - [Route("api/[controller]")] - public class DevicesController : ControllerBase - { - private readonly IDbContextFactory _dbContextFactory; - - public DevicesController(IDbContextFactory dbContextFactory) - { - _dbContextFactory = dbContextFactory; - } - - // GET: api/devices - [HttpGet] - public async Task GetDevices() - { - using var dbContext = _dbContextFactory.CreateDbContext(); - var devices = await dbContext.Devices.ToListAsync(); - var result = devices.Select(d => new - { - d.Name, - d.Uuid, - d.Nickname, - Moisture = d.Moisture.HasValue ? $"{d.Moisture}%" : "N/A", - d.LastSeen - }); - return Ok(result); - } - - // GET: api/devices/{name} - [HttpGet("{name}")] - public async Task GetDevice(string name) - { - using var dbContext = _dbContextFactory.CreateDbContext(); - var device = await dbContext.Devices.FirstOrDefaultAsync(d => d.Name == name); - - if (device == null) - return NotFound(new { Error = $"Device '{name}' not found." }); - - return Ok(new - { - device.Name, - device.Uuid, - device.Nickname, - Moisture = device.Moisture.HasValue ? $"{device.Moisture}%" : "N/A", - device.LastSeen - }); - } - - // DELETE: api/devices/{name} - [HttpDelete("{name}")] - public async Task DeleteDevice(string name) - { - using var dbContext = _dbContextFactory.CreateDbContext(); - var device = await dbContext.Devices.FirstOrDefaultAsync(d => d.Name == name); - - if (device == null) - return NotFound(new { Error = $"Device '{name}' not found in database." }); - - dbContext.Devices.Remove(device); - await dbContext.SaveChangesAsync(); - - return Ok(new { Message = $"Device '{name}' removed successfully." }); - } - - // PUT: api/devices/{name}/nickname - [HttpPut("{name}/nickname")] - public async Task UpdateNickname(string name, [FromBody] NicknameUpdateRequest request) - { - // Find the device by Name - using var dbContext = _dbContextFactory.CreateDbContext(); - var device = await dbContext.Devices.FirstOrDefaultAsync(d => d.Name == name); - - if (device == null) - { - return NotFound(new { Error = $"Device '{name}' not found." }); - } - - // Update the Nickname - device.Nickname = request.Nickname; - - // Save changes - dbContext.Devices.Update(device); - await dbContext.SaveChangesAsync(); - - return Ok(new - { - Message = $"Nickname updated successfully for device '{name}'.", - Nickname = device.Nickname - }); - } - - } - - // A simple DTO (Data Transfer Object) for updating the nickname - public class NicknameUpdateRequest - { - public string Nickname { get; set; } - } - -} diff --git a/house-plant-api/Models/Device.cs b/house-plant-api/Models/Device.cs deleted file mode 100644 index cdf4c3b..0000000 --- a/house-plant-api/Models/Device.cs +++ /dev/null @@ -1,14 +0,0 @@ -namespace house_plant_api.Models -{ - using System; - - public class Device - { - public int Id { get; set; } - public string Name { get; set; } - public string Nickname { get; set; } - public string Uuid { get; set; } - public int? Moisture { get; set; } - public DateTime? LastSeen { get; set; } - } -} diff --git a/house-plant-api/Program.cs b/house-plant-api/Program.cs deleted file mode 100644 index 011a95f..0000000 --- a/house-plant-api/Program.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.EntityFrameworkCore; -using house_plant_api.Context; -using house_plant_api.Services; - -var builder = WebApplication.CreateBuilder(args); - -// 1. Register EF Core with DbContextFactory -builder.Services.AddDbContextFactory(options => - options.UseSqlite("Data Source=devices.db")); - -// 2. Register the BluetoothService (can be Singleton or Transient) -builder.Services.AddSingleton(); - -// 3. Register the hosted service -builder.Services.AddHostedService(); - -// 4. Add controllers -builder.Services.AddControllers(); - -// 1. Register CORS services -builder.Services.AddCors(options => -{ - options.AddPolicy("AllowAll", policyBuilder => - { - policyBuilder - .AllowAnyOrigin() // Allows requests from any domain - .AllowAnyHeader() // Allows any request headers - .AllowAnyMethod(); // Allows any HTTP method (GET, POST, PUT, etc.) - }); -}); - - -var app = builder.Build(); - -// 3. Use CORS with the named policy -app.UseCors("AllowAll"); - -// Ensure DB is created or migrated -using (var scope = app.Services.CreateScope()) -{ - var dbContextFactory = scope.ServiceProvider.GetRequiredService>(); - using var dbContext = dbContextFactory.CreateDbContext(); - dbContext.Database.EnsureCreated(); // or dbContext.Database.Migrate() if using migrations -} - -app.MapControllers(); - -app.Run(); \ No newline at end of file diff --git a/house-plant-api/Properties/launchSettings.json b/house-plant-api/Properties/launchSettings.json deleted file mode 100644 index 7dbeb6a..0000000 --- a/house-plant-api/Properties/launchSettings.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:62301", - "sslPort": 44394 - } - }, - "profiles": { - "house_plant_api": { - "commandName": "Project", - "dotnetRunMessages": true, - "launchBrowser": true, - "launchUrl": "swagger", - "applicationUrl": "https://localhost:7284;http://localhost:5284", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "launchUrl": "swagger", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} diff --git a/house-plant-api/Services/BluetoothService.cs b/house-plant-api/Services/BluetoothService.cs deleted file mode 100644 index eb00172..0000000 --- a/house-plant-api/Services/BluetoothService.cs +++ /dev/null @@ -1,53 +0,0 @@ -namespace house_plant_api.Services -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Threading.Tasks; - using house_plant_api.Models; - using InTheHand.Bluetooth; - - public class BluetoothService - { - private readonly Guid _serviceUuid = Guid.Parse("12345678-1234-1234-1234-123456789abc"); - private readonly Guid _characteristicUuid = Guid.Parse("abcd1234-5678-1234-5678-abcdef123456"); - - public async Task> ScanDevicesAsync() - { - // Scan for BLE devices - return await Bluetooth.ScanForDevicesAsync(); - } - - public async Task GetSoilMoistureAsync(string deviceName) - { - // 1. Scan for devices and match by name - var devices = await Bluetooth.ScanForDevicesAsync(); - var targetDevice = devices.FirstOrDefault(d => d.Name == deviceName); - - if (targetDevice == null) - throw new Exception($"Device '{deviceName}' not found."); - - // 2. Connect and read moisture - await targetDevice.Gatt.ConnectAsync(); - try - { - var services = await targetDevice.Gatt.GetPrimaryServicesAsync(); - var targetService = services.FirstOrDefault(s => s.Uuid == _serviceUuid); - if (targetService == null) - throw new Exception("Moisture service not found."); - - var characteristics = await targetService.GetCharacteristicsAsync(); - var targetCharacteristic = characteristics.FirstOrDefault(c => c.Uuid == _characteristicUuid); - if (targetCharacteristic == null) - throw new Exception("Moisture characteristic not found."); - - var value = await targetCharacteristic.ReadValueAsync(); - return BitConverter.ToInt32(value, 0); - } - finally - { - targetDevice.Gatt.Disconnect(); - } - } - } -} diff --git a/house-plant-api/Services/CachedBluetoothService.cs b/house-plant-api/Services/CachedBluetoothService.cs deleted file mode 100644 index 5d12165..0000000 --- a/house-plant-api/Services/CachedBluetoothService.cs +++ /dev/null @@ -1,101 +0,0 @@ -namespace house_plant_api.Services -{ - using house_plant_api.Context; - using house_plant_api.Models; - using Microsoft.EntityFrameworkCore; - using System; - using System.Linq; - using System.Threading.Tasks; - - public class CachedBluetoothService - { - private readonly BluetoothService _bluetoothService; - private readonly IDbContextFactory _dbContextFactory; - - public CachedBluetoothService( - BluetoothService bluetoothService, - IDbContextFactory dbContextFactory) - { - _bluetoothService = bluetoothService; - _dbContextFactory = dbContextFactory; - } - - public List GetTrackedDevices() - { - // If you're using an IDbContextFactory: - using var dbContext = _dbContextFactory.CreateDbContext(); - // Or if you're injecting a scoped dbContext (see note below): - // var dbContext = _dbContext; - - return dbContext.Devices.ToList(); - } - - public async Task> GetTrackedDevicesAsync() - { - using var dbContext = _dbContextFactory.CreateDbContext(); - return await dbContext.Devices.ToListAsync(); - } - - public async Task PollDevicesAsync() - { - try - { - var devices = await _bluetoothService.ScanDevicesAsync(); - - // Create a fresh AppDbContext instance - using var dbContext = _dbContextFactory.CreateDbContext(); - - foreach (var device in devices) - { - var existingDevice = dbContext.Devices - .FirstOrDefault(d => d.Uuid == device.Id.ToString()); - - if (existingDevice == null) - { - dbContext.Devices.Add(new Device - { - Name = device.Name, - Nickname = "Pakkun Flower", - Uuid = device.Id.ToString(), - LastSeen = DateTime.Now - }); - } - else - { - existingDevice.LastSeen = DateTime.Now; - - try - { - var moisture = await _bluetoothService.GetSoilMoistureAsync(device.Name); - existingDevice.Moisture = moisture; - } - catch - { - // Swallow exceptions from reading moisture - } - } - } - - await dbContext.SaveChangesAsync(); - } - catch (Exception ex) - { - Console.WriteLine($"Error during polling: {ex.Message}"); - } - } - - public async Task DeleteDeviceAsync(string name) - { - using var dbContext = _dbContextFactory.CreateDbContext(); - var device = dbContext.Devices.FirstOrDefault(d => d.Name == name); - - if (device == null) - return false; - - dbContext.Devices.Remove(device); - await dbContext.SaveChangesAsync(); - return true; - } - - } -} diff --git a/house-plant-api/Services/DevicePollingService.cs b/house-plant-api/Services/DevicePollingService.cs deleted file mode 100644 index ff5817c..0000000 --- a/house-plant-api/Services/DevicePollingService.cs +++ /dev/null @@ -1,103 +0,0 @@ -namespace house_plant_api.Services -{ - using System; - using System.Linq; - using System.Threading; - using System.Threading.Tasks; - using Microsoft.Extensions.Hosting; - using Microsoft.Extensions.Logging; - using Microsoft.EntityFrameworkCore; - using InTheHand.Bluetooth; - using house_plant_api.Context; - using house_plant_api.Models; - - public class DevicePollingService : BackgroundService - { - private readonly ILogger _logger; - private readonly BluetoothService _bluetoothService; - private readonly IDbContextFactory _dbContextFactory; - private readonly TimeSpan _pollingInterval = TimeSpan.FromSeconds(10); - - public DevicePollingService( - ILogger logger, - BluetoothService bluetoothService, - IDbContextFactory dbContextFactory) - { - _logger = logger; - _bluetoothService = bluetoothService; - _dbContextFactory = dbContextFactory; - } - - protected override async Task ExecuteAsync(CancellationToken stoppingToken) - { - while (!stoppingToken.IsCancellationRequested) - { - await PollDevicesAsync(); - await Task.Delay(_pollingInterval, stoppingToken); - } - } - - private async Task PollDevicesAsync() - { - _logger.LogInformation("Polling devices for moisture data..."); - - try - { - // 1. Scan for BLE devices - var devices = await _bluetoothService.ScanDevicesAsync(); - - // 2. Open a new DB context for each polling run - using var dbContext = _dbContextFactory.CreateDbContext(); - - // 3. Filter devices that have "SoilSensor" in the name (if desired) - var soilDevices = devices - .Where(d => !string.IsNullOrEmpty(d.Name) && d.Name.Contains("SoilSensor", StringComparison.OrdinalIgnoreCase)) - .ToList(); - - // 4. For each device, attempt to get moisture data and store/update in DB - foreach (var device in soilDevices) - { - var existingDevice = dbContext.Devices - .FirstOrDefault(d => d.Uuid == device.Id.ToString()); - - if (existingDevice == null) - { - // Add new device to DB - existingDevice = new Device - { - Name = device.Name, - Nickname = "Pakkun Flower", - Uuid = device.Id.ToString(), - LastSeen = DateTime.Now - }; - dbContext.Devices.Add(existingDevice); - } - else - { - existingDevice.LastSeen = DateTime.Now; - } - - try - { - // Attempt to read moisture from the device - var moisture = await _bluetoothService.GetSoilMoistureAsync(device.Name); - existingDevice.Moisture = moisture; - } - catch (Exception ex) - { - // If reading fails, log and continue - _logger.LogWarning(ex, $"Failed to read moisture from {device.Name}"); - } - } - - // 5. Save changes - await dbContext.SaveChangesAsync(); - _logger.LogInformation("Polling cycle complete."); - } - catch (Exception ex) - { - _logger.LogError(ex, "Error during device polling."); - } - } - } -} diff --git a/house-plant-api/appsettings.json b/house-plant-api/appsettings.json deleted file mode 100644 index 10f68b8..0000000 --- a/house-plant-api/appsettings.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" - } - }, - "AllowedHosts": "*" -} diff --git a/house-plant-api/devices.db b/house-plant-api/devices.db deleted file mode 100644 index 0de02ec..0000000 Binary files a/house-plant-api/devices.db and /dev/null differ diff --git a/house-plant-api/devices.db-wal b/house-plant-api/devices.db-wal deleted file mode 100644 index 9e352c4..0000000 Binary files a/house-plant-api/devices.db-wal and /dev/null differ diff --git a/house-plant-api/house-plant-api.sln b/house-plant-api/house-plant-api.sln deleted file mode 100644 index 0c10d93..0000000 --- a/house-plant-api/house-plant-api.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.2.32526.322 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "house-plant-api", "house-plant-api.csproj", "{B9DDD6E9-3F03-4E70-B70C-832B6AB79BF0}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {B9DDD6E9-3F03-4E70-B70C-832B6AB79BF0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B9DDD6E9-3F03-4E70-B70C-832B6AB79BF0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B9DDD6E9-3F03-4E70-B70C-832B6AB79BF0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B9DDD6E9-3F03-4E70-B70C-832B6AB79BF0}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E84FCCE2-5F7C-4F20-9663-220B767E5A2B} - EndGlobalSection -EndGlobal diff --git a/house-plant-api/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs b/house-plant-api/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs deleted file mode 100644 index ed92695..0000000 --- a/house-plant-api/obj/Debug/net6.0/.NETCoreApp,Version=v6.0.AssemblyAttributes.cs +++ /dev/null @@ -1,4 +0,0 @@ -// -using System; -using System.Reflection; -[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")] diff --git a/house-plant-api/obj/Debug/net6.0/house-plant-api.AssemblyInfo.cs b/house-plant-api/obj/Debug/net6.0/house-plant-api.AssemblyInfo.cs deleted file mode 100644 index 08b53a8..0000000 --- a/house-plant-api/obj/Debug/net6.0/house-plant-api.AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("house-plant-api")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a426dce05e7078fd640479bc6275b245e1288429")] -[assembly: System.Reflection.AssemblyProductAttribute("house-plant-api")] -[assembly: System.Reflection.AssemblyTitleAttribute("house-plant-api")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/house-plant-api/obj/Debug/net6.0/house-plant-api.AssemblyInfoInputs.cache b/house-plant-api/obj/Debug/net6.0/house-plant-api.AssemblyInfoInputs.cache deleted file mode 100644 index e9b03b2..0000000 --- a/house-plant-api/obj/Debug/net6.0/house-plant-api.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -cb53261d04034aa4f1c238bde724ae959471c3d7407c687211410d9a41ef0a2a diff --git a/house-plant-api/obj/Debug/net6.0/house-plant-api.GeneratedMSBuildEditorConfig.editorconfig b/house-plant-api/obj/Debug/net6.0/house-plant-api.GeneratedMSBuildEditorConfig.editorconfig deleted file mode 100644 index 6b24502..0000000 --- a/house-plant-api/obj/Debug/net6.0/house-plant-api.GeneratedMSBuildEditorConfig.editorconfig +++ /dev/null @@ -1,21 +0,0 @@ -is_global = true -build_property.TargetFramework = net6.0 -build_property.TargetPlatformMinVersion = -build_property.UsingMicrosoftNETSdkWeb = true -build_property.ProjectTypeGuids = -build_property.InvariantGlobalization = -build_property.PlatformNeutralAssembly = -build_property.EnforceExtendedAnalyzerRules = -build_property._SupportedPlatformList = Linux,macOS,Windows -build_property.RootNamespace = house_plant_api -build_property.RootNamespace = house_plant_api -build_property.ProjectDir = C:\Users\ckoch\Documents\GitHub\houseplant\house-plant-api\ -build_property.EnableComHosting = -build_property.EnableGeneratedComInterfaceComImportInterop = -build_property.RazorLangVersion = 6.0 -build_property.SupportLocalizedComponentNames = -build_property.GenerateRazorMetadataSourceChecksumAttributes = -build_property.MSBuildProjectDirectory = C:\Users\ckoch\Documents\GitHub\houseplant\house-plant-api -build_property._RazorSourceGeneratorDebug = -build_property.EffectiveAnalysisLevelStyle = 6.0 -build_property.EnableCodeStyleSeverity = diff --git a/house-plant-api/obj/Debug/net6.0/house-plant-api.GlobalUsings.g.cs b/house-plant-api/obj/Debug/net6.0/house-plant-api.GlobalUsings.g.cs deleted file mode 100644 index 025530a..0000000 --- a/house-plant-api/obj/Debug/net6.0/house-plant-api.GlobalUsings.g.cs +++ /dev/null @@ -1,17 +0,0 @@ -// -global using global::Microsoft.AspNetCore.Builder; -global using global::Microsoft.AspNetCore.Hosting; -global using global::Microsoft.AspNetCore.Http; -global using global::Microsoft.AspNetCore.Routing; -global using global::Microsoft.Extensions.Configuration; -global using global::Microsoft.Extensions.DependencyInjection; -global using global::Microsoft.Extensions.Hosting; -global using global::Microsoft.Extensions.Logging; -global using global::System; -global using global::System.Collections.Generic; -global using global::System.IO; -global using global::System.Linq; -global using global::System.Net.Http; -global using global::System.Net.Http.Json; -global using global::System.Threading; -global using global::System.Threading.Tasks; diff --git a/house-plant-api/obj/Debug/net6.0/house-plant-api.assets.cache b/house-plant-api/obj/Debug/net6.0/house-plant-api.assets.cache deleted file mode 100644 index 6d82f5a..0000000 Binary files a/house-plant-api/obj/Debug/net6.0/house-plant-api.assets.cache and /dev/null differ diff --git a/house-plant-api/obj/Debug/net6.0/house-plant-api.csproj.AssemblyReference.cache b/house-plant-api/obj/Debug/net6.0/house-plant-api.csproj.AssemblyReference.cache deleted file mode 100644 index c84b545..0000000 Binary files a/house-plant-api/obj/Debug/net6.0/house-plant-api.csproj.AssemblyReference.cache and /dev/null differ diff --git a/house-plant-api/obj/house-plant-api.csproj.nuget.dgspec.json b/house-plant-api/obj/house-plant-api.csproj.nuget.dgspec.json deleted file mode 100644 index 7b574ce..0000000 --- a/house-plant-api/obj/house-plant-api.csproj.nuget.dgspec.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "format": 1, - "restore": { - "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj": {} - }, - "projects": { - "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj", - "projectName": "house-plant-api", - "projectPath": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj", - "packagesPath": "C:\\Users\\ckoch\\.nuget\\packages\\", - "outputPath": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\obj\\", - "projectStyle": "PackageReference", - "fallbackFolders": [ - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" - ], - "configFilePaths": [ - "C:\\Users\\ckoch\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" - ], - "originalTargetFrameworks": [ - "net8.0-windows10.0.26100.0" - ], - "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "C:\\Program Files\\dotnet\\library-packs": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net8.0-windows10.0.26100": { - "targetAlias": "net8.0-windows10.0.26100.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "direct" - }, - "SdkAnalysisLevel": "9.0.100" - }, - "frameworks": { - "net8.0-windows10.0.26100": { - "targetAlias": "net8.0-windows10.0.26100.0", - "dependencies": { - "InTheHand.BluetoothLE": { - "target": "Package", - "version": "[4.0.37, )" - }, - "Microsoft.EntityFrameworkCore": { - "target": "Package", - "version": "[9.0.0, )" - }, - "Microsoft.EntityFrameworkCore.Sqlite": { - "target": "Package", - "version": "[9.0.0, )" - }, - "RJCP.SerialPortStream": { - "target": "Package", - "version": "[3.0.1, )" - }, - "Swashbuckle.AspNetCore": { - "target": "Package", - "version": "[7.2.0, )" - }, - "System.IO.Ports": { - "target": "Package", - "version": "[9.0.0, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "downloadDependencies": [ - { - "name": "Microsoft.Windows.SDK.NET.Ref", - "version": "[10.0.26100.54, 10.0.26100.54]" - } - ], - "frameworkReferences": { - "Microsoft.AspNetCore.App": { - "privateAssets": "none" - }, - "Microsoft.NETCore.App": { - "privateAssets": "all" - }, - "Microsoft.Windows.SDK.NET.Ref.Windows": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101/PortableRuntimeIdentifierGraph.json" - } - } - } - } -} \ No newline at end of file diff --git a/house-plant-api/obj/house-plant-api.csproj.nuget.g.props b/house-plant-api/obj/house-plant-api.csproj.nuget.g.props deleted file mode 100644 index f6a31e4..0000000 --- a/house-plant-api/obj/house-plant-api.csproj.nuget.g.props +++ /dev/null @@ -1,24 +0,0 @@ - - - - True - NuGet - $(MSBuildThisFileDirectory)project.assets.json - $(UserProfile)\.nuget\packages\ - C:\Users\ckoch\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages - PackageReference - 6.12.2 - - - - - - - - - - - - C:\Users\ckoch\.nuget\packages\microsoft.extensions.apidescription.server\6.0.5 - - \ No newline at end of file diff --git a/house-plant-api/obj/house-plant-api.csproj.nuget.g.targets b/house-plant-api/obj/house-plant-api.csproj.nuget.g.targets deleted file mode 100644 index 486654e..0000000 --- a/house-plant-api/obj/house-plant-api.csproj.nuget.g.targets +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/house-plant-api/obj/project.assets.json b/house-plant-api/obj/project.assets.json deleted file mode 100644 index 7a8d1e8..0000000 --- a/house-plant-api/obj/project.assets.json +++ /dev/null @@ -1,3984 +0,0 @@ -{ - "version": 3, - "targets": { - "net8.0-windows10.0.26100": { - "InTheHand.BluetoothLE/4.0.37": { - "type": "package", - "compile": { - "lib/net8.0-windows10.0.19041/InTheHand.BluetoothLE.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0-windows10.0.19041/InTheHand.BluetoothLE.dll": { - "related": ".xml" - } - } - }, - "Microsoft.Data.Sqlite.Core/9.0.0": { - "type": "package", - "dependencies": { - "SQLitePCLRaw.core": "2.1.10" - }, - "compile": { - "lib/net8.0/Microsoft.Data.Sqlite.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Data.Sqlite.dll": { - "related": ".xml" - } - } - }, - "Microsoft.EntityFrameworkCore/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "9.0.0", - "Microsoft.EntityFrameworkCore.Analyzers": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props": {} - } - }, - "Microsoft.EntityFrameworkCore.Abstractions/9.0.0": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { - "related": ".xml" - } - } - }, - "Microsoft.EntityFrameworkCore.Analyzers/9.0.0": { - "type": "package" - }, - "Microsoft.EntityFrameworkCore.Relational/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { - "related": ".xml" - } - } - }, - "Microsoft.EntityFrameworkCore.Sqlite/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyModel": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0", - "SQLitePCLRaw.bundle_e_sqlite3": "2.1.10", - "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.0" - }, - "compile": { - "lib/net8.0/_._": {} - }, - "runtime": { - "lib/net8.0/_._": {} - } - }, - "Microsoft.EntityFrameworkCore.Sqlite.Core/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Data.Sqlite.Core": "9.0.0", - "Microsoft.EntityFrameworkCore.Relational": "9.0.0", - "Microsoft.Extensions.Caching.Memory": "9.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyModel": "9.0.0", - "Microsoft.Extensions.Logging": "9.0.0", - "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Sqlite.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.EntityFrameworkCore.Sqlite.dll": { - "related": ".xml" - } - } - }, - "Microsoft.Extensions.ApiDescription.Server/6.0.5": { - "type": "package", - "build": { - "build/Microsoft.Extensions.ApiDescription.Server.props": {}, - "build/Microsoft.Extensions.ApiDescription.Server.targets": {} - }, - "buildMultiTargeting": { - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props": {}, - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets": {} - } - }, - "Microsoft.Extensions.Caching.Abstractions/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.Caching.Memory/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0", - "Microsoft.Extensions.Primitives": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.DependencyInjection/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.DependencyModel/9.0.0": { - "type": "package", - "dependencies": { - "System.Text.Encodings.Web": "9.0.0", - "System.Text.Json": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.DependencyModel.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.Logging/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.0", - "Microsoft.Extensions.Logging.Abstractions": "9.0.0", - "Microsoft.Extensions.Options": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "System.Diagnostics.DiagnosticSource": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {} - } - }, - "Microsoft.Extensions.Options/9.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0", - "Microsoft.Extensions.Primitives": "9.0.0" - }, - "compile": { - "lib/net8.0/Microsoft.Extensions.Options.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Options.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {} - } - }, - "Microsoft.Extensions.Primitives/9.0.0": { - "type": "package", - "compile": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/Microsoft.Extensions.Primitives.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "Microsoft.OpenApi/1.6.22": { - "type": "package", - "compile": { - "lib/netstandard2.0/Microsoft.OpenApi.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/netstandard2.0/Microsoft.OpenApi.dll": { - "related": ".pdb;.xml" - } - } - }, - "RJCP.Core.Environment/0.3.0": { - "type": "package", - "compile": { - "lib/net8.0/RJCP.Core.Environment.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/RJCP.Core.Environment.dll": { - "related": ".pdb;.xml" - } - }, - "resource": { - "lib/net8.0/de/RJCP.Core.Environment.resources.dll": { - "locale": "de" - } - } - }, - "RJCP.Core.SysCompat/0.2.0": { - "type": "package", - "compile": { - "lib/net8.0/RJCP.Core.SysCompat.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/RJCP.Core.SysCompat.dll": { - "related": ".pdb;.xml" - } - } - }, - "RJCP.Diagnostics.Trace/0.2.1": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "RJCP.Core.SysCompat": "0.2.0" - }, - "compile": { - "lib/net8.0/RJCP.Diagnostics.Trace.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/RJCP.Diagnostics.Trace.dll": { - "related": ".pdb;.xml" - } - } - }, - "RJCP.IO.Buffer/0.2.1": { - "type": "package", - "dependencies": { - "RJCP.Core.SysCompat": "0.2.0" - }, - "compile": { - "lib/net8.0/RJCP.IO.Buffer.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/RJCP.IO.Buffer.dll": { - "related": ".pdb;.xml" - } - } - }, - "RJCP.IO.Device/0.8.1": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "RJCP.Core.Environment": "0.3.0", - "RJCP.Diagnostics.Trace": "0.2.1" - }, - "compile": { - "lib/net8.0/RJCP.IO.Device.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/RJCP.IO.Device.dll": { - "related": ".pdb;.xml" - } - } - }, - "RJCP.SerialPortStream/3.0.1": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "8.0.0", - "RJCP.Core.SysCompat": "0.2.0", - "RJCP.Diagnostics.Trace": "0.2.1", - "RJCP.IO.Buffer": "0.2.1", - "RJCP.IO.Device": "0.8.1" - }, - "compile": { - "lib/net8.0/RJCP.SerialPortStream.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/RJCP.SerialPortStream.dll": { - "related": ".pdb;.xml" - } - } - }, - "runtime.android-arm.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.android-arm64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.android-x64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.android-x86.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-arm.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-arm64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-bionic-arm64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-bionic-x64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-musl-arm.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-musl-arm64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-musl-x64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.linux-x64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/libSystem.IO.Ports.Native.so": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.maccatalyst-arm64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/libSystem.IO.Ports.Native.dylib": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.maccatalyst-x64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/libSystem.IO.Ports.Native.dylib": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "dependencies": { - "runtime.android-arm.runtime.native.System.IO.Ports": "9.0.0", - "runtime.android-arm64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.android-x64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.android-x86.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-arm.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-arm64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-bionic-arm64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-bionic-x64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-musl-arm.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-musl-arm64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-musl-x64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.linux-x64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.maccatalyst-arm64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.maccatalyst-x64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.osx-arm64.runtime.native.System.IO.Ports": "9.0.0", - "runtime.osx-x64.runtime.native.System.IO.Ports": "9.0.0" - } - }, - "runtime.osx-arm64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/libSystem.IO.Ports.Native.dylib": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/_._": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "runtime.osx-x64.runtime.native.System.IO.Ports/9.0.0": { - "type": "package", - "runtimeTargets": { - "runtimes/android-arm/native/_._": { - "assetType": "native", - "rid": "android-arm" - }, - "runtimes/android-arm64/native/_._": { - "assetType": "native", - "rid": "android-arm64" - }, - "runtimes/android-x64/native/_._": { - "assetType": "native", - "rid": "android-x64" - }, - "runtimes/android-x86/native/_._": { - "assetType": "native", - "rid": "android-x86" - }, - "runtimes/linux-arm/native/_._": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/_._": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-bionic-arm64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-arm64" - }, - "runtimes/linux-bionic-x64/native/_._": { - "assetType": "native", - "rid": "linux-bionic-x64" - }, - "runtimes/linux-musl-arm/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/_._": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-x64/native/_._": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-x64/native/_._": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/maccatalyst-arm64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/_._": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/_._": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/libSystem.IO.Ports.Native.dylib": { - "assetType": "native", - "rid": "osx-x64" - } - } - }, - "SQLitePCLRaw.bundle_e_sqlite3/2.1.10": { - "type": "package", - "dependencies": { - "SQLitePCLRaw.lib.e_sqlite3": "2.1.10", - "SQLitePCLRaw.provider.e_sqlite3": "2.1.10" - }, - "compile": { - "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {} - }, - "runtime": { - "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {} - } - }, - "SQLitePCLRaw.core/2.1.10": { - "type": "package", - "dependencies": { - "System.Memory": "4.5.3" - }, - "compile": { - "lib/netstandard2.0/SQLitePCLRaw.core.dll": {} - }, - "runtime": { - "lib/netstandard2.0/SQLitePCLRaw.core.dll": {} - } - }, - "SQLitePCLRaw.lib.e_sqlite3/2.1.10": { - "type": "package", - "compile": { - "lib/netstandard2.0/_._": {} - }, - "runtime": { - "lib/netstandard2.0/_._": {} - }, - "build": { - "buildTransitive/net8.0/SQLitePCLRaw.lib.e_sqlite3.targets": {} - }, - "runtimeTargets": { - "runtimes/browser-wasm/nativeassets/net8.0/e_sqlite3.a": { - "assetType": "native", - "rid": "browser-wasm" - }, - "runtimes/linux-arm/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-arm" - }, - "runtimes/linux-arm64/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-arm64" - }, - "runtimes/linux-armel/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-armel" - }, - "runtimes/linux-mips64/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-mips64" - }, - "runtimes/linux-musl-arm/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-musl-arm" - }, - "runtimes/linux-musl-arm64/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-musl-arm64" - }, - "runtimes/linux-musl-s390x/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-musl-s390x" - }, - "runtimes/linux-musl-x64/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-musl-x64" - }, - "runtimes/linux-ppc64le/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-ppc64le" - }, - "runtimes/linux-s390x/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-s390x" - }, - "runtimes/linux-x64/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/linux-x86/native/libe_sqlite3.so": { - "assetType": "native", - "rid": "linux-x86" - }, - "runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib": { - "assetType": "native", - "rid": "maccatalyst-arm64" - }, - "runtimes/maccatalyst-x64/native/libe_sqlite3.dylib": { - "assetType": "native", - "rid": "maccatalyst-x64" - }, - "runtimes/osx-arm64/native/libe_sqlite3.dylib": { - "assetType": "native", - "rid": "osx-arm64" - }, - "runtimes/osx-x64/native/libe_sqlite3.dylib": { - "assetType": "native", - "rid": "osx-x64" - }, - "runtimes/win-arm/native/e_sqlite3.dll": { - "assetType": "native", - "rid": "win-arm" - }, - "runtimes/win-arm64/native/e_sqlite3.dll": { - "assetType": "native", - "rid": "win-arm64" - }, - "runtimes/win-x64/native/e_sqlite3.dll": { - "assetType": "native", - "rid": "win-x64" - }, - "runtimes/win-x86/native/e_sqlite3.dll": { - "assetType": "native", - "rid": "win-x86" - } - } - }, - "SQLitePCLRaw.provider.e_sqlite3/2.1.10": { - "type": "package", - "dependencies": { - "SQLitePCLRaw.core": "2.1.10" - }, - "compile": { - "lib/net6.0-windows7.0/SQLitePCLRaw.provider.e_sqlite3.dll": {} - }, - "runtime": { - "lib/net6.0-windows7.0/SQLitePCLRaw.provider.e_sqlite3.dll": {} - } - }, - "Swashbuckle.AspNetCore/7.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "6.0.5", - "Swashbuckle.AspNetCore.Swagger": "7.2.0", - "Swashbuckle.AspNetCore.SwaggerGen": "7.2.0", - "Swashbuckle.AspNetCore.SwaggerUI": "7.2.0" - }, - "build": { - "build/Swashbuckle.AspNetCore.props": {} - }, - "buildMultiTargeting": { - "buildMultiTargeting/Swashbuckle.AspNetCore.props": {} - } - }, - "Swashbuckle.AspNetCore.Swagger/7.2.0": { - "type": "package", - "dependencies": { - "Microsoft.OpenApi": "1.6.22" - }, - "compile": { - "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll": { - "related": ".pdb;.xml" - } - }, - "frameworkReferences": [ - "Microsoft.AspNetCore.App" - ] - }, - "Swashbuckle.AspNetCore.SwaggerGen/7.2.0": { - "type": "package", - "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "7.2.0" - }, - "compile": { - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { - "related": ".pdb;.xml" - } - } - }, - "Swashbuckle.AspNetCore.SwaggerUI/7.2.0": { - "type": "package", - "compile": { - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { - "related": ".pdb;.xml" - } - }, - "runtime": { - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { - "related": ".pdb;.xml" - } - }, - "frameworkReferences": [ - "Microsoft.AspNetCore.App" - ] - }, - "System.Diagnostics.DiagnosticSource/9.0.0": { - "type": "package", - "compile": { - "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.Diagnostics.DiagnosticSource.dll": { - "related": ".xml" - } - }, - "contentFiles": { - "contentFiles/any/any/_._": { - "buildAction": "None", - "codeLanguage": "any", - "copyToOutput": false - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "System.IO.Pipelines/9.0.0": { - "type": "package", - "compile": { - "lib/net8.0/System.IO.Pipelines.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.IO.Pipelines.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - } - }, - "System.IO.Ports/9.0.0": { - "type": "package", - "dependencies": { - "runtime.native.System.IO.Ports": "9.0.0" - }, - "compile": { - "lib/net8.0/System.IO.Ports.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.IO.Ports.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/net8.0/System.IO.Ports.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/net8.0/System.IO.Ports.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Memory/4.5.3": { - "type": "package", - "compile": { - "ref/netcoreapp2.1/_._": {} - }, - "runtime": { - "lib/netcoreapp2.1/_._": {} - } - }, - "System.Text.Encodings.Web/9.0.0": { - "type": "package", - "compile": { - "lib/net8.0/System.Text.Encodings.Web.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.Text.Encodings.Web.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/_._": {} - }, - "runtimeTargets": { - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll": { - "assetType": "runtime", - "rid": "browser" - } - } - }, - "System.Text.Json/9.0.0": { - "type": "package", - "dependencies": { - "System.IO.Pipelines": "9.0.0", - "System.Text.Encodings.Web": "9.0.0" - }, - "compile": { - "lib/net8.0/System.Text.Json.dll": { - "related": ".xml" - } - }, - "runtime": { - "lib/net8.0/System.Text.Json.dll": { - "related": ".xml" - } - }, - "build": { - "buildTransitive/net8.0/System.Text.Json.targets": {} - } - } - } - }, - "libraries": { - "InTheHand.BluetoothLE/4.0.37": { - "sha512": "+Rgh8N9UN0GZntL3ImsR9I4Kr8SH9EVj+q20RAl6IMFE87it652DxGE4iUIYqVbg+a3xDuyhW9CTqNW8v9lYLw==", - "type": "package", - "path": "inthehand.bluetoothle/4.0.37", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "32feet-package-icon.png", - "README.md", - "inthehand.bluetoothle.4.0.37.nupkg.sha512", - "inthehand.bluetoothle.nuspec", - "lib/monoandroid10.0/InTheHand.BluetoothLE.dll", - "lib/monoandroid10.0/InTheHand.BluetoothLE.xml", - "lib/net462/InTheHand.BluetoothLE.dll", - "lib/net462/InTheHand.BluetoothLE.xml", - "lib/net7.0-android33.0/InTheHand.BluetoothLE.aar", - "lib/net7.0-android33.0/InTheHand.BluetoothLE.dll", - "lib/net7.0-android33.0/InTheHand.BluetoothLE.xml", - "lib/net7.0-ios16.1/InTheHand.BluetoothLE.dll", - "lib/net7.0-ios16.1/InTheHand.BluetoothLE.xml", - "lib/net7.0-maccatalyst16.1/InTheHand.BluetoothLE.dll", - "lib/net7.0-maccatalyst16.1/InTheHand.BluetoothLE.xml", - "lib/net7.0-windows10.0.19041/InTheHand.BluetoothLE.dll", - "lib/net7.0-windows10.0.19041/InTheHand.BluetoothLE.xml", - "lib/net7.0/InTheHand.BluetoothLE.dll", - "lib/net7.0/InTheHand.BluetoothLE.xml", - "lib/net8.0-android34.0/InTheHand.BluetoothLE.dll", - "lib/net8.0-android34.0/InTheHand.BluetoothLE.xml", - "lib/net8.0-ios17.2/InTheHand.BluetoothLE.dll", - "lib/net8.0-ios17.2/InTheHand.BluetoothLE.xml", - "lib/net8.0-maccatalyst17.2/InTheHand.BluetoothLE.dll", - "lib/net8.0-maccatalyst17.2/InTheHand.BluetoothLE.xml", - "lib/net8.0-windows10.0.19041/InTheHand.BluetoothLE.dll", - "lib/net8.0-windows10.0.19041/InTheHand.BluetoothLE.xml", - "lib/net8.0/InTheHand.BluetoothLE.dll", - "lib/net8.0/InTheHand.BluetoothLE.xml", - "lib/netstandard2.0/InTheHand.BluetoothLE.dll", - "lib/netstandard2.0/InTheHand.BluetoothLE.xml", - "lib/uap10.0.17763/InTheHand.BluetoothLE.dll", - "lib/uap10.0.17763/InTheHand.BluetoothLE.pri", - "lib/uap10.0.17763/InTheHand.BluetoothLE.xml", - "lib/xamarinios10/InTheHand.BluetoothLE.dll", - "lib/xamarinios10/InTheHand.BluetoothLE.xml", - "lib/xamarintvos10/InTheHand.BluetoothLE.dll", - "lib/xamarintvos10/InTheHand.BluetoothLE.xml", - "lib/xamarinwatchos10/InTheHand.BluetoothLE.dll", - "lib/xamarinwatchos10/InTheHand.BluetoothLE.xml" - ] - }, - "Microsoft.Data.Sqlite.Core/9.0.0": { - "sha512": "cFfZjFL+tqzGYw9lB31EkV1IWF5xRQNk2k+MQd+Cf86Gl6zTeAoiZIFw5sRB1Z8OxpEC7nu+nTDsLSjieBAPTw==", - "type": "package", - "path": "microsoft.data.sqlite.core/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "lib/net6.0/Microsoft.Data.Sqlite.dll", - "lib/net6.0/Microsoft.Data.Sqlite.xml", - "lib/net8.0/Microsoft.Data.Sqlite.dll", - "lib/net8.0/Microsoft.Data.Sqlite.xml", - "lib/netstandard2.0/Microsoft.Data.Sqlite.dll", - "lib/netstandard2.0/Microsoft.Data.Sqlite.xml", - "microsoft.data.sqlite.core.9.0.0.nupkg.sha512", - "microsoft.data.sqlite.core.nuspec" - ] - }, - "Microsoft.EntityFrameworkCore/9.0.0": { - "sha512": "wpG+nfnfDAw87R3ovAsUmjr3MZ4tYXf6bFqEPVAIKE6IfPml3DS//iX0DBnf8kWn5ZHSO5oi1m4d/Jf+1LifJQ==", - "type": "package", - "path": "microsoft.entityframeworkcore/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "buildTransitive/net8.0/Microsoft.EntityFrameworkCore.props", - "lib/net8.0/Microsoft.EntityFrameworkCore.dll", - "lib/net8.0/Microsoft.EntityFrameworkCore.xml", - "microsoft.entityframeworkcore.9.0.0.nupkg.sha512", - "microsoft.entityframeworkcore.nuspec" - ] - }, - "Microsoft.EntityFrameworkCore.Abstractions/9.0.0": { - "sha512": "fnmifFL8KaA4ZNLCVgfjCWhZUFxkrDInx5hR4qG7Q8IEaSiy/6VOSRFyx55oH7MV4y7wM3J3EE90nSpcVBI44Q==", - "type": "package", - "path": "microsoft.entityframeworkcore.abstractions/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll", - "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.xml", - "microsoft.entityframeworkcore.abstractions.9.0.0.nupkg.sha512", - "microsoft.entityframeworkcore.abstractions.nuspec" - ] - }, - "Microsoft.EntityFrameworkCore.Analyzers/9.0.0": { - "sha512": "Qje+DzXJOKiXF72SL0XxNlDtTkvWWvmwknuZtFahY5hIQpRKO59qnGuERIQ3qlzuq5x4bAJ8WMbgU5DLhBgeOQ==", - "type": "package", - "path": "microsoft.entityframeworkcore.analyzers/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "analyzers/dotnet/cs/Microsoft.EntityFrameworkCore.Analyzers.dll", - "docs/PACKAGE.md", - "microsoft.entityframeworkcore.analyzers.9.0.0.nupkg.sha512", - "microsoft.entityframeworkcore.analyzers.nuspec" - ] - }, - "Microsoft.EntityFrameworkCore.Relational/9.0.0": { - "sha512": "j+msw6fWgAE9M3Q/5B9Uhv7pdAdAQUvFPJAiBJmoy+OXvehVbfbCE8ftMAa51Uo2ZeiqVnHShhnv4Y4UJJmUzA==", - "type": "package", - "path": "microsoft.entityframeworkcore.relational/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll", - "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.xml", - "microsoft.entityframeworkcore.relational.9.0.0.nupkg.sha512", - "microsoft.entityframeworkcore.relational.nuspec" - ] - }, - "Microsoft.EntityFrameworkCore.Sqlite/9.0.0": { - "sha512": "xu6dlgBO9I1WA1WdT+rUvv+ZGQ9aGRn3c246ykyuFzBX02oNYd1lk7LEVGhjBN1T49N3C9yBUHFQY8vY4JZQrw==", - "type": "package", - "path": "microsoft.entityframeworkcore.sqlite/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "lib/net8.0/_._", - "microsoft.entityframeworkcore.sqlite.9.0.0.nupkg.sha512", - "microsoft.entityframeworkcore.sqlite.nuspec" - ] - }, - "Microsoft.EntityFrameworkCore.Sqlite.Core/9.0.0": { - "sha512": "4gmIZli/Na39mck6s/gO2n1NdOHHwNQfSWucpA+bAU5UAEMYFGMXpCR1AHoo/VJuyMkfpBxuHzkj1/xczy2vFg==", - "type": "package", - "path": "microsoft.entityframeworkcore.sqlite.core/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "PACKAGE.md", - "lib/net8.0/Microsoft.EntityFrameworkCore.Sqlite.dll", - "lib/net8.0/Microsoft.EntityFrameworkCore.Sqlite.xml", - "microsoft.entityframeworkcore.sqlite.core.9.0.0.nupkg.sha512", - "microsoft.entityframeworkcore.sqlite.core.nuspec" - ] - }, - "Microsoft.Extensions.ApiDescription.Server/6.0.5": { - "sha512": "Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", - "type": "package", - "path": "microsoft.extensions.apidescription.server/6.0.5", - "hasTools": true, - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "build/Microsoft.Extensions.ApiDescription.Server.props", - "build/Microsoft.Extensions.ApiDescription.Server.targets", - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.props", - "buildMultiTargeting/Microsoft.Extensions.ApiDescription.Server.targets", - "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", - "microsoft.extensions.apidescription.server.nuspec", - "tools/Newtonsoft.Json.dll", - "tools/dotnet-getdocument.deps.json", - "tools/dotnet-getdocument.dll", - "tools/dotnet-getdocument.runtimeconfig.json", - "tools/net461-x86/GetDocument.Insider.exe", - "tools/net461-x86/GetDocument.Insider.exe.config", - "tools/net461-x86/Microsoft.Win32.Primitives.dll", - "tools/net461-x86/System.AppContext.dll", - "tools/net461-x86/System.Buffers.dll", - "tools/net461-x86/System.Collections.Concurrent.dll", - "tools/net461-x86/System.Collections.NonGeneric.dll", - "tools/net461-x86/System.Collections.Specialized.dll", - "tools/net461-x86/System.Collections.dll", - "tools/net461-x86/System.ComponentModel.EventBasedAsync.dll", - "tools/net461-x86/System.ComponentModel.Primitives.dll", - "tools/net461-x86/System.ComponentModel.TypeConverter.dll", - "tools/net461-x86/System.ComponentModel.dll", - "tools/net461-x86/System.Console.dll", - "tools/net461-x86/System.Data.Common.dll", - "tools/net461-x86/System.Diagnostics.Contracts.dll", - "tools/net461-x86/System.Diagnostics.Debug.dll", - "tools/net461-x86/System.Diagnostics.DiagnosticSource.dll", - "tools/net461-x86/System.Diagnostics.FileVersionInfo.dll", - "tools/net461-x86/System.Diagnostics.Process.dll", - "tools/net461-x86/System.Diagnostics.StackTrace.dll", - "tools/net461-x86/System.Diagnostics.TextWriterTraceListener.dll", - "tools/net461-x86/System.Diagnostics.Tools.dll", - "tools/net461-x86/System.Diagnostics.TraceSource.dll", - "tools/net461-x86/System.Diagnostics.Tracing.dll", - "tools/net461-x86/System.Drawing.Primitives.dll", - "tools/net461-x86/System.Dynamic.Runtime.dll", - "tools/net461-x86/System.Globalization.Calendars.dll", - "tools/net461-x86/System.Globalization.Extensions.dll", - "tools/net461-x86/System.Globalization.dll", - "tools/net461-x86/System.IO.Compression.ZipFile.dll", - "tools/net461-x86/System.IO.Compression.dll", - "tools/net461-x86/System.IO.FileSystem.DriveInfo.dll", - "tools/net461-x86/System.IO.FileSystem.Primitives.dll", - "tools/net461-x86/System.IO.FileSystem.Watcher.dll", - "tools/net461-x86/System.IO.FileSystem.dll", - "tools/net461-x86/System.IO.IsolatedStorage.dll", - "tools/net461-x86/System.IO.MemoryMappedFiles.dll", - "tools/net461-x86/System.IO.Pipes.dll", - "tools/net461-x86/System.IO.UnmanagedMemoryStream.dll", - "tools/net461-x86/System.IO.dll", - "tools/net461-x86/System.Linq.Expressions.dll", - "tools/net461-x86/System.Linq.Parallel.dll", - "tools/net461-x86/System.Linq.Queryable.dll", - "tools/net461-x86/System.Linq.dll", - "tools/net461-x86/System.Memory.dll", - "tools/net461-x86/System.Net.Http.dll", - "tools/net461-x86/System.Net.NameResolution.dll", - "tools/net461-x86/System.Net.NetworkInformation.dll", - "tools/net461-x86/System.Net.Ping.dll", - "tools/net461-x86/System.Net.Primitives.dll", - "tools/net461-x86/System.Net.Requests.dll", - "tools/net461-x86/System.Net.Security.dll", - "tools/net461-x86/System.Net.Sockets.dll", - "tools/net461-x86/System.Net.WebHeaderCollection.dll", - "tools/net461-x86/System.Net.WebSockets.Client.dll", - "tools/net461-x86/System.Net.WebSockets.dll", - "tools/net461-x86/System.Numerics.Vectors.dll", - "tools/net461-x86/System.ObjectModel.dll", - "tools/net461-x86/System.Reflection.Extensions.dll", - "tools/net461-x86/System.Reflection.Primitives.dll", - "tools/net461-x86/System.Reflection.dll", - "tools/net461-x86/System.Resources.Reader.dll", - "tools/net461-x86/System.Resources.ResourceManager.dll", - "tools/net461-x86/System.Resources.Writer.dll", - "tools/net461-x86/System.Runtime.CompilerServices.Unsafe.dll", - "tools/net461-x86/System.Runtime.CompilerServices.VisualC.dll", - "tools/net461-x86/System.Runtime.Extensions.dll", - "tools/net461-x86/System.Runtime.Handles.dll", - "tools/net461-x86/System.Runtime.InteropServices.RuntimeInformation.dll", - "tools/net461-x86/System.Runtime.InteropServices.dll", - "tools/net461-x86/System.Runtime.Numerics.dll", - "tools/net461-x86/System.Runtime.Serialization.Formatters.dll", - "tools/net461-x86/System.Runtime.Serialization.Json.dll", - "tools/net461-x86/System.Runtime.Serialization.Primitives.dll", - "tools/net461-x86/System.Runtime.Serialization.Xml.dll", - "tools/net461-x86/System.Runtime.dll", - "tools/net461-x86/System.Security.Claims.dll", - "tools/net461-x86/System.Security.Cryptography.Algorithms.dll", - "tools/net461-x86/System.Security.Cryptography.Csp.dll", - "tools/net461-x86/System.Security.Cryptography.Encoding.dll", - "tools/net461-x86/System.Security.Cryptography.Primitives.dll", - "tools/net461-x86/System.Security.Cryptography.X509Certificates.dll", - "tools/net461-x86/System.Security.Principal.dll", - "tools/net461-x86/System.Security.SecureString.dll", - "tools/net461-x86/System.Text.Encoding.Extensions.dll", - "tools/net461-x86/System.Text.Encoding.dll", - "tools/net461-x86/System.Text.RegularExpressions.dll", - "tools/net461-x86/System.Threading.Overlapped.dll", - "tools/net461-x86/System.Threading.Tasks.Parallel.dll", - "tools/net461-x86/System.Threading.Tasks.dll", - "tools/net461-x86/System.Threading.Thread.dll", - "tools/net461-x86/System.Threading.ThreadPool.dll", - "tools/net461-x86/System.Threading.Timer.dll", - "tools/net461-x86/System.Threading.dll", - "tools/net461-x86/System.ValueTuple.dll", - "tools/net461-x86/System.Xml.ReaderWriter.dll", - "tools/net461-x86/System.Xml.XDocument.dll", - "tools/net461-x86/System.Xml.XPath.XDocument.dll", - "tools/net461-x86/System.Xml.XPath.dll", - "tools/net461-x86/System.Xml.XmlDocument.dll", - "tools/net461-x86/System.Xml.XmlSerializer.dll", - "tools/net461-x86/netstandard.dll", - "tools/net461/GetDocument.Insider.exe", - "tools/net461/GetDocument.Insider.exe.config", - "tools/net461/Microsoft.Win32.Primitives.dll", - "tools/net461/System.AppContext.dll", - "tools/net461/System.Buffers.dll", - "tools/net461/System.Collections.Concurrent.dll", - "tools/net461/System.Collections.NonGeneric.dll", - "tools/net461/System.Collections.Specialized.dll", - "tools/net461/System.Collections.dll", - "tools/net461/System.ComponentModel.EventBasedAsync.dll", - "tools/net461/System.ComponentModel.Primitives.dll", - "tools/net461/System.ComponentModel.TypeConverter.dll", - "tools/net461/System.ComponentModel.dll", - "tools/net461/System.Console.dll", - "tools/net461/System.Data.Common.dll", - "tools/net461/System.Diagnostics.Contracts.dll", - "tools/net461/System.Diagnostics.Debug.dll", - "tools/net461/System.Diagnostics.DiagnosticSource.dll", - "tools/net461/System.Diagnostics.FileVersionInfo.dll", - "tools/net461/System.Diagnostics.Process.dll", - "tools/net461/System.Diagnostics.StackTrace.dll", - "tools/net461/System.Diagnostics.TextWriterTraceListener.dll", - "tools/net461/System.Diagnostics.Tools.dll", - "tools/net461/System.Diagnostics.TraceSource.dll", - "tools/net461/System.Diagnostics.Tracing.dll", - "tools/net461/System.Drawing.Primitives.dll", - "tools/net461/System.Dynamic.Runtime.dll", - "tools/net461/System.Globalization.Calendars.dll", - "tools/net461/System.Globalization.Extensions.dll", - "tools/net461/System.Globalization.dll", - "tools/net461/System.IO.Compression.ZipFile.dll", - "tools/net461/System.IO.Compression.dll", - "tools/net461/System.IO.FileSystem.DriveInfo.dll", - "tools/net461/System.IO.FileSystem.Primitives.dll", - "tools/net461/System.IO.FileSystem.Watcher.dll", - "tools/net461/System.IO.FileSystem.dll", - "tools/net461/System.IO.IsolatedStorage.dll", - "tools/net461/System.IO.MemoryMappedFiles.dll", - "tools/net461/System.IO.Pipes.dll", - "tools/net461/System.IO.UnmanagedMemoryStream.dll", - "tools/net461/System.IO.dll", - "tools/net461/System.Linq.Expressions.dll", - "tools/net461/System.Linq.Parallel.dll", - "tools/net461/System.Linq.Queryable.dll", - "tools/net461/System.Linq.dll", - "tools/net461/System.Memory.dll", - "tools/net461/System.Net.Http.dll", - "tools/net461/System.Net.NameResolution.dll", - "tools/net461/System.Net.NetworkInformation.dll", - "tools/net461/System.Net.Ping.dll", - "tools/net461/System.Net.Primitives.dll", - "tools/net461/System.Net.Requests.dll", - "tools/net461/System.Net.Security.dll", - "tools/net461/System.Net.Sockets.dll", - "tools/net461/System.Net.WebHeaderCollection.dll", - "tools/net461/System.Net.WebSockets.Client.dll", - "tools/net461/System.Net.WebSockets.dll", - "tools/net461/System.Numerics.Vectors.dll", - "tools/net461/System.ObjectModel.dll", - "tools/net461/System.Reflection.Extensions.dll", - "tools/net461/System.Reflection.Primitives.dll", - "tools/net461/System.Reflection.dll", - "tools/net461/System.Resources.Reader.dll", - "tools/net461/System.Resources.ResourceManager.dll", - "tools/net461/System.Resources.Writer.dll", - "tools/net461/System.Runtime.CompilerServices.Unsafe.dll", - "tools/net461/System.Runtime.CompilerServices.VisualC.dll", - "tools/net461/System.Runtime.Extensions.dll", - "tools/net461/System.Runtime.Handles.dll", - "tools/net461/System.Runtime.InteropServices.RuntimeInformation.dll", - "tools/net461/System.Runtime.InteropServices.dll", - "tools/net461/System.Runtime.Numerics.dll", - "tools/net461/System.Runtime.Serialization.Formatters.dll", - "tools/net461/System.Runtime.Serialization.Json.dll", - "tools/net461/System.Runtime.Serialization.Primitives.dll", - "tools/net461/System.Runtime.Serialization.Xml.dll", - "tools/net461/System.Runtime.dll", - "tools/net461/System.Security.Claims.dll", - "tools/net461/System.Security.Cryptography.Algorithms.dll", - "tools/net461/System.Security.Cryptography.Csp.dll", - "tools/net461/System.Security.Cryptography.Encoding.dll", - "tools/net461/System.Security.Cryptography.Primitives.dll", - "tools/net461/System.Security.Cryptography.X509Certificates.dll", - "tools/net461/System.Security.Principal.dll", - "tools/net461/System.Security.SecureString.dll", - "tools/net461/System.Text.Encoding.Extensions.dll", - "tools/net461/System.Text.Encoding.dll", - "tools/net461/System.Text.RegularExpressions.dll", - "tools/net461/System.Threading.Overlapped.dll", - "tools/net461/System.Threading.Tasks.Parallel.dll", - "tools/net461/System.Threading.Tasks.dll", - "tools/net461/System.Threading.Thread.dll", - "tools/net461/System.Threading.ThreadPool.dll", - "tools/net461/System.Threading.Timer.dll", - "tools/net461/System.Threading.dll", - "tools/net461/System.ValueTuple.dll", - "tools/net461/System.Xml.ReaderWriter.dll", - "tools/net461/System.Xml.XDocument.dll", - "tools/net461/System.Xml.XPath.XDocument.dll", - "tools/net461/System.Xml.XPath.dll", - "tools/net461/System.Xml.XmlDocument.dll", - "tools/net461/System.Xml.XmlSerializer.dll", - "tools/net461/netstandard.dll", - "tools/netcoreapp2.1/GetDocument.Insider.deps.json", - "tools/netcoreapp2.1/GetDocument.Insider.dll", - "tools/netcoreapp2.1/GetDocument.Insider.runtimeconfig.json", - "tools/netcoreapp2.1/System.Diagnostics.DiagnosticSource.dll" - ] - }, - "Microsoft.Extensions.Caching.Abstractions/9.0.0": { - "sha512": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==", - "type": "package", - "path": "microsoft.extensions.caching.abstractions/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/net9.0/Microsoft.Extensions.Caching.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml", - "microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512", - "microsoft.extensions.caching.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Caching.Memory/9.0.0": { - "sha512": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==", - "type": "package", - "path": "microsoft.extensions.caching.memory/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets", - "lib/net462/Microsoft.Extensions.Caching.Memory.dll", - "lib/net462/Microsoft.Extensions.Caching.Memory.xml", - "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net8.0/Microsoft.Extensions.Caching.Memory.xml", - "lib/net9.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/net9.0/Microsoft.Extensions.Caching.Memory.xml", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll", - "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml", - "microsoft.extensions.caching.memory.9.0.0.nupkg.sha512", - "microsoft.extensions.caching.memory.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Configuration.Abstractions/9.0.0": { - "sha512": "lqvd7W3FGKUO1+ZoUEMaZ5XDJeWvjpy2/M/ptCGz3tXLD4HWVaSzjufsAsjemasBEg+2SxXVtYVvGt5r2nKDlg==", - "type": "package", - "path": "microsoft.extensions.configuration.abstractions/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml", - "microsoft.extensions.configuration.abstractions.9.0.0.nupkg.sha512", - "microsoft.extensions.configuration.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.DependencyInjection/9.0.0": { - "sha512": "MCPrg7v3QgNMr0vX4vzRXvkNGgLg8vKWX0nKCWUxu2uPyMsaRgiRc1tHBnbTcfJMhMKj2slE/j2M9oGkd25DNw==", - "type": "package", - "path": "microsoft.extensions.dependencyinjection/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.xml", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/net9.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/net9.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.xml", - "microsoft.extensions.dependencyinjection.9.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": { - "sha512": "+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg==", - "type": "package", - "path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512", - "microsoft.extensions.dependencyinjection.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.DependencyModel/9.0.0": { - "sha512": "saxr2XzwgDU77LaQfYFXmddEDRUKHF4DaGMZkNB3qjdVSZlax3//dGJagJkKrGMIPNZs2jVFXITyCCR6UHJNdA==", - "type": "package", - "path": "microsoft.extensions.dependencymodel/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.DependencyModel.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyModel.targets", - "lib/net462/Microsoft.Extensions.DependencyModel.dll", - "lib/net462/Microsoft.Extensions.DependencyModel.xml", - "lib/net8.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net8.0/Microsoft.Extensions.DependencyModel.xml", - "lib/net9.0/Microsoft.Extensions.DependencyModel.dll", - "lib/net9.0/Microsoft.Extensions.DependencyModel.xml", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll", - "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.xml", - "microsoft.extensions.dependencymodel.9.0.0.nupkg.sha512", - "microsoft.extensions.dependencymodel.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging/9.0.0": { - "sha512": "crjWyORoug0kK7RSNJBTeSE6VX8IQgLf3nUpTB9m62bPXp/tzbnOsnbe8TXEG0AASNaKZddnpHKw7fET8E++Pg==", - "type": "package", - "path": "microsoft.extensions.logging/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Logging.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.targets", - "lib/net462/Microsoft.Extensions.Logging.dll", - "lib/net462/Microsoft.Extensions.Logging.xml", - "lib/net8.0/Microsoft.Extensions.Logging.dll", - "lib/net8.0/Microsoft.Extensions.Logging.xml", - "lib/net9.0/Microsoft.Extensions.Logging.dll", - "lib/net9.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.xml", - "lib/netstandard2.1/Microsoft.Extensions.Logging.dll", - "lib/netstandard2.1/Microsoft.Extensions.Logging.xml", - "microsoft.extensions.logging.9.0.0.nupkg.sha512", - "microsoft.extensions.logging.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Logging.Abstractions/9.0.0": { - "sha512": "g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==", - "type": "package", - "path": "microsoft.extensions.logging.abstractions/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net462/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml", - "microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512", - "microsoft.extensions.logging.abstractions.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Options/9.0.0": { - "sha512": "y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==", - "type": "package", - "path": "microsoft.extensions.options/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll", - "buildTransitive/net461/Microsoft.Extensions.Options.targets", - "buildTransitive/net462/Microsoft.Extensions.Options.targets", - "buildTransitive/net8.0/Microsoft.Extensions.Options.targets", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets", - "buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets", - "lib/net462/Microsoft.Extensions.Options.dll", - "lib/net462/Microsoft.Extensions.Options.xml", - "lib/net8.0/Microsoft.Extensions.Options.dll", - "lib/net8.0/Microsoft.Extensions.Options.xml", - "lib/net9.0/Microsoft.Extensions.Options.dll", - "lib/net9.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.0/Microsoft.Extensions.Options.dll", - "lib/netstandard2.0/Microsoft.Extensions.Options.xml", - "lib/netstandard2.1/Microsoft.Extensions.Options.dll", - "lib/netstandard2.1/Microsoft.Extensions.Options.xml", - "microsoft.extensions.options.9.0.0.nupkg.sha512", - "microsoft.extensions.options.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.Extensions.Primitives/9.0.0": { - "sha512": "N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==", - "type": "package", - "path": "microsoft.extensions.primitives/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/Microsoft.Extensions.Primitives.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets", - "lib/net462/Microsoft.Extensions.Primitives.dll", - "lib/net462/Microsoft.Extensions.Primitives.xml", - "lib/net8.0/Microsoft.Extensions.Primitives.dll", - "lib/net8.0/Microsoft.Extensions.Primitives.xml", - "lib/net9.0/Microsoft.Extensions.Primitives.dll", - "lib/net9.0/Microsoft.Extensions.Primitives.xml", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll", - "lib/netstandard2.0/Microsoft.Extensions.Primitives.xml", - "microsoft.extensions.primitives.9.0.0.nupkg.sha512", - "microsoft.extensions.primitives.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "Microsoft.OpenApi/1.6.22": { - "sha512": "aBvunmrdu/x+4CaA/UP1Jx4xWGwk4kymhoIRnn2Vp+zi5/KOPQJ9EkSXHRUr01WcGKtYl3Au7XfkPJbU1G2sjQ==", - "type": "package", - "path": "microsoft.openapi/1.6.22", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "README.md", - "lib/netstandard2.0/Microsoft.OpenApi.dll", - "lib/netstandard2.0/Microsoft.OpenApi.pdb", - "lib/netstandard2.0/Microsoft.OpenApi.xml", - "microsoft.openapi.1.6.22.nupkg.sha512", - "microsoft.openapi.nuspec" - ] - }, - "RJCP.Core.Environment/0.3.0": { - "sha512": "LTNnaHJ6bcA698eRVnMwDVlWEv0q3FUKxQ18Dxv5N0ivfJVwM8Bf+QTBsBPoFrowXqvSJ3Of4ZufPoHPauF7FA==", - "type": "package", - "path": "rjcp.core.environment/0.3.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net40/RJCP.Core.Environment.dll", - "lib/net40/RJCP.Core.Environment.pdb", - "lib/net40/RJCP.Core.Environment.xml", - "lib/net40/de/RJCP.Core.Environment.resources.dll", - "lib/net6.0/RJCP.Core.Environment.dll", - "lib/net6.0/RJCP.Core.Environment.pdb", - "lib/net6.0/RJCP.Core.Environment.xml", - "lib/net6.0/de/RJCP.Core.Environment.resources.dll", - "lib/net8.0/RJCP.Core.Environment.dll", - "lib/net8.0/RJCP.Core.Environment.pdb", - "lib/net8.0/RJCP.Core.Environment.xml", - "lib/net8.0/de/RJCP.Core.Environment.resources.dll", - "rjcp.core.environment.0.3.0.nupkg.sha512", - "rjcp.core.environment.nuspec", - "src/Environment/Platform.cs", - "src/Environment/Properties/AssemblyInfo.cs", - "src/Environment/RJCP.Environment.csproj", - "src/Environment/Resources/Messages.Designer.cs", - "src/Environment/Resources/Messages.de.resx", - "src/Environment/Resources/Messages.resx", - "src/Environment/Xdg.IXdgResolver.cs", - "src/Environment/Xdg.SpecialFolder.cs", - "src/Environment/Xdg.XdgUnix.cs", - "src/Environment/Xdg.XdgUnknown.cs", - "src/Environment/Xdg.XdgWindows.cs", - "src/Environment/Xdg.cs" - ] - }, - "RJCP.Core.SysCompat/0.2.0": { - "sha512": "FlMmlbneu3IOtN7oebY3InUbahsMcBfY7Q1+LBxBRJqJKWwT0+ALmshKpqd4ebzB2jItXF5Sgk7OWH47AiSAYQ==", - "type": "package", - "path": "rjcp.core.syscompat/0.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net40/RJCP.Core.SysCompat.dll", - "lib/net40/RJCP.Core.SysCompat.pdb", - "lib/net40/RJCP.Core.SysCompat.xml", - "lib/net462/RJCP.Core.SysCompat.dll", - "lib/net462/RJCP.Core.SysCompat.pdb", - "lib/net462/RJCP.Core.SysCompat.xml", - "lib/net6.0/RJCP.Core.SysCompat.dll", - "lib/net6.0/RJCP.Core.SysCompat.pdb", - "lib/net6.0/RJCP.Core.SysCompat.xml", - "lib/net8.0/RJCP.Core.SysCompat.dll", - "lib/net8.0/RJCP.Core.SysCompat.pdb", - "lib/net8.0/RJCP.Core.SysCompat.xml", - "rjcp.core.syscompat.0.2.0.nupkg.sha512", - "rjcp.core.syscompat.nuspec", - "src/SysCompat/Properties/AssemblyInfo.cs", - "src/SysCompat/RJCP.Core.SysCompat.csproj", - "src/SysCompat/System/Diagnostics/CodeAnalysis/DoesNotReturnAttribute.cs", - "src/SysCompat/System/Runtime/CompilerServices/CallerArgumentExpressionAttribute.cs", - "src/SysCompat/System/Runtime/Versioning/OSPlatformAttribute.cs", - "src/SysCompat/System/Runtime/Versioning/SupportedOSPlatformAttribute.cs", - "src/SysCompat/System/ThrowHelper+ArgumentNullException.cs", - "src/SysCompat/System/ThrowHelper+ArgumentOutOfRangeException.cs", - "src/SysCompat/System/ThrowHelper+Array.cs", - "src/SysCompat/System/ThrowHelper+Enum.cs", - "src/SysCompat/System/ThrowHelper+ObjectDisposedException.cs" - ] - }, - "RJCP.Diagnostics.Trace/0.2.1": { - "sha512": "g7572Ox0uNwXQ6LILKSsP/euzZKFmkCIA98qmCrwuchAMr8YbXZd03BGct5j9XCItrY4wcHNRh503DV4uJjt7Q==", - "type": "package", - "path": "rjcp.diagnostics.trace/0.2.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net40/RJCP.Diagnostics.Trace.dll", - "lib/net40/RJCP.Diagnostics.Trace.pdb", - "lib/net40/RJCP.Diagnostics.Trace.xml", - "lib/net6.0/RJCP.Diagnostics.Trace.dll", - "lib/net6.0/RJCP.Diagnostics.Trace.pdb", - "lib/net6.0/RJCP.Diagnostics.Trace.xml", - "lib/net8.0/RJCP.Diagnostics.Trace.dll", - "lib/net8.0/RJCP.Diagnostics.Trace.pdb", - "lib/net8.0/RJCP.Diagnostics.Trace.xml", - "rjcp.diagnostics.trace.0.2.1.nupkg.sha512", - "rjcp.diagnostics.trace.nuspec", - "src/Trace/Internal/LineSplitter.cs", - "src/Trace/LogSource.cs", - "src/Trace/LoggerTraceListener.cs", - "src/Trace/Properties/AssemblyInfo.cs", - "src/Trace/RJCP.Diagnostics.Trace.csproj" - ] - }, - "RJCP.IO.Buffer/0.2.1": { - "sha512": "P8k0OTxuzHqe+xaYuhGmmwKeLgkH610UMwSn13cEhrz01s8XY2ibb1pV0Kvkei44fomno8SvbgpuPr0WkW1bzg==", - "type": "package", - "path": "rjcp.io.buffer/0.2.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net40/RJCP.IO.Buffer.dll", - "lib/net40/RJCP.IO.Buffer.pdb", - "lib/net40/RJCP.IO.Buffer.xml", - "lib/net462/RJCP.IO.Buffer.dll", - "lib/net462/RJCP.IO.Buffer.pdb", - "lib/net462/RJCP.IO.Buffer.xml", - "lib/net6.0/RJCP.IO.Buffer.dll", - "lib/net6.0/RJCP.IO.Buffer.pdb", - "lib/net6.0/RJCP.IO.Buffer.xml", - "lib/net8.0/RJCP.IO.Buffer.dll", - "lib/net8.0/RJCP.IO.Buffer.pdb", - "lib/net8.0/RJCP.IO.Buffer.xml", - "rjcp.io.buffer.0.2.1.nupkg.sha512", - "rjcp.io.buffer.nuspec", - "src/BufferIO/AsyncResult.cs", - "src/BufferIO/AsyncResultT.cs", - "src/BufferIO/Buffer/CircularBuffer.cs", - "src/BufferIO/Buffer/CircularBufferExtensions.cs", - "src/BufferIO/Buffer/Memory/IReadBuffer.cs", - "src/BufferIO/Buffer/Memory/IReadBufferStream.cs", - "src/BufferIO/Buffer/Memory/IWriteBuffer.cs", - "src/BufferIO/Buffer/Memory/IWriteBufferStream.cs", - "src/BufferIO/Buffer/MemoryReadBuffer.cs", - "src/BufferIO/Buffer/MemoryWriteBuffer.cs", - "src/BufferIO/Properties/AssemblyInfo.cs", - "src/BufferIO/RJCP.IO.Buffer.csproj", - "src/BufferIO/Resources.Designer.cs", - "src/BufferIO/Resources.resx", - "src/BufferIO/Timer/TimerExpiry.cs" - ] - }, - "RJCP.IO.Device/0.8.1": { - "sha512": "WDx+5EJyIUx4tE8pJaXIXBony5GgDlbZUlLDHv4RLlVv62KunuPPImO66YJrKMkCDy5eSsSNVNYNGd0jxwkTLg==", - "type": "package", - "path": "rjcp.io.device/0.8.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net40/RJCP.IO.Device.dll", - "lib/net40/RJCP.IO.Device.pdb", - "lib/net40/RJCP.IO.Device.xml", - "lib/net462/RJCP.IO.Device.dll", - "lib/net462/RJCP.IO.Device.pdb", - "lib/net462/RJCP.IO.Device.xml", - "lib/net6.0/RJCP.IO.Device.dll", - "lib/net6.0/RJCP.IO.Device.pdb", - "lib/net6.0/RJCP.IO.Device.xml", - "lib/net8.0/RJCP.IO.Device.dll", - "lib/net8.0/RJCP.IO.Device.pdb", - "lib/net8.0/RJCP.IO.Device.xml", - "rjcp.io.device.0.8.1.nupkg.sha512", - "rjcp.io.device.nuspec", - "src/DeviceMgr/GlobalSuppressions.cs", - "src/DeviceMgr/IO/DeviceMgr/DeviceCapabilities.cs", - "src/DeviceMgr/IO/DeviceMgr/DeviceInstance.cs", - "src/DeviceMgr/IO/DeviceMgr/DeviceProblem.cs", - "src/DeviceMgr/IO/DeviceMgr/DeviceProperty.cs", - "src/DeviceMgr/IO/DeviceMgr/DeviceStatus.cs", - "src/DeviceMgr/IO/DeviceMgr/LocateMode.cs", - "src/DeviceMgr/IO/DeviceMgr/Log.cs", - "src/DeviceMgr/IO/DeviceMgr/ReadOnlyList.cs", - "src/DeviceMgr/Native/Marshalling.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32+CM_DRP.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32+CM_LOCATE_DEVINST.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32+CONFIGRET.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32+DN_STATUS.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32+RegDisposition.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32.Managed.cs", - "src/DeviceMgr/Native/Win32/CfgMgr32.cs", - "src/DeviceMgr/Native/Win32/Kernel32+GetOsVersion.cs", - "src/DeviceMgr/Native/Win32/Kernel32+OSVERSIONINFO.cs", - "src/DeviceMgr/Native/Win32/Kernel32+OSVERSIONINFOEX.cs", - "src/DeviceMgr/Native/Win32/Kernel32+REGSAM.cs", - "src/DeviceMgr/Native/Win32/Kernel32+REG_DATATYPE.cs", - "src/DeviceMgr/Native/Win32/Kernel32+WinPlatformId.cs", - "src/DeviceMgr/Native/Win32/Kernel32.cs", - "src/DeviceMgr/Native/Win32/NtDll.cs", - "src/DeviceMgr/Native/Win32/SafeDevInst.cs", - "src/DeviceMgr/Properties/AssemblyInfo.cs", - "src/DeviceMgr/RJCP.IO.DeviceMgr.csproj" - ] - }, - "RJCP.SerialPortStream/3.0.1": { - "sha512": "CJ9mdcxZ1lfYEO8KJkH2V+9mRZC7J1RDnW8Xzgb+bGtPTEof8stYGbB1GD0MKnQJZRbn8Hrfrpn6r+Dq2LkpCA==", - "type": "package", - "path": "rjcp.serialportstream/3.0.1", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.md", - "README.md", - "lib/net40/RJCP.SerialPortStream.dll", - "lib/net40/RJCP.SerialPortStream.pdb", - "lib/net40/RJCP.SerialPortStream.xml", - "lib/net462/RJCP.SerialPortStream.dll", - "lib/net462/RJCP.SerialPortStream.pdb", - "lib/net462/RJCP.SerialPortStream.xml", - "lib/net6.0/RJCP.SerialPortStream.dll", - "lib/net6.0/RJCP.SerialPortStream.pdb", - "lib/net6.0/RJCP.SerialPortStream.xml", - "lib/net8.0/RJCP.SerialPortStream.dll", - "lib/net8.0/RJCP.SerialPortStream.pdb", - "lib/net8.0/RJCP.SerialPortStream.xml", - "rjcp.serialportstream.3.0.1.nupkg.sha512", - "rjcp.serialportstream.nuspec", - "src/code/Datastructures/ReusableList.cs", - "src/code/GlobalSuppressions.cs", - "src/code/HandShake.cs", - "src/code/ISerialPortStreamFactory.cs", - "src/code/InternalApplicationException.cs", - "src/code/Log.cs", - "src/code/Native/Unix/LibNSerial+Dll.cs", - "src/code/Native/Unix/LibNSerial+SafeSerialHandle.cs", - "src/code/Native/Unix/LibNSerial+SerialReadWriteEvent.cs", - "src/code/Native/Unix/LibNSerial+SysErrNo.cs", - "src/code/Native/Unix/LibNSerial+WaitForModemEvent.cs", - "src/code/Native/Unix/LibNSerial.cs", - "src/code/Native/Win32/Kernel32+COMMTIMEOUTS.cs", - "src/code/Native/Win32/Kernel32+COMSTAT.cs", - "src/code/Native/Win32/Kernel32+ComStatErrors.cs", - "src/code/Native/Win32/Kernel32+ComStatFlags.cs", - "src/code/Native/Win32/Kernel32+CommProp.cs", - "src/code/Native/Win32/Kernel32+CreationDisposition.cs", - "src/code/Native/Win32/Kernel32+DCB.cs", - "src/code/Native/Win32/Kernel32+DcbFlags.cs", - "src/code/Native/Win32/Kernel32+ExtendedFunctions.cs", - "src/code/Native/Win32/Kernel32+FileAccess.cs", - "src/code/Native/Win32/Kernel32+FileAttributes.cs", - "src/code/Native/Win32/Kernel32+FileShare.cs", - "src/code/Native/Win32/Kernel32+FileType.cs", - "src/code/Native/Win32/Kernel32+MaxBaud.cs", - "src/code/Native/Win32/Kernel32+ModemStat.cs", - "src/code/Native/Win32/Kernel32+ProvCapabilities.cs", - "src/code/Native/Win32/Kernel32+ProvSubType.cs", - "src/code/Native/Win32/Kernel32+PurgeFlags.cs", - "src/code/Native/Win32/Kernel32+SerialEventMask.cs", - "src/code/Native/Win32/Kernel32+SettableData.cs", - "src/code/Native/Win32/Kernel32+SettableParams.cs", - "src/code/Native/Win32/Kernel32+SettableStopParity.cs", - "src/code/Native/Win32/Kernel32.cs", - "src/code/Native/Win32/WinError.cs", - "src/code/Parity.cs", - "src/code/PortDescription.cs", - "src/code/Properties/AssemblyInfo.cs", - "src/code/Serial/INativeSerial.T.cs", - "src/code/Serial/INativeSerial.cs", - "src/code/Serial/IReadChars.cs", - "src/code/Serial/ISerialReadBuffer.cs", - "src/code/Serial/ISerialWriteBuffer.cs", - "src/code/Serial/IWinNativeSettings.cs", - "src/code/Serial/SerialBuffer.cs", - "src/code/Serial/SerialBufferEventArgs.cs", - "src/code/Serial/SerialReadBuffer.cs", - "src/code/Serial/SerialWriteBuffer.cs", - "src/code/Serial/UnixNativeSerial.cs", - "src/code/Serial/WinNativeSerial.cs", - "src/code/Serial/Windows/CommErrorEventArgs.cs", - "src/code/Serial/Windows/CommEventArgs.cs", - "src/code/Serial/Windows/CommModemStatus.cs", - "src/code/Serial/Windows/CommOverlappedIo.cs", - "src/code/Serial/Windows/CommProperties.cs", - "src/code/Serial/Windows/CommState.cs", - "src/code/Serial/Windows/DtrControl.cs", - "src/code/Serial/Windows/RtsControl.cs", - "src/code/Serial/Windows/WinNativeSettings.cs", - "src/code/SerialData.cs", - "src/code/SerialDataEventArgs.cs", - "src/code/SerialError.cs", - "src/code/SerialErrorReceivedEventArgs.cs", - "src/code/SerialPinChange.cs", - "src/code/SerialPinChangedEventArgs.cs", - "src/code/SerialPortStream.T.cs", - "src/code/SerialPortStream.cs", - "src/code/SerialPortStream.csproj", - "src/code/SerialPortStreamFactory.cs", - "src/code/StopBits.cs", - "src/code/WinSerialPortStream.cs" - ] - }, - "runtime.android-arm.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "zF8HT4aoFZkWF4OxhFLxUNEfoIjyILg0aQhgIR3m+dbLE4yadMd7kdctMvPhYYaVpnilmBCIjiQsrxH4UC/JxQ==", - "type": "package", - "path": "runtime.android-arm.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.android-arm.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.android-arm.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/libSystem.IO.Ports.Native.so", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.android-arm64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "JVRoxUTXhyFfDak3GLbZh9oPjz+eVJwiZQWOU/TQ1Nj7us11GMc97IBsRzjGDtGJvFOWhGhEkka8SYmVcwpA2A==", - "type": "package", - "path": "runtime.android-arm64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.android-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.android-arm64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/libSystem.IO.Ports.Native.so", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.android-x64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "QMWQv8nptbkzEDPUOmVwo3l/ve1pgApqv/eGY/eIJoNCGxUP6MYUu/GHdznRaBlSkuRyhFN8osVyqZMFKlBA7g==", - "type": "package", - "path": "runtime.android-x64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.android-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.android-x64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/libSystem.IO.Ports.Native.so", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.android-x86.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "NRuTmUukSfpbv1wdJJXvWE/v1+aRHw5OxEODGeyKuFGy09uZIfFsdU1SPXB1cGPHsUaZRhZfOVel30zEgRQiUw==", - "type": "package", - "path": "runtime.android-x86.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.android-x86.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.android-x86.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-arm.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "l5/3/3LfkemzovK66DrxsbGXRXIgmHaqYaYdhFR09lawWbPHhq4HJ0u2FzO+/neidm8bJtJAV6+iixMDuYIBgg==", - "type": "package", - "path": "runtime.linux-arm.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-arm.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-arm.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-arm64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "q69FDpp5XSq3lJUMyMpUXBXTh6ekNM1NCnM5aYYiIx4AY1cH/rgLSwR4n2wQJqC6yuL0Z/epSf3KoYLYT8++Yg==", - "type": "package", - "path": "runtime.linux-arm64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-arm64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-bionic-arm64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "kAOBq4UnR0B2UirRxLsPx4BIzt61Ydw40FFCe9NcFSncV6q+ikuhgN6eOrcaOcSu5QUiXacQRgFUX1Pux6ckYg==", - "type": "package", - "path": "runtime.linux-bionic-arm64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-bionic-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-bionic-arm64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-bionic-x64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "yCpRhte4+7C6ULKGA4qLaXGjQJwoygqyzgUN9u2tkfyGkwBUS66SRr6nNx522+4ATI8ZFkgIIZIkTczY77rcZw==", - "type": "package", - "path": "runtime.linux-bionic-x64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-bionic-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-bionic-x64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-musl-arm.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "isaMOGqA4iIklwMt6wYTuPqj83D8DDUA2wainLqPjXaQ1Ri+5K8A+4J0BonjA/HMWtywBKnt2WGUXZ3DQN18ZA==", - "type": "package", - "path": "runtime.linux-musl-arm.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-musl-arm.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-musl-arm.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-musl-arm64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "yWsWQTf7r1aigde6EeoHzHhldoBw6fJ8AHR2ow4kobNuaS9Z/9rvLUFsGkAAY8GMUZadF5S1OGUsIzUd17RZBg==", - "type": "package", - "path": "runtime.linux-musl-arm64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-musl-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-musl-arm64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-musl-x64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "NxST2ZRBRGBjHWUnQwOYoyqFWHH4UcjAeTyjviSTOdwjSqq1JuGdp4sLzPzGDLiu4R7Per3QQ1GxYoLgAlIbOA==", - "type": "package", - "path": "runtime.linux-musl-x64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-musl-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-musl-x64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/libSystem.IO.Ports.Native.so", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.linux-x64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "4bmb9oP1DIu2ArJ2MH2sNGbO5V3VrZ0+8lotr3cQ2G5hh66+0yHiYkwvlwP7gkSOsZPhANeX3cicqHYaDsroQA==", - "type": "package", - "path": "runtime.linux-x64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.linux-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.linux-x64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/libSystem.IO.Ports.Native.so", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.maccatalyst-arm64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "k+VeOPbIx9A1/bmiw5pGBsuALGTA4UoC6SsGhcIMLyS6TMFgsjsOH1bAgim+/W1RdtR7dpPCWHNYhkrM8hXByA==", - "type": "package", - "path": "runtime.maccatalyst-arm64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.maccatalyst-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.maccatalyst-arm64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/libSystem.IO.Ports.Native.dylib", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.maccatalyst-x64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "k1WC+Y7ht+7Omq5iW1v2Yz5CpaGGlLvlNsGS8cDAG0IN3sXUrPyUkC/40/zTL8g8/c3UFjrW0igXcwKNYa+ZuA==", - "type": "package", - "path": "runtime.maccatalyst-x64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.maccatalyst-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.maccatalyst-x64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/libSystem.IO.Ports.Native.dylib", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.native.System.IO.Ports/9.0.0": { - "sha512": "iWyR+xohLUht80x5MREqF7zYD0KqyVpoS9uTg9raG0ddx5pvJkCPC4eS2JdkRYY6AqPjfMiiOEZ02ZWHEBgOvg==", - "type": "package", - "path": "runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.native.system.io.ports.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "runtime.osx-arm64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "ebr6uFzuICKkw9YePnCo7CdZFKYYhJZOJDJhACAKyzbT5WFvJWMyeACJIWS0uqndGMgWSc+D+UDdBu6CEpUOSg==", - "type": "package", - "path": "runtime.osx-arm64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.osx-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.osx-arm64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/libSystem.IO.Ports.Native.dylib", - "runtimes/osx-x64/native/_._", - "useSharedDesignerContext.txt" - ] - }, - "runtime.osx-x64.runtime.native.System.IO.Ports/9.0.0": { - "sha512": "66DA4FKnfIdrkyd8Kqym06s+F/U5/7TZdkV1DllGivUNUGkC8TG5W/3D4rhLoGQRjg0uurkPWqrQXWfPEghRpQ==", - "type": "package", - "path": "runtime.osx-x64.runtime.native.system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "runtime.osx-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "runtime.osx-x64.runtime.native.system.io.ports.nuspec", - "runtimes/android-arm/native/_._", - "runtimes/android-arm64/native/_._", - "runtimes/android-x64/native/_._", - "runtimes/android-x86/native/_._", - "runtimes/linux-arm/native/_._", - "runtimes/linux-arm64/native/_._", - "runtimes/linux-bionic-arm64/native/_._", - "runtimes/linux-bionic-x64/native/_._", - "runtimes/linux-musl-arm/native/_._", - "runtimes/linux-musl-arm64/native/_._", - "runtimes/linux-musl-x64/native/_._", - "runtimes/linux-x64/native/_._", - "runtimes/maccatalyst-arm64/native/_._", - "runtimes/maccatalyst-x64/native/_._", - "runtimes/osx-arm64/native/_._", - "runtimes/osx-x64/native/libSystem.IO.Ports.Native.dylib", - "useSharedDesignerContext.txt" - ] - }, - "SQLitePCLRaw.bundle_e_sqlite3/2.1.10": { - "sha512": "UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==", - "type": "package", - "path": "sqlitepclraw.bundle_e_sqlite3/2.1.10", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/monoandroid90/SQLitePCLRaw.batteries_v2.dll", - "lib/net461/SQLitePCLRaw.batteries_v2.dll", - "lib/net6.0-android31.0/SQLitePCLRaw.batteries_v2.dll", - "lib/net6.0-android31.0/SQLitePCLRaw.batteries_v2.xml", - "lib/net6.0-ios14.0/SQLitePCLRaw.batteries_v2.dll", - "lib/net6.0-ios14.2/SQLitePCLRaw.batteries_v2.dll", - "lib/net6.0-tvos10.0/SQLitePCLRaw.batteries_v2.dll", - "lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll", - "lib/xamarinios10/SQLitePCLRaw.batteries_v2.dll", - "sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512", - "sqlitepclraw.bundle_e_sqlite3.nuspec" - ] - }, - "SQLitePCLRaw.core/2.1.10": { - "sha512": "Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==", - "type": "package", - "path": "sqlitepclraw.core/2.1.10", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/netstandard2.0/SQLitePCLRaw.core.dll", - "sqlitepclraw.core.2.1.10.nupkg.sha512", - "sqlitepclraw.core.nuspec" - ] - }, - "SQLitePCLRaw.lib.e_sqlite3/2.1.10": { - "sha512": "mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==", - "type": "package", - "path": "sqlitepclraw.lib.e_sqlite3/2.1.10", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "buildTransitive/net461/SQLitePCLRaw.lib.e_sqlite3.targets", - "buildTransitive/net6.0/SQLitePCLRaw.lib.e_sqlite3.targets", - "buildTransitive/net7.0/SQLitePCLRaw.lib.e_sqlite3.targets", - "buildTransitive/net8.0/SQLitePCLRaw.lib.e_sqlite3.targets", - "buildTransitive/net9.0/SQLitePCLRaw.lib.e_sqlite3.targets", - "lib/net461/_._", - "lib/netstandard2.0/_._", - "runtimes/browser-wasm/nativeassets/net6.0/e_sqlite3.a", - "runtimes/browser-wasm/nativeassets/net7.0/e_sqlite3.a", - "runtimes/browser-wasm/nativeassets/net8.0/e_sqlite3.a", - "runtimes/browser-wasm/nativeassets/net9.0/e_sqlite3.a", - "runtimes/linux-arm/native/libe_sqlite3.so", - "runtimes/linux-arm64/native/libe_sqlite3.so", - "runtimes/linux-armel/native/libe_sqlite3.so", - "runtimes/linux-mips64/native/libe_sqlite3.so", - "runtimes/linux-musl-arm/native/libe_sqlite3.so", - "runtimes/linux-musl-arm64/native/libe_sqlite3.so", - "runtimes/linux-musl-s390x/native/libe_sqlite3.so", - "runtimes/linux-musl-x64/native/libe_sqlite3.so", - "runtimes/linux-ppc64le/native/libe_sqlite3.so", - "runtimes/linux-s390x/native/libe_sqlite3.so", - "runtimes/linux-x64/native/libe_sqlite3.so", - "runtimes/linux-x86/native/libe_sqlite3.so", - "runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib", - "runtimes/maccatalyst-x64/native/libe_sqlite3.dylib", - "runtimes/osx-arm64/native/libe_sqlite3.dylib", - "runtimes/osx-x64/native/libe_sqlite3.dylib", - "runtimes/win-arm/native/e_sqlite3.dll", - "runtimes/win-arm64/native/e_sqlite3.dll", - "runtimes/win-x64/native/e_sqlite3.dll", - "runtimes/win-x86/native/e_sqlite3.dll", - "runtimes/win10-arm/nativeassets/uap10.0/e_sqlite3.dll", - "runtimes/win10-arm64/nativeassets/uap10.0/e_sqlite3.dll", - "runtimes/win10-x64/nativeassets/uap10.0/e_sqlite3.dll", - "runtimes/win10-x86/nativeassets/uap10.0/e_sqlite3.dll", - "sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512", - "sqlitepclraw.lib.e_sqlite3.nuspec" - ] - }, - "SQLitePCLRaw.provider.e_sqlite3/2.1.10": { - "sha512": "uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==", - "type": "package", - "path": "sqlitepclraw.provider.e_sqlite3/2.1.10", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net6.0-windows7.0/SQLitePCLRaw.provider.e_sqlite3.dll", - "lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll", - "lib/netstandard2.0/SQLitePCLRaw.provider.e_sqlite3.dll", - "sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512", - "sqlitepclraw.provider.e_sqlite3.nuspec" - ] - }, - "Swashbuckle.AspNetCore/7.2.0": { - "sha512": "vJv19UpWm6OOgnS9QLDnWARNVasXUfj8SFvlG7UVALm4nBnfwRnEky7C0veSDqMUmBeMPC6Ec3d6G1ts/J04Uw==", - "type": "package", - "path": "swashbuckle.aspnetcore/7.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "build/Swashbuckle.AspNetCore.props", - "buildMultiTargeting/Swashbuckle.AspNetCore.props", - "docs/package-readme.md", - "swashbuckle.aspnetcore.7.2.0.nupkg.sha512", - "swashbuckle.aspnetcore.nuspec" - ] - }, - "Swashbuckle.AspNetCore.Swagger/7.2.0": { - "sha512": "y27fNDfIh1vGhJjXYynLcZjl7DLOW1bSO2MDsY9wB4Zm1fdxpPsuBSiR4U+0acWlAqLmnuOPKr/OeOgwRUkBlw==", - "type": "package", - "path": "swashbuckle.aspnetcore.swagger/7.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/net6.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/net6.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/net8.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/net8.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/net8.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/net9.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/net9.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/net9.0/Swashbuckle.AspNetCore.Swagger.xml", - "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.dll", - "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.pdb", - "lib/netstandard2.0/Swashbuckle.AspNetCore.Swagger.xml", - "package-readme.md", - "swashbuckle.aspnetcore.swagger.7.2.0.nupkg.sha512", - "swashbuckle.aspnetcore.swagger.nuspec" - ] - }, - "Swashbuckle.AspNetCore.SwaggerGen/7.2.0": { - "sha512": "pMrTxGVuXM7t4wqft5CNNU8A0++Yw5kTLmYhB6tbEcyBfO8xEF/Y8pkJhO6BZ/2MYONrRYoQTfPFJqu8fOf5WQ==", - "type": "package", - "path": "swashbuckle.aspnetcore.swaggergen/7.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/net9.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.dll", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.pdb", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerGen.xml", - "package-readme.md", - "swashbuckle.aspnetcore.swaggergen.7.2.0.nupkg.sha512", - "swashbuckle.aspnetcore.swaggergen.nuspec" - ] - }, - "Swashbuckle.AspNetCore.SwaggerUI/7.2.0": { - "sha512": "hgrXeKzyp5OGN8qVvL7A+vhmU7mDJTfGpiMBRL66IcfLOyna8UTLtn3cC3CghamXpRDufcc9ciklTszUGEQK0w==", - "type": "package", - "path": "swashbuckle.aspnetcore.swaggerui/7.2.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/net8.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/net9.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.dll", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.pdb", - "lib/netstandard2.0/Swashbuckle.AspNetCore.SwaggerUI.xml", - "package-readme.md", - "swashbuckle.aspnetcore.swaggerui.7.2.0.nupkg.sha512", - "swashbuckle.aspnetcore.swaggerui.nuspec" - ] - }, - "System.Diagnostics.DiagnosticSource/9.0.0": { - "sha512": "ddppcFpnbohLWdYKr/ZeLZHmmI+DXFgZ3Snq+/E7SwcdW4UnvxmaugkwGywvGVWkHPGCSZjCP+MLzu23AL5SDw==", - "type": "package", - "path": "system.diagnostics.diagnosticsource/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets", - "content/ILLink/ILLink.Descriptors.LibraryBuild.xml", - "contentFiles/any/net462/ILLink/ILLink.Descriptors.LibraryBuild.xml", - "contentFiles/any/net8.0/ILLink/ILLink.Descriptors.LibraryBuild.xml", - "contentFiles/any/net9.0/ILLink/ILLink.Descriptors.LibraryBuild.xml", - "contentFiles/any/netstandard2.0/ILLink/ILLink.Descriptors.LibraryBuild.xml", - "lib/net462/System.Diagnostics.DiagnosticSource.dll", - "lib/net462/System.Diagnostics.DiagnosticSource.xml", - "lib/net8.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net8.0/System.Diagnostics.DiagnosticSource.xml", - "lib/net9.0/System.Diagnostics.DiagnosticSource.dll", - "lib/net9.0/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml", - "system.diagnostics.diagnosticsource.9.0.0.nupkg.sha512", - "system.diagnostics.diagnosticsource.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.IO.Pipelines/9.0.0": { - "sha512": "eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==", - "type": "package", - "path": "system.io.pipelines/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.IO.Pipelines.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/System.IO.Pipelines.targets", - "lib/net462/System.IO.Pipelines.dll", - "lib/net462/System.IO.Pipelines.xml", - "lib/net8.0/System.IO.Pipelines.dll", - "lib/net8.0/System.IO.Pipelines.xml", - "lib/net9.0/System.IO.Pipelines.dll", - "lib/net9.0/System.IO.Pipelines.xml", - "lib/netstandard2.0/System.IO.Pipelines.dll", - "lib/netstandard2.0/System.IO.Pipelines.xml", - "system.io.pipelines.9.0.0.nupkg.sha512", - "system.io.pipelines.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.IO.Ports/9.0.0": { - "sha512": "NfEWew48r4MxHUnOQL7nw/5JBsz9dli8TJYpXjsAQu8tHH0QCq2ly4QMCc8wS9EAi1jvaFgq7ELdfwxvrKWALQ==", - "type": "package", - "path": "system.io.ports/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.IO.Ports.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/System.IO.Ports.targets", - "lib/net462/System.IO.Ports.dll", - "lib/net462/System.IO.Ports.xml", - "lib/net8.0/System.IO.Ports.dll", - "lib/net8.0/System.IO.Ports.xml", - "lib/net9.0/System.IO.Ports.dll", - "lib/net9.0/System.IO.Ports.xml", - "lib/netstandard2.0/System.IO.Ports.dll", - "lib/netstandard2.0/System.IO.Ports.xml", - "runtimes/unix/lib/net8.0/System.IO.Ports.dll", - "runtimes/unix/lib/net8.0/System.IO.Ports.xml", - "runtimes/unix/lib/net9.0/System.IO.Ports.dll", - "runtimes/unix/lib/net9.0/System.IO.Ports.xml", - "runtimes/win/lib/net8.0/System.IO.Ports.dll", - "runtimes/win/lib/net8.0/System.IO.Ports.xml", - "runtimes/win/lib/net9.0/System.IO.Ports.dll", - "runtimes/win/lib/net9.0/System.IO.Ports.xml", - "system.io.ports.9.0.0.nupkg.sha512", - "system.io.ports.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Memory/4.5.3": { - "sha512": "3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==", - "type": "package", - "path": "system.memory/4.5.3", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "LICENSE.TXT", - "THIRD-PARTY-NOTICES.TXT", - "lib/netcoreapp2.1/_._", - "lib/netstandard1.1/System.Memory.dll", - "lib/netstandard1.1/System.Memory.xml", - "lib/netstandard2.0/System.Memory.dll", - "lib/netstandard2.0/System.Memory.xml", - "ref/netcoreapp2.1/_._", - "system.memory.4.5.3.nupkg.sha512", - "system.memory.nuspec", - "useSharedDesignerContext.txt", - "version.txt" - ] - }, - "System.Text.Encodings.Web/9.0.0": { - "sha512": "e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==", - "type": "package", - "path": "system.text.encodings.web/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "buildTransitive/net461/System.Text.Encodings.Web.targets", - "buildTransitive/net462/_._", - "buildTransitive/net8.0/_._", - "buildTransitive/netcoreapp2.0/System.Text.Encodings.Web.targets", - "lib/net462/System.Text.Encodings.Web.dll", - "lib/net462/System.Text.Encodings.Web.xml", - "lib/net8.0/System.Text.Encodings.Web.dll", - "lib/net8.0/System.Text.Encodings.Web.xml", - "lib/net9.0/System.Text.Encodings.Web.dll", - "lib/net9.0/System.Text.Encodings.Web.xml", - "lib/netstandard2.0/System.Text.Encodings.Web.dll", - "lib/netstandard2.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net8.0/System.Text.Encodings.Web.xml", - "runtimes/browser/lib/net9.0/System.Text.Encodings.Web.dll", - "runtimes/browser/lib/net9.0/System.Text.Encodings.Web.xml", - "system.text.encodings.web.9.0.0.nupkg.sha512", - "system.text.encodings.web.nuspec", - "useSharedDesignerContext.txt" - ] - }, - "System.Text.Json/9.0.0": { - "sha512": "js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==", - "type": "package", - "path": "system.text.json/9.0.0", - "files": [ - ".nupkg.metadata", - ".signature.p7s", - "Icon.png", - "LICENSE.TXT", - "PACKAGE.md", - "THIRD-PARTY-NOTICES.TXT", - "analyzers/dotnet/roslyn3.11/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn3.11/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn3.11/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.0/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.0/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/System.Text.Json.SourceGeneration.dll", - "analyzers/dotnet/roslyn4.4/cs/cs/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/de/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/es/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/fr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/it/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ja/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ko/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pl/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/pt-BR/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/ru/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/tr/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hans/System.Text.Json.SourceGeneration.resources.dll", - "analyzers/dotnet/roslyn4.4/cs/zh-Hant/System.Text.Json.SourceGeneration.resources.dll", - "buildTransitive/net461/System.Text.Json.targets", - "buildTransitive/net462/System.Text.Json.targets", - "buildTransitive/net8.0/System.Text.Json.targets", - "buildTransitive/netcoreapp2.0/System.Text.Json.targets", - "buildTransitive/netstandard2.0/System.Text.Json.targets", - "lib/net462/System.Text.Json.dll", - "lib/net462/System.Text.Json.xml", - "lib/net8.0/System.Text.Json.dll", - "lib/net8.0/System.Text.Json.xml", - "lib/net9.0/System.Text.Json.dll", - "lib/net9.0/System.Text.Json.xml", - "lib/netstandard2.0/System.Text.Json.dll", - "lib/netstandard2.0/System.Text.Json.xml", - "system.text.json.9.0.0.nupkg.sha512", - "system.text.json.nuspec", - "useSharedDesignerContext.txt" - ] - } - }, - "projectFileDependencyGroups": { - "net8.0-windows10.0.26100": [ - "InTheHand.BluetoothLE >= 4.0.37", - "Microsoft.EntityFrameworkCore >= 9.0.0", - "Microsoft.EntityFrameworkCore.Sqlite >= 9.0.0", - "RJCP.SerialPortStream >= 3.0.1", - "Swashbuckle.AspNetCore >= 7.2.0", - "System.IO.Ports >= 9.0.0" - ] - }, - "packageFolders": { - "C:\\Users\\ckoch\\.nuget\\packages\\": {}, - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} - }, - "project": { - "version": "1.0.0", - "restore": { - "projectUniqueName": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj", - "projectName": "house-plant-api", - "projectPath": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj", - "packagesPath": "C:\\Users\\ckoch\\.nuget\\packages\\", - "outputPath": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\obj\\", - "projectStyle": "PackageReference", - "fallbackFolders": [ - "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" - ], - "configFilePaths": [ - "C:\\Users\\ckoch\\AppData\\Roaming\\NuGet\\NuGet.Config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", - "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" - ], - "originalTargetFrameworks": [ - "net8.0-windows10.0.26100.0" - ], - "sources": { - "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, - "C:\\Program Files\\dotnet\\library-packs": {}, - "https://api.nuget.org/v3/index.json": {} - }, - "frameworks": { - "net8.0-windows10.0.26100": { - "targetAlias": "net8.0-windows10.0.26100.0", - "projectReferences": {} - } - }, - "warningProperties": { - "warnAsError": [ - "NU1605" - ] - }, - "restoreAuditProperties": { - "enableAudit": "true", - "auditLevel": "low", - "auditMode": "direct" - }, - "SdkAnalysisLevel": "9.0.100" - }, - "frameworks": { - "net8.0-windows10.0.26100": { - "targetAlias": "net8.0-windows10.0.26100.0", - "dependencies": { - "InTheHand.BluetoothLE": { - "target": "Package", - "version": "[4.0.37, )" - }, - "Microsoft.EntityFrameworkCore": { - "target": "Package", - "version": "[9.0.0, )" - }, - "Microsoft.EntityFrameworkCore.Sqlite": { - "target": "Package", - "version": "[9.0.0, )" - }, - "RJCP.SerialPortStream": { - "target": "Package", - "version": "[3.0.1, )" - }, - "Swashbuckle.AspNetCore": { - "target": "Package", - "version": "[7.2.0, )" - }, - "System.IO.Ports": { - "target": "Package", - "version": "[9.0.0, )" - } - }, - "imports": [ - "net461", - "net462", - "net47", - "net471", - "net472", - "net48", - "net481" - ], - "assetTargetFallback": true, - "warn": true, - "downloadDependencies": [ - { - "name": "Microsoft.Windows.SDK.NET.Ref", - "version": "[10.0.26100.54, 10.0.26100.54]" - } - ], - "frameworkReferences": { - "Microsoft.AspNetCore.App": { - "privateAssets": "none" - }, - "Microsoft.NETCore.App": { - "privateAssets": "all" - }, - "Microsoft.Windows.SDK.NET.Ref.Windows": { - "privateAssets": "all" - } - }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.101/PortableRuntimeIdentifierGraph.json" - } - } - } -} \ No newline at end of file diff --git a/house-plant-api/obj/project.nuget.cache b/house-plant-api/obj/project.nuget.cache deleted file mode 100644 index 21dbfbf..0000000 --- a/house-plant-api/obj/project.nuget.cache +++ /dev/null @@ -1,67 +0,0 @@ -{ - "version": 2, - "dgSpecHash": "puDPynTpJjc=", - "success": true, - "projectFilePath": "C:\\Users\\ckoch\\Documents\\GitHub\\houseplant\\house-plant-api\\house-plant-api.csproj", - "expectedPackageFiles": [ - "C:\\Users\\ckoch\\.nuget\\packages\\inthehand.bluetoothle\\4.0.37\\inthehand.bluetoothle.4.0.37.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.data.sqlite.core\\9.0.0\\microsoft.data.sqlite.core.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.entityframeworkcore\\9.0.0\\microsoft.entityframeworkcore.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\9.0.0\\microsoft.entityframeworkcore.abstractions.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\9.0.0\\microsoft.entityframeworkcore.analyzers.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\9.0.0\\microsoft.entityframeworkcore.relational.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.entityframeworkcore.sqlite\\9.0.0\\microsoft.entityframeworkcore.sqlite.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.entityframeworkcore.sqlite.core\\9.0.0\\microsoft.entityframeworkcore.sqlite.core.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.apidescription.server\\6.0.5\\microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.0\\microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.0\\microsoft.extensions.caching.memory.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\9.0.0\\microsoft.extensions.configuration.abstractions.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.0\\microsoft.extensions.dependencyinjection.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.0\\microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.dependencymodel\\9.0.0\\microsoft.extensions.dependencymodel.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.logging\\9.0.0\\microsoft.extensions.logging.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.0\\microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.options\\9.0.0\\microsoft.extensions.options.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.0\\microsoft.extensions.primitives.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.openapi\\1.6.22\\microsoft.openapi.1.6.22.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\rjcp.core.environment\\0.3.0\\rjcp.core.environment.0.3.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\rjcp.core.syscompat\\0.2.0\\rjcp.core.syscompat.0.2.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\rjcp.diagnostics.trace\\0.2.1\\rjcp.diagnostics.trace.0.2.1.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\rjcp.io.buffer\\0.2.1\\rjcp.io.buffer.0.2.1.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\rjcp.io.device\\0.8.1\\rjcp.io.device.0.8.1.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\rjcp.serialportstream\\3.0.1\\rjcp.serialportstream.3.0.1.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.android-arm.runtime.native.system.io.ports\\9.0.0\\runtime.android-arm.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.android-arm64.runtime.native.system.io.ports\\9.0.0\\runtime.android-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.android-x64.runtime.native.system.io.ports\\9.0.0\\runtime.android-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.android-x86.runtime.native.system.io.ports\\9.0.0\\runtime.android-x86.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-arm.runtime.native.system.io.ports\\9.0.0\\runtime.linux-arm.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-arm64.runtime.native.system.io.ports\\9.0.0\\runtime.linux-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-bionic-arm64.runtime.native.system.io.ports\\9.0.0\\runtime.linux-bionic-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-bionic-x64.runtime.native.system.io.ports\\9.0.0\\runtime.linux-bionic-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-musl-arm.runtime.native.system.io.ports\\9.0.0\\runtime.linux-musl-arm.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-musl-arm64.runtime.native.system.io.ports\\9.0.0\\runtime.linux-musl-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-musl-x64.runtime.native.system.io.ports\\9.0.0\\runtime.linux-musl-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.linux-x64.runtime.native.system.io.ports\\9.0.0\\runtime.linux-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.maccatalyst-arm64.runtime.native.system.io.ports\\9.0.0\\runtime.maccatalyst-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.maccatalyst-x64.runtime.native.system.io.ports\\9.0.0\\runtime.maccatalyst-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.native.system.io.ports\\9.0.0\\runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.osx-arm64.runtime.native.system.io.ports\\9.0.0\\runtime.osx-arm64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\runtime.osx-x64.runtime.native.system.io.ports\\9.0.0\\runtime.osx-x64.runtime.native.system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.1.10\\sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\sqlitepclraw.core\\2.1.10\\sqlitepclraw.core.2.1.10.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.1.10\\sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.1.10\\sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\swashbuckle.aspnetcore\\7.2.0\\swashbuckle.aspnetcore.7.2.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\7.2.0\\swashbuckle.aspnetcore.swagger.7.2.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\7.2.0\\swashbuckle.aspnetcore.swaggergen.7.2.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\7.2.0\\swashbuckle.aspnetcore.swaggerui.7.2.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\system.diagnostics.diagnosticsource\\9.0.0\\system.diagnostics.diagnosticsource.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\system.io.pipelines\\9.0.0\\system.io.pipelines.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\system.io.ports\\9.0.0\\system.io.ports.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\system.text.encodings.web\\9.0.0\\system.text.encodings.web.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\system.text.json\\9.0.0\\system.text.json.9.0.0.nupkg.sha512", - "C:\\Users\\ckoch\\.nuget\\packages\\microsoft.windows.sdk.net.ref\\10.0.26100.54\\microsoft.windows.sdk.net.ref.10.0.26100.54.nupkg.sha512" - ], - "logs": [] -} \ No newline at end of file diff --git a/plant-browser/.vscode/extensions.json b/plant-browser/.vscode/extensions.json deleted file mode 100644 index 77b3745..0000000 --- a/plant-browser/.vscode/extensions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] -} diff --git a/plant-browser/.vscode/launch.json b/plant-browser/.vscode/launch.json deleted file mode 100644 index 925af83..0000000 --- a/plant-browser/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "ng serve", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" - }, - { - "name": "ng test", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" - } - ] -} diff --git a/plant-browser/.vscode/tasks.json b/plant-browser/.vscode/tasks.json deleted file mode 100644 index a298b5b..0000000 --- a/plant-browser/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - } - ] -} diff --git a/plant-browser/Dockerfile b/plant-browser/Dockerfile new file mode 100644 index 0000000..93af417 --- /dev/null +++ b/plant-browser/Dockerfile @@ -0,0 +1,25 @@ +# Stage 1: Build the Angular application +FROM node:18-alpine AS build + +WORKDIR /app + +COPY package*.json ./ +RUN npm install + +COPY . . +RUN npm run build --prod + +# Stage 2: Serve the Angular app using NGINX +FROM nginx:stable-alpine AS runtime + +COPY --from=build /app/dist/plant-browser/browser /usr/share/nginx/html + +# Remove the default NGINX configuration +RUN rm /etc/nginx/conf.d/default.conf + +# Copy custom NGINX configuration +COPY nginx.conf /etc/nginx/nginx.conf + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] diff --git a/plant-browser/angular.json b/plant-browser/angular.json index 4b7d7e1..6333dfc 100644 --- a/plant-browser/angular.json +++ b/plant-browser/angular.json @@ -40,6 +40,12 @@ }, "configurations": { "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], "budgets": [ { "type": "initial", @@ -106,4 +112,4 @@ "cli": { "analytics": "2f66f6d5-a013-454e-b4c4-03f39742aa12" } -} +} \ No newline at end of file diff --git a/plant-browser/nginx.conf b/plant-browser/nginx.conf new file mode 100644 index 0000000..9117d0d --- /dev/null +++ b/plant-browser/nginx.conf @@ -0,0 +1,45 @@ +# soilmoisture_client/nginx.conf + +worker_processes 1; + +events { worker_connections 1024; } + +http { + include mime.types; + default_type application/octet-stream; + + sendfile on; + keepalive_timeout 65; + + # Docker's internal DNS resolver + resolver 127.0.0.11 valid=10s; + + server { + listen 80; + server_name localhost; + + root /usr/share/nginx/html; + index index.html index.htm; + + # Serve Angular App with Client-Side Routing + location / { + try_files $uri $uri/ /index.html; + } + + # Proxy API Requests to ASP.NET Core API + location /api/ { + proxy_pass http://soilmoisture_api:80/api/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + + # Optional: Increase timeout settings if necessary + proxy_connect_timeout 600; + proxy_send_timeout 600; + proxy_read_timeout 600; + send_timeout 600; + } + } +} diff --git a/plant-browser/src/app/services/soil-data.service.ts b/plant-browser/src/app/services/soil-data.service.ts index 3193c84..de2dfe0 100644 --- a/plant-browser/src/app/services/soil-data.service.ts +++ b/plant-browser/src/app/services/soil-data.service.ts @@ -2,23 +2,24 @@ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { SoilData } from '../models/soil-data.model'; +import { environment } from '../../environments/environment'; @Injectable({ providedIn: 'root' }) export class SoilDataService { - private apiUrl = 'http://localhost:5284/api/'; // Replace with your actual API endpoint - - constructor(private http: HttpClient) {} + private baseUrl = environment.apiUrl; + + constructor(private http: HttpClient) { } getPlants(): Observable { - return this.http.get(this.apiUrl + 'devices'); + return this.http.get(`${this.baseUrl}/SoilMoisture`); } - // Update device nickname - updateNickname(name: string, nickname: string): Observable { - const url = `${this.apiUrl}devices/${encodeURIComponent(name)}/nickname`; - return this.http.put(url, { nickname: nickname }); - } + // Update device nickname + updateNickname(name: string, nickname: string): Observable { + const url = `${this.baseUrl}/Device/${encodeURIComponent(name)}/nickname`; + return this.http.put(url, { nickname: nickname }); + } } diff --git a/plant-browser/src/environments/environment.prod.ts b/plant-browser/src/environments/environment.prod.ts new file mode 100644 index 0000000..00cc9a4 --- /dev/null +++ b/plant-browser/src/environments/environment.prod.ts @@ -0,0 +1,4 @@ +export const environment = { + production: true, + apiUrl: '/api' // Relative path for production (handled by NGINX proxy) +}; diff --git a/plant-browser/src/environments/environment.ts b/plant-browser/src/environments/environment.ts new file mode 100644 index 0000000..97f45ea --- /dev/null +++ b/plant-browser/src/environments/environment.ts @@ -0,0 +1,4 @@ +export const environment = { + production: false, + apiUrl: 'http://localhost:8000/api' // For development +};