From bc46861dc218d5baae2de74c87af39d5a884b62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81api=C5=84ski?= Date: Wed, 21 Oct 2026 21:25:46 +0200 Subject: [PATCH 1/4] feat: extension points for packages and a reload interval for replicas - StoreConfigurationProvider and ConfigurationBuilder.AddProvider: a package can expose values kept in the store under keys of its own. ConfigWay reads the store once for every provider and reloads them together after a save. - ConfigurationBuilder.ReloadInterval: each replica checks the store and reloads when a setting was added, changed or removed, so a save reaches the other replicas. - AddUiExtension and GetCapabilities: the requests of an extension are mapped under the editor's API with its authorization, and the UI learns which extensions are there. - Way.Shell 2.1.1. --- README.md | 16 +- .../Integration/PostgresApiTests.cs | 20 +- .../Integration/SqlServerApiTests.cs | 20 +- .../Integration/ExtensionTests.cs | 172 ++++++++++++++++++ .../Unit/ConfigurationBuilderTests.cs | 35 ++++ .../Unit/ConfigurationProviderTests.cs | 135 +++++++++++++- .../API/GetCapabilities/GetCapabilities.cs | 8 + .../GetCapabilities/GetCapabilitiesHandler.cs | 10 + .../GetConfigurationHandler.cs | 4 +- .../ConfigurationBuilderExtensions.cs | 25 ++- .../EndpointRouteBuilderExtensions.cs | 6 +- src/ConfigWay/.nuget/README.md | 8 + src/ConfigWay/ConfigurationBuilder.cs | 24 +++ src/ConfigWay/ConfigurationProvider.cs | 90 +++++++-- src/ConfigWay/ConfigurationSource.cs | 2 +- .../HostApplicationBuilderExtensions.cs | 17 +- src/ConfigWay/ReloadService.cs | 38 ++++ src/ConfigWay/StoreConfigurationProvider.cs | 38 ++++ src/Directory.Packages.props | 2 +- 19 files changed, 646 insertions(+), 24 deletions(-) create mode 100644 src/ConfigWay.Tests/Integration/ExtensionTests.cs create mode 100644 src/ConfigWay.UI/API/GetCapabilities/GetCapabilities.cs create mode 100644 src/ConfigWay.UI/API/GetCapabilities/GetCapabilitiesHandler.cs create mode 100644 src/ConfigWay/ReloadService.cs create mode 100644 src/ConfigWay/StoreConfigurationProvider.cs diff --git a/README.md b/README.md index c9d3e91..9d817b5 100644 --- a/README.md +++ b/README.md @@ -226,9 +226,23 @@ app.UseWayShell("/admin").RequireAuthorization(); // every Way the user may op > Use `IOptionsSnapshot` or `IOptionsMonitor` in your code to always get the latest values after a reload. +## Several replicas + +A save reloads the configuration in the instance that handled it. When the app runs as several replicas sharing one store, let each of them check the store for changes: + +```csharp +builder.AddConfigWay(x => +{ + x.UsePostgreSql(connectionString); + x.ReloadInterval = TimeSpan.FromSeconds(30); +}); +``` + +Every 30 seconds each replica reads the store and reloads only when a setting was added, changed or removed, so the other replicas get a change within one interval. Without `ReloadInterval` they keep their values until a restart. + ## Limitations -- Changes are reloaded only in the instance that saved them. When the app runs as several replicas, the other replicas pick up the new values after a restart. +- Without `ReloadInterval`, changes are reloaded only in the instance that saved them (see [Several replicas](#several-replicas)). - Saves do not check for concurrent edits. If two people edit the same section at the same time, the last save wins. ## Custom store diff --git a/src/ConfigWay.PostgreSQL.Tests/Integration/PostgresApiTests.cs b/src/ConfigWay.PostgreSQL.Tests/Integration/PostgresApiTests.cs index 008f6a4..0dc3644 100644 --- a/src/ConfigWay.PostgreSQL.Tests/Integration/PostgresApiTests.cs +++ b/src/ConfigWay.PostgreSQL.Tests/Integration/PostgresApiTests.cs @@ -5,6 +5,8 @@ using Kododo.ConfigWay.UI; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Xunit; namespace Kododo.ConfigWay.PostgreSQL.Tests.Integration; @@ -158,6 +160,21 @@ public async Task UpdateConfiguration_NullValue_ClearsField() Assert.Null(field.Value); } + [Fact] + public async Task UpdateConfiguration_WithReloadInterval_ReachesAnotherReplica() + { + await using var replica = await CreateAppAsync(reloadInterval: TimeSpan.FromMilliseconds(100)); + var monitor = replica.Services.GetRequiredService>(); + + await PostUpdate(new[] { new { key = "Simple:Name", value = "FromAnotherReplica" } }); + + var deadline = DateTime.UtcNow.AddSeconds(10); + while (monitor.CurrentValue.Name != "FromAnotherReplica" && DateTime.UtcNow < deadline) + await Task.Delay(50); + + Assert.Equal("FromAnotherReplica", monitor.CurrentValue.Name); + } + private Task PostGetConfiguration() => _client.PostAsJsonAsync("/config/api/GetConfiguration", new { }); @@ -174,7 +191,7 @@ private async Task FetchSections() return (await response.Content.ReadFromJsonAsync())!; } - private async Task CreateAppAsync() + private async Task CreateAppAsync(TimeSpan? reloadInterval = null) { var builder = WebApplication.CreateBuilder(); builder.WebHost.UseTestServer(); @@ -185,6 +202,7 @@ private async Task CreateAppAsync() x.AddOptions("Nested"); x.UsePostgreSql(_fixture.ConnectionString); x.AddUiEditor(); + x.ReloadInterval = reloadInterval; }); var app = builder.Build(); diff --git a/src/ConfigWay.SqlServer.Tests/Integration/SqlServerApiTests.cs b/src/ConfigWay.SqlServer.Tests/Integration/SqlServerApiTests.cs index b55ca43..c7aec8f 100644 --- a/src/ConfigWay.SqlServer.Tests/Integration/SqlServerApiTests.cs +++ b/src/ConfigWay.SqlServer.Tests/Integration/SqlServerApiTests.cs @@ -5,6 +5,8 @@ using Kododo.ConfigWay.UI; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; using Xunit; namespace Kododo.ConfigWay.SqlServer.Tests.Integration; @@ -158,6 +160,21 @@ public async Task UpdateConfiguration_NullValue_ClearsField() Assert.Null(field.Value); } + [Fact] + public async Task UpdateConfiguration_WithReloadInterval_ReachesAnotherReplica() + { + await using var replica = await CreateAppAsync(reloadInterval: TimeSpan.FromMilliseconds(100)); + var monitor = replica.Services.GetRequiredService>(); + + await PostUpdate(new[] { new { key = "Simple:Name", value = "FromAnotherReplica" } }); + + var deadline = DateTime.UtcNow.AddSeconds(10); + while (monitor.CurrentValue.Name != "FromAnotherReplica" && DateTime.UtcNow < deadline) + await Task.Delay(50); + + Assert.Equal("FromAnotherReplica", monitor.CurrentValue.Name); + } + private Task PostGetConfiguration() => _client.PostAsJsonAsync("/config/api/GetConfiguration", new { }); @@ -174,7 +191,7 @@ private async Task FetchSections() return (await response.Content.ReadFromJsonAsync())!; } - private async Task CreateAppAsync() + private async Task CreateAppAsync(TimeSpan? reloadInterval = null) { var builder = WebApplication.CreateBuilder(); builder.WebHost.UseTestServer(); @@ -185,6 +202,7 @@ private async Task CreateAppAsync() x.AddOptions("Nested"); x.UseSqlServer(_fixture.ConnectionString); x.AddUiEditor(); + x.ReloadInterval = reloadInterval; }); var app = builder.Build(); diff --git a/src/ConfigWay.Tests/Integration/ExtensionTests.cs b/src/ConfigWay.Tests/Integration/ExtensionTests.cs new file mode 100644 index 0000000..f98f947 --- /dev/null +++ b/src/ConfigWay.Tests/Integration/ExtensionTests.cs @@ -0,0 +1,172 @@ +using System.Net; +using System.Net.Http.Json; +using Kododo.ConfigWay.Core.Model; +using Kododo.ConfigWay.UI; +using Kododo.Reiho.AspNetCore.API; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Xunit; + +namespace Kododo.ConfigWay.Tests.Integration; + +/// The extension points used by extension packages: providers, editor extensions and the reload interval. +public class ExtensionTests +{ + private static async Task<(WebApplication App, HttpClient Client)> StartAsync(Action configure) + { + var builder = WebApplication.CreateBuilder(); + builder.WebHost.UseTestServer(); + builder.AddConfigWay(x => + { + x.AddOptions("Simple"); + x.AddUiEditor(); + configure(x); + }); + var app = builder.Build(); + app.UseConfigWay().AllowAnonymous(); + await app.StartAsync(); + return (app, app.GetTestClient()); + } + + [Fact] + public async Task GetCapabilities_WithoutExtensions_ReturnsNoExtensions() + { + var (app, client) = await StartAsync(_ => { }); + await using var _ = app; + + var capabilities = await PostAsync(client, "GetCapabilities"); + + Assert.Empty(capabilities.Extensions); + } + + [Fact] + public async Task GetCapabilities_ReturnsTheExtensionIds() + { + var (app, client) = await StartAsync(x => x.AddUiExtension("test", typeof(ExtensionTests).Assembly)); + await using var _ = app; + + var capabilities = await PostAsync(client, "GetCapabilities"); + + Assert.Equal(["test"], capabilities.Extensions); + } + + [Fact] + public async Task ExtensionRequests_AreHandledUnderTheEditorsApi() + { + var (app, client) = await StartAsync(x => x.AddUiExtension("test", typeof(ExtensionTests).Assembly)); + await using var _ = app; + + var response = await client.PostAsJsonAsync("/config/api/PingExtension", new { Name = "flags" }); + + Assert.Equal(HttpStatusCode.OK, response.StatusCode); + Assert.Equal("pong flags", await response.Content.ReadFromJsonAsync()); + } + + [Fact] + public async Task ExtensionRequests_WithoutTheExtension_AreNotFound() + { + var (app, client) = await StartAsync(_ => { }); + await using var _ = app; + + var response = await client.PostAsJsonAsync("/config/api/PingExtension", new { Name = "flags" }); + + // No API endpoint: the POST falls through to the shell's GET-only routes. + Assert.False(response.IsSuccessStatusCode); + } + + [Fact] + public async Task Provider_ExposesItsKeysAndIsReloadedWithConfigWay() + { + var (app, _) = await StartAsync(x => x.AddProvider(new PrefixProvider("ext/", "Ext:"))); + await using var __ = app; + var configuration = app.Services.GetRequiredService(); + Assert.Null(configuration["Ext:Beta"]); + + var store = app.Services.GetRequiredService().Store; + await store.SetAsync([new Setting("ext/Beta", "on")]); + await app.Services.GetRequiredService().ReloadAllAsync(CancellationToken.None); + + Assert.Equal("on", configuration["Ext:Beta"]); + Assert.Null(configuration["ext/Beta"]); + } + + [Fact] + public async Task Provider_IsExcludedFromTheDefaultsShownInTheEditor() + { + var (app, client) = await StartAsync(x => x.AddProvider(new PrefixProvider("ext/", "Simple:"))); + await using var __ = app; + + var store = app.Services.GetRequiredService().Store; + await store.SetAsync([new Setting("ext/Name", "from-extension")]); + await app.Services.GetRequiredService().ReloadAllAsync(CancellationToken.None); + + var json = await (await client.PostAsJsonAsync("/config/api/GetConfiguration", new { })) + .Content.ReadAsStringAsync(); + + Assert.Contains("\"value\":\"from-extension\"", json); + Assert.DoesNotContain("\"defaultValue\":\"from-extension\"", json); + } + + [Fact] + public async Task ReloadInterval_PicksUpChangesMadeByAnotherInstance() + { + var (app, _) = await StartAsync(x => x.ReloadInterval = TimeSpan.FromMilliseconds(50)); + await using var __ = app; + var monitor = app.Services.GetRequiredService>(); + Assert.Equal(string.Empty, monitor.CurrentValue.Name); + + // Another instance writes to the shared store without reloading this one. + var store = app.Services.GetRequiredService().Store; + await store.SetAsync([new Setting("Simple:Name", "Bob")]); + + var deadline = DateTime.UtcNow.AddSeconds(5); + while (monitor.CurrentValue.Name != "Bob" && DateTime.UtcNow < deadline) + await Task.Delay(20); + + Assert.Equal("Bob", monitor.CurrentValue.Name); + } + + [Fact] + public async Task WithoutReloadInterval_ChangesMadeByAnotherInstanceAreNotPickedUp() + { + var (app, _) = await StartAsync(_ => { }); + await using var __ = app; + var monitor = app.Services.GetRequiredService>(); + + var store = app.Services.GetRequiredService().Store; + await store.SetAsync([new Setting("Simple:Name", "Bob")]); + await Task.Delay(200); + + Assert.Equal(string.Empty, monitor.CurrentValue.Name); + } + + private static async Task PostAsync(HttpClient client, string request) + { + var response = await client.PostAsJsonAsync($"/config/api/{request}", new { }); + response.EnsureSuccessStatusCode(); + return (await response.Content.ReadFromJsonAsync())!; + } + + private sealed record CapabilitiesBody(string[] Extensions); +} + +/// A request of the test extension. +internal record PingExtension(string Name) : IRequest; + +internal sealed class PingExtensionHandler : IRequestHandler +{ + public Task HandleAsync(PingExtension request, CancellationToken cancellationToken) => + Task.FromResult($"pong {request.Name}"); +} + +/// Exposes the settings whose key starts with a store prefix under a configuration prefix. +file sealed class PrefixProvider(string storePrefix, string configurationPrefix) : StoreConfigurationProvider +{ + protected override IEnumerable> Select(IReadOnlyList settings) => + settings + .Where(s => s.Key.StartsWith(storePrefix, StringComparison.OrdinalIgnoreCase)) + .Select(s => new KeyValuePair(configurationPrefix + s.Key[storePrefix.Length..], s.Value)); +} diff --git a/src/ConfigWay.Tests/Unit/ConfigurationBuilderTests.cs b/src/ConfigWay.Tests/Unit/ConfigurationBuilderTests.cs index eeffb5d..88280f7 100644 --- a/src/ConfigWay.Tests/Unit/ConfigurationBuilderTests.cs +++ b/src/ConfigWay.Tests/Unit/ConfigurationBuilderTests.cs @@ -64,9 +64,44 @@ public void Build_WithDefaultStore_UsesInMemoryStore() Assert.NotNull(config.Store); } + [Fact] + public void AddProvider_KeepsTheProvidersInOrder() + { + var builder = CreateBuilder(); + var first = new EmptyProvider(); + var second = new EmptyProvider(); + + builder.AddProvider(first).AddProvider(second); + + Assert.Equal([first, second], builder.Providers); + } + + [Fact] + public void ReloadInterval_DefaultsToNull() + { + Assert.Null(CreateBuilder().ReloadInterval); + } + + [Theory] + [InlineData(0)] + [InlineData(-1)] + public void AddConfigWay_WithANonPositiveReloadInterval_Throws(int seconds) + { + var appBuilder = WebApplication.CreateBuilder(); + + Assert.Throws(() => + appBuilder.AddConfigWay(x => x.ReloadInterval = TimeSpan.FromSeconds(seconds))); + } + private static ConfigurationBuilder CreateBuilder() { var appBuilder = WebApplication.CreateBuilder(); return new ConfigurationBuilder(appBuilder); } } + +file sealed class EmptyProvider : StoreConfigurationProvider +{ + protected override IEnumerable> Select( + IReadOnlyList settings) => []; +} diff --git a/src/ConfigWay.Tests/Unit/ConfigurationProviderTests.cs b/src/ConfigWay.Tests/Unit/ConfigurationProviderTests.cs index 7736d42..dab81e3 100644 --- a/src/ConfigWay.Tests/Unit/ConfigurationProviderTests.cs +++ b/src/ConfigWay.Tests/Unit/ConfigurationProviderTests.cs @@ -121,13 +121,144 @@ public async Task ReloadAsync_FiresChangeToken() Assert.True(changed); } - private static ConfigurationProvider CreateProvider(IStore store, params CoreOptions[] options) + [Fact] + public void Load_PassesEverySettingToTheExtensionProviders() + { + var store = Substitute.For(); + store.GetAllAsync().Returns([ + new Setting("Simple:Name", "Alice"), + new Setting("ext/Beta", "on"), + ]); + + var extension = new PrefixProvider("ext/"); + var provider = CreateProvider(store, [extension], new CoreOptions("Simple", typeof(SimpleOptions))); + provider.Load(); + + Assert.True(extension.TryGet("Beta", out var beta)); + Assert.Equal("on", beta); + Assert.False(extension.TryGet("Simple:Name", out _)); + Assert.False(provider.TryGet("ext/Beta", out _)); + } + + [Fact] + public async Task ReloadAsync_UpdatesTheExtensionProvidersAndFiresTheirChangeTokens() + { + var store = Substitute.For(); + store.GetAllAsync().Returns([new Setting("ext/Beta", "off")]); + + var extension = new PrefixProvider("ext/"); + var provider = CreateProvider(store, [extension]); + provider.Load(); + + var changed = false; + extension.GetReloadToken().RegisterChangeCallback(_ => changed = true, null); + + store.GetAllAsync().Returns([new Setting("ext/Beta", "on")]); + await ((IConfigurationEditor)provider).ReloadAllAsync(CancellationToken.None); + + extension.TryGet("Beta", out var value); + Assert.Equal("on", value); + Assert.True(changed); + } + + [Fact] + public void ExtensionProvider_Load_KeepsThePushedData() + { + var store = Substitute.For(); + store.GetAllAsync().Returns([new Setting("ext/Beta", "on")]); + + var extension = new PrefixProvider("ext/"); + CreateProvider(store, [extension]).Load(); + extension.Load(); + + Assert.True(extension.TryGet("Beta", out _)); + } + + [Fact] + public async Task ReloadIfChangedAsync_WithoutChanges_DoesNotReload() + { + var store = Substitute.For(); + store.GetAllAsync().Returns([new Setting("Simple:Name", "Alice")]); + + var provider = CreateProvider(store, new CoreOptions("Simple", typeof(SimpleOptions))); + provider.Load(); + + var changed = false; + provider.GetReloadToken().RegisterChangeCallback(_ => changed = true, null); + + store.GetAllAsync().Returns([new Setting("Simple:Name", "Alice")]); + var reloaded = await provider.ReloadIfChangedAsync(CancellationToken.None); + + Assert.False(reloaded); + Assert.False(changed); + } + + public static TheoryData ChangedStores => new() + { + { [new Setting("Simple:Name", "Bob")] }, + { [new Setting("Simple:Name", null)] }, + { [] }, + { [new Setting("Simple:Name", "Alice"), new Setting("Simple:Value", "1")] }, + { [new Setting("Simple:Name", "Alice"), new Setting("Unknown:Key", "x")] }, + }; + + [Theory] + [MemberData(nameof(ChangedStores))] + public async Task ReloadIfChangedAsync_WhenTheStoreChanged_Reloads(Setting[] current) + { + var store = Substitute.For(); + store.GetAllAsync().Returns([new Setting("Simple:Name", "Alice")]); + + var provider = CreateProvider(store, new CoreOptions("Simple", typeof(SimpleOptions))); + provider.Load(); + + var changed = false; + provider.GetReloadToken().RegisterChangeCallback(_ => changed = true, null); + + store.GetAllAsync().Returns(current); + var reloaded = await provider.ReloadIfChangedAsync(CancellationToken.None); + + Assert.True(reloaded); + Assert.True(changed); + } + + [Fact] + public async Task ReloadIfChangedAsync_AfterReload_ComparesWithTheReloadedValues() + { + var store = Substitute.For(); + store.GetAllAsync().Returns([new Setting("Simple:Name", "Alice")]); + + var provider = CreateProvider(store, new CoreOptions("Simple", typeof(SimpleOptions))); + provider.Load(); + + store.GetAllAsync().Returns([new Setting("Simple:Name", "Bob")]); + await ((IConfigurationEditor)provider).ReloadAllAsync(CancellationToken.None); + + Assert.False(await provider.ReloadIfChangedAsync(CancellationToken.None)); + } + + private static ConfigurationProvider CreateProvider(IStore store, params CoreOptions[] options) => + CreateProvider(store, [], options); + + private static ConfigurationProvider CreateProvider( + IStore store, + StoreConfigurationProvider[] extensions, + params CoreOptions[] options) { var config = new Configuration(store, options); - return new ConfigurationProvider(config); + return new ConfigurationProvider(config, extensions); } } +/// Exposes the settings whose key starts with a prefix, without the prefix. +file sealed class PrefixProvider(string prefix) : StoreConfigurationProvider +{ + protected override IEnumerable> Select(IReadOnlyList settings) => + settings + .Where(s => s.Key.StartsWith(prefix, StringComparison.OrdinalIgnoreCase)) + .Select(s => new KeyValuePair(s.Key[prefix.Length..], s.Value)); +} + file class ReadOnlyPropOptions { public string ReadOnly { get; } = string.Empty; diff --git a/src/ConfigWay.UI/API/GetCapabilities/GetCapabilities.cs b/src/ConfigWay.UI/API/GetCapabilities/GetCapabilities.cs new file mode 100644 index 0000000..56d1325 --- /dev/null +++ b/src/ConfigWay.UI/API/GetCapabilities/GetCapabilities.cs @@ -0,0 +1,8 @@ +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.UI.API.GetCapabilities; + +internal record GetCapabilities : IRequest; + +/// The ids of the editor extensions added by extension packages, e.g. flags. +internal record Capabilities(string[] Extensions); diff --git a/src/ConfigWay.UI/API/GetCapabilities/GetCapabilitiesHandler.cs b/src/ConfigWay.UI/API/GetCapabilities/GetCapabilitiesHandler.cs new file mode 100644 index 0000000..8c71265 --- /dev/null +++ b/src/ConfigWay.UI/API/GetCapabilities/GetCapabilitiesHandler.cs @@ -0,0 +1,10 @@ +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.UI.API.GetCapabilities; + +internal sealed class GetCapabilitiesHandler(IEnumerable extensions) + : IRequestHandler +{ + public Task HandleAsync(GetCapabilities request, CancellationToken cancellationToken) => + Task.FromResult(new Capabilities(extensions.Select(e => e.Id).Distinct().ToArray())); +} diff --git a/src/ConfigWay.UI/API/GetConfiguration/GetConfigurationHandler.cs b/src/ConfigWay.UI/API/GetConfiguration/GetConfigurationHandler.cs index a222bac..72e982e 100644 --- a/src/ConfigWay.UI/API/GetConfiguration/GetConfigurationHandler.cs +++ b/src/ConfigWay.UI/API/GetConfiguration/GetConfigurationHandler.cs @@ -1,4 +1,4 @@ -using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations; using System.Reflection; using Kododo.ConfigWay.Core.Configuration; using Kododo.ConfigWay.UI.DTO; @@ -19,7 +19,7 @@ private static IConfigurationRoot BuildBaseConfig(IConfiguration cfg) ?? throw new InvalidOperationException( $"{nameof(GetConfigurationHandler)} requires IConfiguration to implement IConfigurationRoot."); return new ConfigurationRoot( - root.Providers.Where(p => p is not ConfigurationProvider).ToList()); + root.Providers.Where(p => p is not StoreConfigurationProvider).ToList()); } public Task HandleAsync(GetConfiguration request, CancellationToken cancellationToken) diff --git a/src/ConfigWay.UI/ConfigurationBuilderExtensions.cs b/src/ConfigWay.UI/ConfigurationBuilderExtensions.cs index c3a1e2d..ebe5e3e 100644 --- a/src/ConfigWay.UI/ConfigurationBuilderExtensions.cs +++ b/src/ConfigWay.UI/ConfigurationBuilderExtensions.cs @@ -1,5 +1,7 @@ -using Kododo.Reiho.AspNetCore.API; +using System.Reflection; +using Kododo.Reiho.AspNetCore.API; using Kododo.Way.Shell; +using Microsoft.Extensions.DependencyInjection; namespace Kododo.ConfigWay.UI; @@ -22,4 +24,25 @@ public static ConfigurationBuilder AddUiEditor(this ConfigurationBuilder builder builder.Services.AddWayShell(); return builder; } + + /// + /// Adds an extension of the editor, used by extension packages. The API requests of the assembly are handled + /// under {path}/api next to the editor's own, behind the same authorization, and the extension id is + /// reported to the UI, which shows the views of the extensions it knows. + /// + /// The ConfigWay configuration builder. + /// The extension id known to the UI, e.g. flags. + /// The assembly with the extension's API requests and handlers. + /// The same builder instance for method chaining. + public static ConfigurationBuilder AddUiExtension(this ConfigurationBuilder builder, string id, Assembly requests) + { + ArgumentException.ThrowIfNullOrWhiteSpace(id); + ArgumentNullException.ThrowIfNull(requests); + + builder.Services.AddRequestHandlers(requests); + builder.Services.AddSingleton(new UiExtension(id, requests)); + return builder; + } } + +internal sealed record UiExtension(string Id, Assembly Requests); diff --git a/src/ConfigWay.UI/EndpointRouteBuilderExtensions.cs b/src/ConfigWay.UI/EndpointRouteBuilderExtensions.cs index 038b038..0ed54d5 100644 --- a/src/ConfigWay.UI/EndpointRouteBuilderExtensions.cs +++ b/src/ConfigWay.UI/EndpointRouteBuilderExtensions.cs @@ -2,6 +2,7 @@ using Kododo.Way.Shell; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Routing; +using Microsoft.Extensions.DependencyInjection; namespace Kododo.ConfigWay.UI; @@ -39,7 +40,10 @@ public static class EndpointRouteBuilderExtensions public RouteGroupBuilder UseConfigWay(string path = "/config") { var configwayEndpoints = endpoints.MapWay(Module, path); - configwayEndpoints.MapGroup("/api").MapRequests(typeof(EndpointRouteBuilderExtensions).Assembly); + var api = configwayEndpoints.MapGroup("/api"); + api.MapRequests(typeof(EndpointRouteBuilderExtensions).Assembly); + foreach (var extension in endpoints.ServiceProvider.GetServices()) + api.MapRequests(extension.Requests); return configwayEndpoints; } } diff --git a/src/ConfigWay/.nuget/README.md b/src/ConfigWay/.nuget/README.md index 996acd1..a6f29c5 100644 --- a/src/ConfigWay/.nuget/README.md +++ b/src/ConfigWay/.nuget/README.md @@ -76,6 +76,14 @@ builder.AddConfigWay(x => }); ``` +## Several replicas + +A save reloads the configuration in the instance that handled it. With several replicas sharing one store, let each of them check the store for changes: + +```csharp +x.ReloadInterval = TimeSpan.FromSeconds(30); +``` + ## Security The `/config` route is not protected by default: diff --git a/src/ConfigWay/ConfigurationBuilder.cs b/src/ConfigWay/ConfigurationBuilder.cs index 808252c..bdaf5a1 100644 --- a/src/ConfigWay/ConfigurationBuilder.cs +++ b/src/ConfigWay/ConfigurationBuilder.cs @@ -27,8 +27,18 @@ public sealed class ConfigurationBuilder(IHostApplicationBuilder builder) /// public IStore Store { get; set; } = new InMemoryStore(); + /// + /// Gets or sets how often ConfigWay checks the store for changes made by other instances of the application. + /// When a setting was added, changed or removed, the configuration is reloaded as after a save in the UI. + /// Defaults to null: no checks, so the changes reach only the instance that saved them. + /// Set it when the application runs as several replicas, e.g. to TimeSpan.FromSeconds(30). + /// + public TimeSpan? ReloadInterval { get; set; } + internal Dictionary OptionTypes { get; } = []; + internal List Providers { get; } = []; + /// /// Registers an options class so that ConfigWay can read, display, and persist /// its values through the UI editor. @@ -51,6 +61,20 @@ public sealed class ConfigurationBuilder(IHostApplicationBuilder builder) return this; } + /// + /// Adds a configuration provider that exposes values kept in the store under keys of its own. + /// Used by extension packages; the provider is added to the application configuration right after ConfigWay's + /// own provider and is reloaded together with it. + /// + /// The provider to add. + /// The same builder instance for method chaining. + public ConfigurationBuilder AddProvider(StoreConfigurationProvider provider) + { + ArgumentNullException.ThrowIfNull(provider); + Providers.Add(provider); + return this; + } + internal Configuration Build() { return new Configuration( diff --git a/src/ConfigWay/ConfigurationProvider.cs b/src/ConfigWay/ConfigurationProvider.cs index aeec943..4f04330 100644 --- a/src/ConfigWay/ConfigurationProvider.cs +++ b/src/ConfigWay/ConfigurationProvider.cs @@ -1,4 +1,5 @@ using Kododo.ConfigWay.Core.Configuration; +using Kododo.ConfigWay.Core.Model; namespace Kododo.ConfigWay; @@ -16,35 +17,100 @@ namespace Kododo.ConfigWay; public interface IConfigurationEditor { /// - /// Reloads all ConfigWay overrides from the store and notifies - /// subscribers. + /// Reloads all ConfigWay overrides from the store, including the providers added by extension packages, + /// and notifies subscribers. /// Task ReloadAllAsync(CancellationToken stoppingToken); } -internal sealed class ConfigurationProvider(Configuration configuration) - : Microsoft.Extensions.Configuration.ConfigurationProvider, IConfigurationEditor +internal sealed class ConfigurationProvider( + Configuration configuration, + IReadOnlyList? extensions = null) + : StoreConfigurationProvider, IConfigurationEditor { private readonly HashSet _exactKeys = BuildExactKeys(configuration); private readonly HashSet _arrayPrefixes = BuildArrayPrefixes(configuration); + private readonly IReadOnlyList _extensions = extensions ?? []; + private readonly SemaphoreSlim _reloadLock = new(1, 1); + private Dictionary _loaded = new(StringComparer.Ordinal); public override void Load() { - LoadAsync().GetAwaiter().GetResult(); + var settings = configuration.Store.GetAllAsync().GetAwaiter().GetResult(); + Apply(settings, notify: false); } async Task IConfigurationEditor.ReloadAllAsync(CancellationToken stoppingToken) { - await LoadAsync(stoppingToken); - OnReload(); + await _reloadLock.WaitAsync(stoppingToken); + try + { + var settings = await configuration.Store.GetAllAsync(stoppingToken); + Apply(settings, notify: true); + } + finally + { + _reloadLock.Release(); + } + } + + /// + /// Reads the store and reloads the providers only when a setting was added, changed or removed since the last + /// load, e.g. by another instance of the application. + /// + /// true when the values changed and the providers were reloaded. + internal async Task ReloadIfChangedAsync(CancellationToken stoppingToken) + { + await _reloadLock.WaitAsync(stoppingToken); + try + { + var settings = await configuration.Store.GetAllAsync(stoppingToken); + if (!HasChanged(settings)) + return false; + + Apply(settings, notify: true); + return true; + } + finally + { + _reloadLock.Release(); + } + } + + protected override IEnumerable> Select(IReadOnlyList settings) => + settings + .Where(s => IsAllowedKey(s.Key)) + .Select(s => new KeyValuePair(s.Key, s.Value)); + + private void Apply(IReadOnlyList settings, bool notify) + { + _loaded = Snapshot(settings); + + Apply(settings); + foreach (var extension in _extensions) + extension.Apply(settings); + + if (!notify) + return; + + NotifyReload(); + foreach (var extension in _extensions) + extension.NotifyReload(); + } + + private bool HasChanged(IReadOnlyList settings) + { + var current = Snapshot(settings); + return current.Count != _loaded.Count || + current.Any(s => !_loaded.TryGetValue(s.Key, out var value) || value != s.Value); } - private async Task LoadAsync(CancellationToken stoppingToken = default) + private static Dictionary Snapshot(IReadOnlyList settings) { - var entries = await configuration.Store.GetAllAsync(stoppingToken); - Data = entries - .Where(e => IsAllowedKey(e.Key)) - .ToDictionary(e => e.Key, e => e.Value, StringComparer.OrdinalIgnoreCase); + var snapshot = new Dictionary(StringComparer.Ordinal); + foreach (var setting in settings) + snapshot[setting.Key] = setting.Value; + return snapshot; } private bool IsAllowedKey(string key) => diff --git a/src/ConfigWay/ConfigurationSource.cs b/src/ConfigWay/ConfigurationSource.cs index 773b9fe..bb234e7 100644 --- a/src/ConfigWay/ConfigurationSource.cs +++ b/src/ConfigWay/ConfigurationSource.cs @@ -2,7 +2,7 @@ namespace Kododo.ConfigWay; -internal sealed class ConfigurationSource(ConfigurationProvider configurationProvider) : IConfigurationSource +internal sealed class ConfigurationSource(StoreConfigurationProvider configurationProvider) : IConfigurationSource { public IConfigurationProvider Build(IConfigurationBuilder builder) { diff --git a/src/ConfigWay/HostApplicationBuilderExtensions.cs b/src/ConfigWay/HostApplicationBuilderExtensions.cs index db4719b..ff198a0 100644 --- a/src/ConfigWay/HostApplicationBuilderExtensions.cs +++ b/src/ConfigWay/HostApplicationBuilderExtensions.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; namespace Kododo.ConfigWay; @@ -35,10 +36,24 @@ public static void AddConfigWay(this IHostApplicationBuilder builder, Action(x => configurationProvider); + + // The main provider loads the store for the extension providers too, so it is added first. builder.Configuration.Add(new ConfigurationSource(configurationProvider)); + foreach (var provider in configurationBuilder.Providers) + builder.Configuration.Add(new ConfigurationSource(provider)); + + if (configurationBuilder.ReloadInterval is { } interval) + { + if (interval <= TimeSpan.Zero) + throw new ArgumentOutOfRangeException( + nameof(configure), interval, $"{nameof(ConfigurationBuilder.ReloadInterval)} must be positive."); + + builder.Services.AddHostedService(x => new ReloadService( + configurationProvider, interval, x.GetRequiredService>())); + } } } diff --git a/src/ConfigWay/ReloadService.cs b/src/ConfigWay/ReloadService.cs new file mode 100644 index 0000000..ecfb07e --- /dev/null +++ b/src/ConfigWay/ReloadService.cs @@ -0,0 +1,38 @@ +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; + +namespace Kododo.ConfigWay; + +/// +/// Checks the store every and reloads the configuration when +/// another instance of the application changed it. +/// +internal sealed class ReloadService( + ConfigurationProvider configurationProvider, + TimeSpan interval, + ILogger logger) : BackgroundService +{ + protected override async Task ExecuteAsync(CancellationToken stoppingToken) + { + using var timer = new PeriodicTimer(interval); + try + { + while (await timer.WaitForNextTickAsync(stoppingToken)) + { + try + { + if (await configurationProvider.ReloadIfChangedAsync(stoppingToken)) + logger.LogInformation("ConfigWay settings changed in the store; the configuration was reloaded."); + } + catch (Exception ex) when (ex is not OperationCanceledException) + { + // The store may be unavailable for a while; the current values stay and the next tick tries again. + logger.LogWarning(ex, "ConfigWay could not check the store for changes."); + } + } + } + catch (OperationCanceledException) when (stoppingToken.IsCancellationRequested) + { + } + } +} diff --git a/src/ConfigWay/StoreConfigurationProvider.cs b/src/ConfigWay/StoreConfigurationProvider.cs new file mode 100644 index 0000000..fb1acbf --- /dev/null +++ b/src/ConfigWay/StoreConfigurationProvider.cs @@ -0,0 +1,38 @@ +using Kododo.ConfigWay.Core.Model; + +namespace Kododo.ConfigWay; + +/// +/// Base class for configuration providers that expose values kept in the ConfigWay store. +/// Extension packages derive from it and register the provider with +/// ; ConfigWay reads the store once and hands every setting to each +/// provider, so a save or a reload updates all of them together. +/// +/// +/// does nothing: the data is pushed by ConfigWay when it loads or reloads the store. +/// +public abstract class StoreConfigurationProvider : Microsoft.Extensions.Configuration.ConfigurationProvider +{ + /// + /// Maps the settings read from the store to the configuration keys this provider exposes. + /// Settings that do not belong to the provider are skipped. + /// + /// Every setting in the store. + /// The configuration keys and values; keys are compared case-insensitively. + protected abstract IEnumerable> Select(IReadOnlyList settings); + + /// + public override void Load() + { + } + + internal void Apply(IReadOnlyList settings) + { + var data = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var (key, value) in Select(settings)) + data[key] = value; + Data = data; + } + + internal void NotifyReload() => OnReload(); +} diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 0c99a44..2b3821b 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -47,7 +47,7 @@ - + From 1fb00f687612cf8e63bb7efbbfa947a7b11b47ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81api=C5=84ski?= Date: Wed, 21 Oct 2026 21:25:58 +0200 Subject: [PATCH 2/4] feat: manage feature flags with Kododo.ConfigWay.FeatureManagement A new package, set up with x.AddFeatureFlags(). Flags saved in the editor are kept in the store, one setting per flag with the flag in the Microsoft feature management schema, and take the place of the flags with the same id in the application's configuration. Feature management merges the flags by id; the flags of the store also come after the app's own ones should it merge by index. - GetFeatureFlags: the flags of both schemas with their source, override and registered filters. - SaveFeatureFlag: checks the built-in filters' parameters, refuses filters the app has not registered (checking such a flag throws) and keeps what the editor does not edit, e.g. variants. - ResetFeatureFlag: back to the configured flag, or deletes a flag only ConfigWay has. - EvaluateFeatureFlag: the app's feature manager for a given user and groups. The package is built, tested and published with the others. --- .github/workflows/ci.yml | 14 +- .github/workflows/deploy.yml | 14 +- .github/workflows/publish-nuget.yml | 7 + .../ConfigWay.FeatureManagement.Tests.csproj | 28 + .../Integration/FeatureFlagsApiTests.cs | 528 ++++++++++++++++++ .../Unit/ConfigurationJsonTests.cs | 95 ++++ .../Unit/FlagJsonTests.cs | 146 +++++ .../Unit/KnownFiltersTests.cs | 124 ++++ .../.nuget/README.md | 46 ++ .../.nuget/logo.png | Bin 0 -> 41438 bytes .../EvaluateFeatureFlag.cs | 13 + .../EvaluateFeatureFlagHandler.cs | 32 ++ .../API/GetFeatureFlags/GetFeatureFlags.cs | 30 + .../GetFeatureFlags/GetFeatureFlagsHandler.cs | 41 ++ .../API/ResetFeatureFlag/ResetFeatureFlag.cs | 10 + .../ResetFeatureFlagHandler.cs | 19 + .../API/SaveFeatureFlag/SaveFeatureFlag.cs | 8 + .../SaveFeatureFlag/SaveFeatureFlagHandler.cs | 56 ++ .../ConfigWay.FeatureManagement.csproj | 34 ++ .../ConfigurationBuilderExtensions.cs | 48 ++ .../ConfigurationJson.cs | 110 ++++ .../FeatureFlagsProvider.cs | 36 ++ .../FlagCatalog.cs | 63 +++ src/ConfigWay.FeatureManagement/FlagJson.cs | 122 ++++ .../KnownFilters.cs | 177 ++++++ .../Model/FeatureFlag.cs | 58 ++ .../RegisteredFilters.cs | 50 ++ .../StoredFlags.cs | 52 ++ .../ConfigWay.PostgreSQL.Tests.csproj | 1 + .../Integration/FeatureFlagsStoreTests.cs | 85 +++ .../ConfigWay.SqlServer.Tests.csproj | 1 + .../Integration/FeatureFlagsStoreTests.cs | 85 +++ src/ConfigWay.slnx | 2 + src/ConfigWay/ConfigWay.csproj | 3 + src/Directory.Packages.props | 3 + 35 files changed, 2137 insertions(+), 4 deletions(-) create mode 100644 src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj create mode 100644 src/ConfigWay.FeatureManagement.Tests/Integration/FeatureFlagsApiTests.cs create mode 100644 src/ConfigWay.FeatureManagement.Tests/Unit/ConfigurationJsonTests.cs create mode 100644 src/ConfigWay.FeatureManagement.Tests/Unit/FlagJsonTests.cs create mode 100644 src/ConfigWay.FeatureManagement.Tests/Unit/KnownFiltersTests.cs create mode 100644 src/ConfigWay.FeatureManagement/.nuget/README.md create mode 100644 src/ConfigWay.FeatureManagement/.nuget/logo.png create mode 100644 src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlag.cs create mode 100644 src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlagHandler.cs create mode 100644 src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlags.cs create mode 100644 src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlagsHandler.cs create mode 100644 src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlag.cs create mode 100644 src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlagHandler.cs create mode 100644 src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlag.cs create mode 100644 src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlagHandler.cs create mode 100644 src/ConfigWay.FeatureManagement/ConfigWay.FeatureManagement.csproj create mode 100644 src/ConfigWay.FeatureManagement/ConfigurationBuilderExtensions.cs create mode 100644 src/ConfigWay.FeatureManagement/ConfigurationJson.cs create mode 100644 src/ConfigWay.FeatureManagement/FeatureFlagsProvider.cs create mode 100644 src/ConfigWay.FeatureManagement/FlagCatalog.cs create mode 100644 src/ConfigWay.FeatureManagement/FlagJson.cs create mode 100644 src/ConfigWay.FeatureManagement/KnownFilters.cs create mode 100644 src/ConfigWay.FeatureManagement/Model/FeatureFlag.cs create mode 100644 src/ConfigWay.FeatureManagement/RegisteredFilters.cs create mode 100644 src/ConfigWay.FeatureManagement/StoredFlags.cs create mode 100644 src/ConfigWay.PostgreSQL.Tests/Integration/FeatureFlagsStoreTests.cs create mode 100644 src/ConfigWay.SqlServer.Tests/Integration/FeatureFlagsStoreTests.cs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79257d2..7f499c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,10 +38,14 @@ jobs: dotnet-quality: preview - name: Restore - run: dotnet restore src/ConfigWay.Tests/ConfigWay.Tests.csproj + run: | + dotnet restore src/ConfigWay.Tests/ConfigWay.Tests.csproj + dotnet restore src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj - name: Build - run: dotnet build src/ConfigWay.Tests/ConfigWay.Tests.csproj --no-restore --configuration Release + run: | + dotnet build src/ConfigWay.Tests/ConfigWay.Tests.csproj --no-restore --configuration Release + dotnet build src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj --no-restore --configuration Release - name: Test run: > @@ -49,6 +53,12 @@ jobs: --no-build --configuration Release --logger "trx;LogFilePrefix=unit-results" + - name: Test feature flags + run: > + dotnet test src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj + --no-build --configuration Release + --logger "trx;LogFilePrefix=feature-flags-results" + - name: Upload test results uses: actions/upload-artifact@v4 if: always() diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b6e3de8..da151d6 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -39,10 +39,14 @@ jobs: dotnet-quality: preview - name: Restore - run: dotnet restore src/ConfigWay.Tests/ConfigWay.Tests.csproj + run: | + dotnet restore src/ConfigWay.Tests/ConfigWay.Tests.csproj + dotnet restore src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj - name: Build - run: dotnet build src/ConfigWay.Tests/ConfigWay.Tests.csproj --no-restore --configuration Release + run: | + dotnet build src/ConfigWay.Tests/ConfigWay.Tests.csproj --no-restore --configuration Release + dotnet build src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj --no-restore --configuration Release - name: Test run: > @@ -50,6 +54,12 @@ jobs: --no-build --configuration Release --logger "trx;LogFileName=unit-results.trx" + - name: Test feature flags + run: > + dotnet test src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj + --no-build --configuration Release + --logger "trx;LogFileName=feature-flags-results.trx" + test-postgres: name: PostgreSQL Tests runs-on: ubuntu-latest diff --git a/.github/workflows/publish-nuget.yml b/.github/workflows/publish-nuget.yml index f85531c..df18996 100644 --- a/.github/workflows/publish-nuget.yml +++ b/.github/workflows/publish-nuget.yml @@ -53,6 +53,9 @@ jobs: dotnet build src/ConfigWay.SqlServer/ConfigWay.SqlServer.csproj \ --configuration Release \ -p:Version=${{ steps.version.outputs.VERSION }} + dotnet build src/ConfigWay.FeatureManagement/ConfigWay.FeatureManagement.csproj \ + --configuration Release \ + -p:Version=${{ steps.version.outputs.VERSION }} - name: Pack run: | @@ -76,6 +79,10 @@ jobs: --configuration Release --no-build \ -p:Version=${{ steps.version.outputs.VERSION }} \ --output ./nupkgs + dotnet pack src/ConfigWay.FeatureManagement/ConfigWay.FeatureManagement.csproj \ + --configuration Release --no-build \ + -p:Version=${{ steps.version.outputs.VERSION }} \ + --output ./nupkgs - name: Push to NuGet run: | diff --git a/src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj b/src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj new file mode 100644 index 0000000..de13370 --- /dev/null +++ b/src/ConfigWay.FeatureManagement.Tests/ConfigWay.FeatureManagement.Tests.csproj @@ -0,0 +1,28 @@ + + + + net8.0;net9.0;net10.0 + false + true + true + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + diff --git a/src/ConfigWay.FeatureManagement.Tests/Integration/FeatureFlagsApiTests.cs b/src/ConfigWay.FeatureManagement.Tests/Integration/FeatureFlagsApiTests.cs new file mode 100644 index 0000000..84064df --- /dev/null +++ b/src/ConfigWay.FeatureManagement.Tests/Integration/FeatureFlagsApiTests.cs @@ -0,0 +1,528 @@ +using System.Net; +using System.Net.Http.Json; +using System.Text.Json.Nodes; +using Kododo.ConfigWay.Core.Configuration; +using Kododo.ConfigWay.Core.Model; +using Kododo.ConfigWay.UI; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.FeatureManagement; +using Microsoft.FeatureManagement.FeatureFilters; +using Xunit; + +namespace Kododo.ConfigWay.FeatureManagement.Tests.Integration; + +/// The flags API, checked against the application's real feature manager. +public class FeatureFlagsApiTests : IAsyncLifetime +{ + private WebApplication _app = null!; + private HttpClient _client = null!; + + /// The application's own flags, as appsettings would define them. + private static readonly Dictionary Configured = new() + { + ["feature_management:feature_flags:0:id"] = "Beta", + ["feature_management:feature_flags:0:enabled"] = "true", + + ["feature_management:feature_flags:1:id"] = "Rollout", + ["feature_management:feature_flags:1:enabled"] = "true", + ["feature_management:feature_flags:1:conditions:client_filters:0:name"] = "Microsoft.Percentage", + ["feature_management:feature_flags:1:conditions:client_filters:0:parameters:Value"] = "0", + + ["feature_management:feature_flags:2:id"] = "Layout", + ["feature_management:feature_flags:2:enabled"] = "true", + ["feature_management:feature_flags:2:variants:0:name"] = "Big", + ["feature_management:feature_flags:2:variants:0:configuration_value"] = "500px", + ["feature_management:feature_flags:2:variants:1:name"] = "Small", + ["feature_management:feature_flags:2:allocation:default_when_enabled"] = "Big", + ["feature_management:feature_flags:2:allocation:default_when_disabled"] = "Small", + + ["feature_management:feature_flags:3:id"] = "Audience", + ["feature_management:feature_flags:3:enabled"] = "true", + ["feature_management:feature_flags:3:conditions:client_filters:0:name"] = "Microsoft.Targeting", + ["feature_management:feature_flags:3:conditions:client_filters:0:parameters:Audience:Users:0"] = "jeff", + ["feature_management:feature_flags:3:conditions:client_filters:0:parameters:Audience:Groups:0:Name"] = "Ring0", + ["feature_management:feature_flags:3:conditions:client_filters:0:parameters:Audience:Groups:0:RolloutPercentage"] = "100", + ["feature_management:feature_flags:3:conditions:client_filters:0:parameters:Audience:Exclusion:Users:0"] = "ross", + + ["FeatureManagement:Old"] = "true", + }; + + public async Task InitializeAsync() + { + (_app, _client) = await StartAsync(featureManagement: true); + } + + public async Task DisposeAsync() + { + _client.Dispose(); + await _app.DisposeAsync(); + } + + private static async Task<(WebApplication, HttpClient)> StartAsync(bool featureManagement) + { + return await StartAsync(featureManagement ? fm => fm.AddFeatureFilter() : null); + } + + private static async Task<(WebApplication, HttpClient)> StartAsync(Action? featureManagement) + { + var builder = WebApplication.CreateBuilder(); + builder.WebHost.UseTestServer(); + builder.Configuration.AddInMemoryCollection(Configured); + builder.AddConfigWay(x => + { + x.AddUiEditor(); + x.AddFeatureFlags(); + }); + if (featureManagement is not null) + featureManagement(builder.Services.AddFeatureManagement()); + + var app = builder.Build(); + app.UseConfigWay().AllowAnonymous(); + await app.StartAsync(); + return (app, app.GetTestClient()); + } + + private IVariantFeatureManager FeatureManager => _app.Services.GetRequiredService(); + + // ── Listing ────────────────────────────────────────────────────────────── + + [Fact] + public async Task GetCapabilities_ReportsTheFlagsExtension() + { + var capabilities = await PostJson("GetCapabilities", new { }); + + Assert.Contains("flags", capabilities["extensions"]!.AsArray().Select(e => e!.GetValue())); + } + + [Fact] + public async Task GetFeatureFlags_ListsTheConfiguredFlagsOfBothSchemas() + { + var result = await PostJson("GetFeatureFlags", new { }); + + Assert.True(result["isFeatureManagementRegistered"]!.GetValue()); + Assert.Equal(["Audience", "Beta", "Layout", "Old", "Rollout"], Ids(result)); + + var beta = Item(result, "Beta"); + Assert.True(beta["flag"]!["enabled"]!.GetValue()); + Assert.False(beta["hasOverride"]!.GetValue()); + Assert.NotNull(beta["configured"]); + + Assert.True(Item(result, "Old")["isDotnetSchema"]!.GetValue()); + Assert.True(Item(result, "Layout")["hasVariants"]!.GetValue()); + + var rollout = Item(result, "Rollout")["flag"]!["filters"]![0]!; + Assert.Equal("Microsoft.Percentage", rollout["name"]!.GetValue()); + Assert.Equal(0, rollout["parameters"]!["Value"]!.GetValue()); + } + + [Fact] + public async Task GetFeatureFlags_ListsTheRegisteredFilters() + { + var result = await PostJson("GetFeatureFlags", new { }); + + var filters = result["filters"]!.AsArray().Select(f => f!.GetValue()).ToArray(); + Assert.Contains("Microsoft.Percentage", filters); + Assert.Contains("Microsoft.TimeWindow", filters); + Assert.Contains("Microsoft.Targeting", filters); + } + + [Fact] + public async Task GetFeatureFlags_WithoutFeatureManagement_SaysSo() + { + var (app, client) = await StartAsync(featureManagement: false); + await using var _ = app; + + var result = await (await client.PostAsJsonAsync("/config/api/GetFeatureFlags", new { })) + .Content.ReadFromJsonAsync(); + + Assert.False(result!["isFeatureManagementRegistered"]!.GetValue()); + Assert.Empty(result["filters"]!.AsArray()); + Assert.Equal(5, result["flags"]!.AsArray().Count); + } + + // ── Overrides ──────────────────────────────────────────────────────────── + + [Fact] + public async Task SaveFeatureFlag_OverridesTheConfiguredFlag() + { + Assert.True(await FeatureManager.IsEnabledAsync("Beta")); + + await Save(Flag("Beta", enabled: false)); + + Assert.False(await FeatureManager.IsEnabledAsync("Beta")); + var item = Item(await PostJson("GetFeatureFlags", new { }), "Beta"); + Assert.True(item["hasOverride"]!.GetValue()); + Assert.False(item["flag"]!["enabled"]!.GetValue()); + Assert.True(item["configured"]!["enabled"]!.GetValue()); + } + + [Fact] + public async Task SaveFeatureFlag_OverridesAFlagOfTheDotnetSchema() + { + Assert.True(await FeatureManager.IsEnabledAsync("Old")); + + await Save(Flag("Old", enabled: false)); + + Assert.False(await FeatureManager.IsEnabledAsync("Old")); + } + + [Fact] + public async Task SaveFeatureFlag_WithAPercentage_ChangesTheRollout() + { + Assert.False(await FeatureManager.IsEnabledAsync("Rollout")); + + await Save(Flag("Rollout", enabled: true, filters: [Filter("Microsoft.Percentage", """{ "Value": 100 }""")])); + + Assert.True(await FeatureManager.IsEnabledAsync("Rollout")); + } + + [Fact] + public async Task SaveFeatureFlag_WithATimeWindow_FollowsTheWindow() + { + await Save(Flag("Window", enabled: true, filters: [Filter("Microsoft.TimeWindow", + """{ "Start": "2000-01-01T00:00:00Z", "End": "2001-01-01T00:00:00Z" }""")]), isNew: true); + Assert.False(await FeatureManager.IsEnabledAsync("Window")); + + await Save(Flag("Window", enabled: true, filters: [Filter("TimeWindow", + """{ "Start": "2000-01-01T00:00:00Z" }""")])); + Assert.True(await FeatureManager.IsEnabledAsync("Window")); + } + + [Fact] + public async Task SaveFeatureFlag_IgnoresTheCaseOfTheId() + { + await Save(Flag("beta", enabled: false)); + + var result = await PostJson("GetFeatureFlags", new { }); + Assert.Single(Ids(result), id => id.Equals("beta", StringComparison.OrdinalIgnoreCase)); + Assert.True(Item(result, "Beta")["hasOverride"]!.GetValue()); + Assert.False(await FeatureManager.IsEnabledAsync("BETA")); + } + + [Fact] + public async Task SaveFeatureFlag_KeepsTheVariantsOfTheConfiguredFlag() + { + Assert.Equal("Big", (await FeatureManager.GetVariantAsync("Layout"))!.Name); + + await Save(Flag("Layout", enabled: false)); + + Assert.False(await FeatureManager.IsEnabledAsync("Layout")); + Assert.Equal("Small", (await FeatureManager.GetVariantAsync("Layout"))!.Name); + var stored = await StoredJson("Layout"); + Assert.Equal(2, stored["variants"]!.AsArray().Count); + } + + [Fact] + public async Task SaveFeatureFlag_NewFlag_IsAddedAndResetRemovesIt() + { + Assert.False(await FeatureManager.IsEnabledAsync("Fresh")); + + await Save(Flag("Fresh", enabled: true), isNew: true); + Assert.True(await FeatureManager.IsEnabledAsync("Fresh")); + var item = Item(await PostJson("GetFeatureFlags", new { }), "Fresh"); + Assert.Null(item["configured"]); + + await Post("ResetFeatureFlag", new { Id = "Fresh" }, HttpStatusCode.NoContent); + Assert.False(await FeatureManager.IsEnabledAsync("Fresh")); + Assert.DoesNotContain("Fresh", Ids(await PostJson("GetFeatureFlags", new { }))); + } + + [Fact] + public async Task ResetFeatureFlag_BringsBackTheConfiguredFlag() + { + await Save(Flag("Beta", enabled: false)); + + await Post("ResetFeatureFlag", new { Id = "BETA" }, HttpStatusCode.NoContent); + + Assert.True(await FeatureManager.IsEnabledAsync("Beta")); + Assert.False(Item(await PostJson("GetFeatureFlags", new { }), "Beta")["hasOverride"]!.GetValue()); + } + + [Fact] + public async Task ResetFeatureFlag_WithoutOverride_IsNotFound() + { + await Post("ResetFeatureFlag", new { Id = "Beta" }, HttpStatusCode.NotFound); + } + + [Fact] + public async Task UnreadableOverride_IsReportedAndCanBeReset() + { + var store = _app.Services.GetRequiredService().Store; + await store.SetAsync([new Setting("feature_management:flags/Beta", "{ broken")]); + await _app.Services.GetRequiredService().ReloadAllAsync(CancellationToken.None); + + var item = Item(await PostJson("GetFeatureFlags", new { }), "Beta"); + Assert.NotNull(item["error"]); + Assert.True(await FeatureManager.IsEnabledAsync("Beta")); + + await Post("ResetFeatureFlag", new { Id = "Beta" }, HttpStatusCode.NoContent); + Assert.Null(Item(await PostJson("GetFeatureFlags", new { }), "Beta")["error"]); + } + + // ── Validation ─────────────────────────────────────────────────────────── + + [Fact] + public async Task SaveFeatureFlag_NewFlagWithATakenId_IsInvalid() + { + var errors = await SaveInvalid(Flag("beta", enabled: true), isNew: true); + + Assert.Contains("flag.id", errors.Select(e => e.Key)); + } + + [Fact] + public async Task SaveFeatureFlag_UnknownFlag_IsNotFound() + { + await Post("SaveFeatureFlag", new { Flag = Flag("Missing", enabled: true) }, HttpStatusCode.NotFound); + } + + [Theory] + [InlineData("a:b")] + [InlineData(" Beta")] + [InlineData("")] + public async Task SaveFeatureFlag_InvalidId_IsInvalid(string id) + { + var errors = await SaveInvalid(Flag(id, enabled: true), isNew: true); + + Assert.Contains("flag.id", errors.Select(e => e.Key)); + } + + [Fact] + public async Task SaveFeatureFlag_InvalidFilterParameters_AreReportedPerFilter() + { + var errors = await SaveInvalid(Flag("Rollout", enabled: true, filters: + [ + Filter("Microsoft.Percentage", """{ "Value": 50 }"""), + Filter("Microsoft.Percentage", """{ "Value": 150 }"""), + ])); + + var error = Assert.Single(errors); + Assert.Equal("flag.filters[1].parameters", error.Key); + Assert.False(await FeatureManager.IsEnabledAsync("Rollout")); + } + + [Fact] + public async Task SaveFeatureFlag_UnregisteredFilter_IsInvalidAndTheAppKeepsWorking() + { + var errors = await SaveInvalid(Flag("Rollout", enabled: true, filters: + [ + Filter("Microsoft.Percentage", """{ "Value": 100 }"""), + Filter("Microsoft.Percentag", "{}"), + ])); + + var error = Assert.Single(errors); + Assert.Equal("flag.filters[1].name", error.Key); + Assert.False(await FeatureManager.IsEnabledAsync("Rollout")); + } + + [Theory] + [InlineData("Acme.Browser")] + [InlineData("browser")] + [InlineData("AlwaysOn")] + public async Task SaveFeatureFlag_RegisteredFilter_IsSaved(string name) + { + await Save(Flag("Beta", enabled: true, filters: [Filter(name, """{ "Allowed": ["Edge"] }""")])); + + var stored = await StoredJson("Beta"); + Assert.Equal(name, stored["conditions"]!["client_filters"]![0]!["name"]!.GetValue()); + Assert.Equal(name == "AlwaysOn", await FeatureManager.IsEnabledAsync("Beta")); + } + + [Fact] + public async Task SaveFeatureFlag_WithoutFeatureManagement_AcceptsAnyFilter() + { + var (app, client) = await StartAsync(featureManagement: false); + await using var _ = app; + + var response = await client.PostAsJsonAsync("/config/api/SaveFeatureFlag", new + { + Flag = Flag("Beta", enabled: true, filters: [Filter("Acme.NotYetDeployed", "{}")]), + }); + + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); + } + + [Fact] + public async Task GetFeatureFlags_ListsACustomFilterByItsAlias() + { + var result = await PostJson("GetFeatureFlags", new { }); + + Assert.Contains("Acme.Browser", result["filters"]!.AsArray().Select(f => f!.GetValue())); + } + + // ── Access ─────────────────────────────────────────────────────────────── + + public static TheoryData Requests => new() + { + { "GetFeatureFlags", "{}" }, + { "SaveFeatureFlag", """{ "flag": { "id": "Beta", "enabled": false, "requirementType": "Any", "filters": [] } }""" }, + { "ResetFeatureFlag", """{ "id": "Beta" }""" }, + { "EvaluateFeatureFlag", """{ "id": "Beta" }""" }, + }; + + [Theory] + [MemberData(nameof(Requests))] + public async Task FlagsApi_OutsideDevelopmentWithoutADecision_IsForbidden(string request, string body) + { + await using var app = await StartProtectedAsync(group => { }); + var response = await app.GetTestClient().PostAsync( + $"/config/api/{request}", new StringContent(body, System.Text.Encoding.UTF8, "application/json")); + + Assert.Equal(HttpStatusCode.Forbidden, response.StatusCode); + Assert.True(await app.Services.GetRequiredService().IsEnabledAsync("Beta")); + } + + [Theory] + [MemberData(nameof(Requests))] + public async Task FlagsApi_FollowsTheEditorsAuthorization(string request, string body) + { + await using var app = await StartProtectedAsync(group => group.RequireAuthorization()); + var response = await app.GetTestClient().PostAsync( + $"/config/api/{request}", new StringContent(body, System.Text.Encoding.UTF8, "application/json")); + + Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode); + Assert.True(await app.Services.GetRequiredService().IsEnabledAsync("Beta")); + } + + private static async Task StartProtectedAsync(Action decide) + { + var builder = WebApplication.CreateBuilder(new WebApplicationOptions { EnvironmentName = "Production" }); + builder.WebHost.UseTestServer(); + builder.Configuration.AddInMemoryCollection(Configured); + builder.AddConfigWay(x => + { + x.AddUiEditor(); + x.AddFeatureFlags(); + }); + builder.Services.AddFeatureManagement(); + builder.Services.AddAuthentication("Test").AddScheme("Test", null); + builder.Services.AddAuthorization(); + + var app = builder.Build(); + app.UseAuthentication(); + app.UseAuthorization(); + decide(app.UseConfigWay()); + await app.StartAsync(); + return app; + } + + // ── Evaluation ─────────────────────────────────────────────────────────── + + [Theory] + [InlineData("jeff", new string[0], true)] + [InlineData("anna", new[] { "Ring0" }, true)] + [InlineData("anna", new string[0], false)] + [InlineData("ross", new[] { "Ring0" }, false)] + [InlineData(null, new string[0], false)] + public async Task EvaluateFeatureFlag_ChecksTheGivenUser(string? user, string[] groups, bool expected) + { + var result = await PostJson("EvaluateFeatureFlag", new { Id = "Audience", UserId = user, Groups = groups }); + + Assert.Equal(expected, result["enabled"]!.GetValue()); + } + + [Fact] + public async Task EvaluateFeatureFlag_ReturnsTheVariant() + { + var result = await PostJson("EvaluateFeatureFlag", new { Id = "Layout" }); + + Assert.True(result["enabled"]!.GetValue()); + Assert.Equal("Big", result["variant"]!.GetValue()); + } + + [Fact] + public async Task EvaluateFeatureFlag_UnknownFlag_IsNotFound() + { + await Post("EvaluateFeatureFlag", new { Id = "Missing" }, HttpStatusCode.NotFound); + } + + [Fact] + public async Task EvaluateFeatureFlag_WithoutFeatureManagement_IsAConflict() + { + var (app, client) = await StartAsync(featureManagement: false); + await using var _ = app; + + var response = await client.PostAsJsonAsync("/config/api/EvaluateFeatureFlag", new { Id = "Beta" }); + + Assert.Equal(HttpStatusCode.Conflict, response.StatusCode); + } + + [Fact] + public async Task Evaluation_ReflectsAnOverrideOfTheTargeting() + { + var context = new TargetingContext { UserId = "anna", Groups = [] }; + Assert.False(await FeatureManager.IsEnabledAsync("Audience", context)); + + await Save(Flag("Audience", enabled: true, filters: + [Filter("Microsoft.Targeting", """{ "Audience": { "Users": ["anna"] } }""")])); + + Assert.True(await FeatureManager.IsEnabledAsync("Audience", context)); + } + + // ── Helpers ────────────────────────────────────────────────────────────── + + private static object Flag(string id, bool enabled, object[]? filters = null, string requirementType = "Any") => + new { Id = id, Enabled = enabled, RequirementType = requirementType, Filters = filters ?? [] }; + + private static object Filter(string name, string parameters) => + new { Name = name, Parameters = JsonNode.Parse(parameters) }; + + private Task Save(object flag, bool isNew = false) => + Post("SaveFeatureFlag", new { Flag = flag, IsNew = isNew }, HttpStatusCode.NoContent); + + private async Task> SaveInvalid(object flag, bool isNew = false) + { + var response = await _client.PostAsJsonAsync("/config/api/SaveFeatureFlag", new { Flag = flag, IsNew = isNew }); + Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); + var problem = await response.Content.ReadFromJsonAsync(); + return problem!["errors"]!.AsObject() + .ToDictionary(e => e.Key, e => e.Value!.AsArray().Select(m => m!.GetValue()).ToArray()); + } + + private async Task Post(string request, object body, HttpStatusCode expected) + { + var response = await _client.PostAsJsonAsync($"/config/api/{request}", body); + Assert.True(expected == response.StatusCode, + $"{request}: expected {expected}, got {response.StatusCode}: {await response.Content.ReadAsStringAsync()}"); + } + + private async Task PostJson(string request, object body) + { + var response = await _client.PostAsJsonAsync($"/config/api/{request}", body); + Assert.True(response.IsSuccessStatusCode, + $"{request}: {response.StatusCode}: {await response.Content.ReadAsStringAsync()}"); + return (await response.Content.ReadFromJsonAsync())!; + } + + private async Task StoredJson(string id) + { + var settings = await _app.Services.GetRequiredService().Store.GetAllAsync(); + return JsonNode.Parse(settings.Single(s => s.Key == $"feature_management:flags/{id}").Value!)!.AsObject(); + } + + private static string[] Ids(JsonObject result) => + result["flags"]!.AsArray().Select(f => f!["id"]!.GetValue()).ToArray(); + + private static JsonObject Item(JsonObject result, string id) => + result["flags"]!.AsArray().Single(f => f!["id"]!.GetValue() == id)!.AsObject(); +} + +/// A filter of the application's own, registered with an alias. +[FilterAlias("Acme.Browser")] +internal sealed class BrowserFilter : IFeatureFilter +{ + public Task EvaluateAsync(FeatureFilterEvaluationContext context) => Task.FromResult(false); +} + +/// An authentication scheme that never finds a user. +internal sealed class NoUserHandler( + Microsoft.Extensions.Options.IOptionsMonitor options, + Microsoft.Extensions.Logging.ILoggerFactory logger, + System.Text.Encodings.Web.UrlEncoder encoder) + : Microsoft.AspNetCore.Authentication.AuthenticationHandler(options, logger, encoder) +{ + protected override Task HandleAuthenticateAsync() => + Task.FromResult(Microsoft.AspNetCore.Authentication.AuthenticateResult.NoResult()); +} diff --git a/src/ConfigWay.FeatureManagement.Tests/Unit/ConfigurationJsonTests.cs b/src/ConfigWay.FeatureManagement.Tests/Unit/ConfigurationJsonTests.cs new file mode 100644 index 0000000..9b7e661 --- /dev/null +++ b/src/ConfigWay.FeatureManagement.Tests/Unit/ConfigurationJsonTests.cs @@ -0,0 +1,95 @@ +using System.Text.Json.Nodes; +using Microsoft.Extensions.Configuration.Memory; +using Xunit; + +namespace Kododo.ConfigWay.FeatureManagement.Tests.Unit; + +public class ConfigurationJsonTests +{ + [Fact] + public void Read_TurnsIndexedSectionsIntoArraysAndKeepsValuesAsText() + { + var provider = Provider(new() + { + ["feature_management:feature_flags:0:id"] = "Beta", + ["feature_management:feature_flags:0:enabled"] = "true", + ["feature_management:feature_flags:1:id"] = "Dark", + ["feature_management:feature_flags:1:conditions:client_filters:0:name"] = "Microsoft.Percentage", + ["feature_management:feature_flags:1:conditions:client_filters:0:parameters:Value"] = "50", + }); + + var node = ConfigurationJson.Read(provider, "feature_management:feature_flags"); + + var flags = Assert.IsType(node); + Assert.Equal(2, flags.Count); + Assert.Equal("Beta", flags[0]!["id"]!.GetValue()); + Assert.Equal("true", flags[0]!["enabled"]!.GetValue()); + Assert.Equal("50", flags[1]!["conditions"]!["client_filters"]![0]!["parameters"]!["Value"]!.GetValue()); + } + + [Fact] + public void Read_IndexesWithGaps_StayAnObject() + { + var provider = Provider(new() { ["list:0"] = "a", ["list:2"] = "c" }); + + var node = ConfigurationJson.Read(provider, "list"); + + var obj = Assert.IsType(node); + Assert.Equal(["a", "c"], obj.Items().Select(i => i.AsText())); + } + + [Fact] + public void Read_MissingSection_IsNull() + { + Assert.Null(ConfigurationJson.Read(Provider(new()), "feature_management")); + } + + [Fact] + public void Read_ObjectsIgnoreCase() + { + var provider = Provider(new() { ["flag:Enabled"] = "true" }); + + var node = (JsonObject)ConfigurationJson.Read(provider, "flag")!; + + Assert.Equal(true, node.Get("enabled").AsBool()); + Assert.True(node.ContainsKey("ENABLED")); + } + + [Fact] + public void Flatten_WritesEveryValueAsConfigurationText() + { + var json = JsonNode.Parse(""" + { "id": "Beta", "enabled": false, "n": 12.5, "none": null, + "list": ["a", { "b": true }], "empty": {} } + """); + var data = new Dictionary(); + + ConfigurationJson.Flatten(json, "root", data); + + Assert.Equal(new Dictionary + { + ["root:id"] = "Beta", + ["root:enabled"] = "false", + ["root:n"] = "12.5", + ["root:none"] = null, + ["root:list:0"] = "a", + ["root:list:1:b"] = "true", + }, data); + } + + [Theory] + [InlineData("50", 50.0)] + [InlineData("12.5", 12.5)] + [InlineData("x", null)] + public void AsNumber_ReadsNumbersWrittenAsText(string text, double? expected) + { + Assert.Equal(expected, JsonValue.Create(text).AsNumber()); + } + + private static MemoryConfigurationProvider Provider(Dictionary data) + { + var provider = new MemoryConfigurationProvider(new MemoryConfigurationSource { InitialData = data }); + provider.Load(); + return provider; + } +} diff --git a/src/ConfigWay.FeatureManagement.Tests/Unit/FlagJsonTests.cs b/src/ConfigWay.FeatureManagement.Tests/Unit/FlagJsonTests.cs new file mode 100644 index 0000000..7296c3b --- /dev/null +++ b/src/ConfigWay.FeatureManagement.Tests/Unit/FlagJsonTests.cs @@ -0,0 +1,146 @@ +using System.Text.Json.Nodes; +using Kododo.ConfigWay.Core.Model; +using Kododo.ConfigWay.FeatureManagement.Model; +using Xunit; + +namespace Kododo.ConfigWay.FeatureManagement.Tests.Unit; + +public class FlagJsonTests +{ + [Fact] + public void ToFlag_ReadsTheMicrosoftSchema() + { + var flag = FlagJson.ToFlag("Beta", Parse(""" + { "id": "Beta", "description": "New checkout", "enabled": "true", + "conditions": { "requirement_type": "all", "client_filters": [ + { "name": "Microsoft.Percentage", "parameters": { "Value": "10" } }, + { "name": "" } ] } } + """)); + + Assert.Equal("Beta", flag.Id); + Assert.True(flag.Enabled); + Assert.Equal("New checkout", flag.Description); + Assert.Equal(RequirementType.All, flag.RequirementType); + var filter = Assert.Single(flag.Filters); + Assert.Equal("""{"Value":10}""", filter.Parameters!.ToJsonString()); + } + + [Fact] + public void ToFlag_WithoutEnabled_IsOff() + { + Assert.False(FlagJson.ToFlag("Beta", Parse("""{ "id": "Beta" }""")).Enabled); + } + + [Fact] + public void Apply_KeepsWhatTheEditorDoesNotEdit() + { + var existing = Parse(""" + { "id": "Beta", "enabled": true, "description": "old", + "conditions": { "client_filters": [ { "name": "Microsoft.Percentage", "parameters": { "Value": 5 } } ] }, + "variants": [ { "name": "On" } ], "allocation": { "default_when_enabled": "On" }, + "telemetry": { "enabled": true } } + """); + + var json = FlagJson.Apply(new FeatureFlag("Beta", false, RequirementType.Any, []), existing); + + Assert.False(json["enabled"]!.GetValue()); + Assert.False(json.ContainsKey("description")); + Assert.False(json.ContainsKey("conditions")); + Assert.Equal("On", json["variants"]![0]!["name"]!.GetValue()); + Assert.Equal("On", json["allocation"]!["default_when_enabled"]!.GetValue()); + Assert.True(json["telemetry"]!["enabled"]!.GetValue()); + Assert.Equal("""{"id":"Beta","enabled":true}""", FlagJson.Apply( + new FeatureFlag("Beta", true, RequirementType.Any, []), null).ToJsonString()); + } + + [Fact] + public void Apply_WritesTheConditionsInTheMicrosoftSchema() + { + var flag = new FeatureFlag("Beta", true, RequirementType.All, + [new FeatureFilter("Percentage", Parse("""{ "Value": "50" }""")), new FeatureFilter("MyCompany.Browser")], + "note"); + + var json = FlagJson.Apply(flag, null); + + Assert.Equal( + """{"id":"Beta","description":"note","enabled":true,"conditions":{"requirement_type":"All","client_filters":[{"name":"Percentage","parameters":{"Value":50}},{"name":"MyCompany.Browser"}]}}""", + json.ToJsonString()); + } + + [Fact] + public void Apply_ReplacesEditedPropertiesWhateverTheirCase() + { + var json = FlagJson.Apply( + new FeatureFlag("Beta", true, RequirementType.Any, []), + Parse("""{ "ID": "Beta", "Enabled": "false", "Conditions": { } }""")); + + Assert.Equal("""{"id":"Beta","enabled":true}""", json.ToJsonString()); + } + + [Fact] + public void FromDotnetSchema_ReadsABoolean() + { + Assert.Equal("""{"id":"Old","enabled":true}""", FlagJson.FromDotnetSchema("Old", JsonValue.Create("True")).ToJsonString()); + } + + [Fact] + public void FromDotnetSchema_ReadsTheFilters() + { + var json = FlagJson.FromDotnetSchema("Old", Parse(""" + { "RequirementType": "All", "EnabledFor": [ { "Name": "Percentage", "Parameters": { "Value": "30" } } ] } + """)); + + var flag = FlagJson.ToFlag("Old", json); + Assert.True(flag.Enabled); + Assert.Equal(RequirementType.All, flag.RequirementType); + Assert.Equal("""{"Value":30}""", Assert.Single(flag.Filters).Parameters!.ToJsonString()); + } + + [Theory] + [InlineData("""{ "EnabledFor": [ { "Name": "AlwaysOn" } ] }""", true, 0)] + [InlineData("""{ "EnabledFor": [] }""", false, 0)] + [InlineData("""{ }""", false, 0)] + [InlineData("""{ "Status": "Disabled", "EnabledFor": [ { "Name": "AlwaysOn" } ] }""", false, 0)] + public void FromDotnetSchema_ReadsTheState(string definition, bool enabled, int filters) + { + var flag = FlagJson.ToFlag("Old", FlagJson.FromDotnetSchema("Old", Parse(definition))); + + Assert.Equal(enabled, flag.Enabled); + Assert.Equal(filters, flag.Filters.Length); + } + + [Fact] + public void StoredFlags_TakeTheIdFromTheKeyAndReportUnreadableValues() + { + var flags = StoredFlags.Read([ + new Setting("feature_management:flags/zeta", """{ "ID": "other", "enabled": true }"""), + new Setting("feature_management:flags/Alpha", "{ not json"), + new Setting("feature_management:flags/", "{}"), + new Setting("Smtp:Host", "localhost"), + ]); + + Assert.Equal(["Alpha", "zeta"], flags.Select(f => f.Id)); + Assert.Null(flags[0].Json); + Assert.NotNull(flags[0].Error); + Assert.Equal("""{"enabled":true,"id":"zeta"}""", flags[1].Json!.ToJsonString()); + } + + [Fact] + public void Provider_ExposesTheStoredFlagsWhereFeatureManagementReadsThem() + { + var provider = new FeatureFlagsProvider(); + provider.Apply([ + new Setting("feature_management:flags/Beta", """{ "id": "Beta", "enabled": true }"""), + new Setting("feature_management:flags/Broken", "nope"), + new Setting("feature_management:flags/Alpha", """{ "enabled": false }"""), + ]); + + Assert.True(provider.TryGet("feature_management:feature_flags:100000:id", out var first)); + Assert.Equal("Alpha", first); + Assert.True(provider.TryGet("feature_management:feature_flags:100001:enabled", out var enabled)); + Assert.Equal("true", enabled); + Assert.False(provider.TryGet("feature_management:feature_flags:100002:id", out _)); + } + + private static JsonObject Parse(string json) => JsonNode.Parse(json)!.AsObject(); +} diff --git a/src/ConfigWay.FeatureManagement.Tests/Unit/KnownFiltersTests.cs b/src/ConfigWay.FeatureManagement.Tests/Unit/KnownFiltersTests.cs new file mode 100644 index 0000000..be77113 --- /dev/null +++ b/src/ConfigWay.FeatureManagement.Tests/Unit/KnownFiltersTests.cs @@ -0,0 +1,124 @@ +using System.Text.Json.Nodes; +using Xunit; + +namespace Kododo.ConfigWay.FeatureManagement.Tests.Unit; + +public class KnownFiltersTests +{ + [Theory] + [InlineData("Microsoft.Percentage", KnownFilters.Percentage)] + [InlineData("percentage", KnownFilters.Percentage)] + [InlineData("Microsoft.TimeWindow", KnownFilters.TimeWindow)] + [InlineData("TimeWindow", KnownFilters.TimeWindow)] + [InlineData("Targeting", KnownFilters.Targeting)] + [InlineData("MyCompany.Browser", null)] + [InlineData("PercentageFilter", null)] + public void Find_AcceptsTheFullAliasOrItsLastSegment(string name, string? expected) + { + Assert.Equal(expected, KnownFilters.Find(name)); + } + + [Fact] + public void Normalize_Percentage_WritesTheValueAsANumber() + { + var result = KnownFilters.Normalize("Percentage", Parse("""{ "value": "25" }""")); + + Assert.Equal("""{"Value":25}""", result!.ToJsonString()); + } + + [Fact] + public void Normalize_TimeWindow_WritesTimesInRfc1123AndKeepsTheRecurrence() + { + var result = KnownFilters.Normalize(KnownFilters.TimeWindow, Parse(""" + { "Start": "2026-10-20T10:00:00+02:00", "End": "", "Recurrence": { "Pattern": { "Type": "Daily" } } } + """)); + + Assert.Equal("Tue, 20 Oct 2026 08:00:00 GMT", result!["Start"]!.GetValue()); + Assert.False(result.ContainsKey("End")); + Assert.Equal("Daily", result["Recurrence"]!["Pattern"]!["Type"]!.GetValue()); + } + + [Fact] + public void Normalize_Targeting_WritesTheWholeAudience() + { + var result = KnownFilters.Normalize(KnownFilters.Targeting, Parse(""" + { "Audience": { "Users": { "0": "jeff" }, "Groups": [ { "Name": "Ring0", "RolloutPercentage": "100" } ], + "DefaultRolloutPercentage": "20" } } + """)); + + Assert.Equal( + """{"Audience":{"Users":["jeff"],"Groups":[{"Name":"Ring0","RolloutPercentage":100}],"DefaultRolloutPercentage":20,"Exclusion":{"Users":[],"Groups":[]}}}""", + result!.ToJsonString()); + } + + [Fact] + public void Normalize_OtherFilter_CopiesTheParameters() + { + var parameters = Parse("""{ "Allowed": ["Edge"] }"""); + + var result = KnownFilters.Normalize("MyCompany.Browser", parameters); + + Assert.NotSame(parameters, result); + Assert.Equal(parameters.ToJsonString(), result!.ToJsonString()); + } + + [Theory] + [InlineData("""{ "Value": 0 }""", 0)] + [InlineData("""{ "Value": "100" }""", 0)] + [InlineData("""{ }""", 1)] + [InlineData("""{ "Value": 101 }""", 1)] + [InlineData("""{ "Value": -1 }""", 1)] + [InlineData("""{ "Value": "half" }""", 1)] + public void Validate_Percentage(string parameters, int errors) + { + Assert.Equal(errors, KnownFilters.Validate(KnownFilters.Percentage, Parse(parameters)).Count()); + } + + [Theory] + [InlineData("""{ "Start": "Sun, 01 Jun 2025 13:59:59 GMT" }""", 0)] + [InlineData("""{ "End": "2025-08-01T00:00:00Z" }""", 0)] + [InlineData("""{ "Start": "2025-06-01T00:00:00Z", "End": "2025-08-01T00:00:00Z" }""", 0)] + [InlineData("""{ }""", 1)] + [InlineData("""{ "Start": "soon" }""", 1)] + [InlineData("""{ "Start": "2025-08-01T00:00:00Z", "End": "2025-06-01T00:00:00Z" }""", 1)] + public void Validate_TimeWindow(string parameters, int errors) + { + Assert.Equal(errors, KnownFilters.Validate(KnownFilters.TimeWindow, Parse(parameters)).Count()); + } + + [Theory] + [InlineData("""{ "Audience": { "Users": ["jeff"], "DefaultRolloutPercentage": 0 } }""", 0)] + [InlineData("""{ "Audience": { "Groups": [ { "Name": "Ring0", "RolloutPercentage": 50 } ] } }""", 0)] + [InlineData("""{ }""", 1)] + [InlineData("""{ "Audience": { "Users": [""] } }""", 1)] + [InlineData("""{ "Audience": { "Groups": [ { "Name": "Ring0" } ] } }""", 1)] + [InlineData("""{ "Audience": { "Groups": [ { "Name": "a", "RolloutPercentage": 1 }, { "Name": "A", "RolloutPercentage": 1 } ] } }""", 1)] + [InlineData("""{ "Audience": { "DefaultRolloutPercentage": 120 } }""", 1)] + [InlineData("""{ "Audience": { "Exclusion": { "Groups": [" "] } } }""", 1)] + public void Validate_Targeting(string parameters, int errors) + { + Assert.Equal(errors, KnownFilters.Validate(KnownFilters.Targeting, Parse(parameters)).Count()); + } + + [Fact] + public void Validate_OtherFilter_AcceptsAnyParameters() + { + Assert.Empty(KnownFilters.Validate("MyCompany.Browser", null)); + } + + [Theory] + [InlineData("Microsoft.Percentage", true)] + [InlineData("percentage", true)] + [InlineData("Acme.Browser", true)] + [InlineData("Browser", true)] + [InlineData("Other.Browser", false)] + [InlineData("Microsoft.Percentag", false)] + [InlineData("AlwaysOn", true)] + [InlineData("on", true)] + public void RegisteredFilters_MatchAsFeatureManagementDoes(string name, bool expected) + { + Assert.Equal(expected, RegisteredFilters.Matches(name, ["Microsoft.Percentage", "Acme.Browser"])); + } + + private static JsonObject Parse(string json) => JsonNode.Parse(json)!.AsObject(); +} diff --git a/src/ConfigWay.FeatureManagement/.nuget/README.md b/src/ConfigWay.FeatureManagement/.nuget/README.md new file mode 100644 index 0000000..df5253d --- /dev/null +++ b/src/ConfigWay.FeatureManagement/.nuget/README.md @@ -0,0 +1,46 @@ +# Kododo.ConfigWay.FeatureManagement + +Feature flags for ConfigWay. Manage [Microsoft.FeatureManagement](https://learn.microsoft.com/azure/azure-app-configuration/feature-management-dotnet-reference) flags from the ConfigWay web UI without redeploying: turn flags on and off, roll them out to a percentage of users, limit them to a time window or target users and groups. + +Your code does not change: it keeps using `IFeatureManager`, `[FeatureGate]` and the other feature management APIs. + +## Install + +```bash +dotnet add package Kododo.ConfigWay.FeatureManagement +``` + +## Setup + +```csharp +builder.AddConfigWay(x => +{ + x.UsePostgreSql(connectionString); + x.AddUiEditor(); + x.AddFeatureFlags(); +}); + +builder.Services.AddFeatureManagement(); + +app.UseConfigWay().RequireAuthorization("Admin"); +``` + +Flags defined in your configuration (the `feature_management` section of appsettings, environment variables, ...) are listed in the editor. A flag saved in the editor is kept in the ConfigWay store and takes the place of the flag with the same id; resetting it brings the configured flag back. Flags can also be added in the editor only. + +## Filters + +The editor has forms for the built-in filters: `Microsoft.Percentage`, `Microsoft.TimeWindow` and `Microsoft.Targeting`. Other filters are edited as JSON parameters; a filter your application has not registered is refused, because checking the flag would throw. Variants and other properties the editor does not edit yet are kept when a flag is saved. + +To check a flag for a given user and groups, use the check in the editor: it asks your application's feature manager. + +## Several replicas + +A save reaches the other replicas when they check the store for changes: + +```csharp +x.ReloadInterval = TimeSpan.FromSeconds(30); +``` + +## Links + +- Source: https://github.com/kododo-dev/ConfigWay diff --git a/src/ConfigWay.FeatureManagement/.nuget/logo.png b/src/ConfigWay.FeatureManagement/.nuget/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e7167a12034d44f1e4d158eee9539feba69f8734 GIT binary patch literal 41438 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 NBj(J>TC{)C{{d&k9zy^C literal 0 HcmV?d00001 diff --git a/src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlag.cs b/src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlag.cs new file mode 100644 index 0000000..9181f9c --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlag.cs @@ -0,0 +1,13 @@ +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.EvaluateFeatureFlag; + +/// Checks a flag for a user, as the application's feature manager does. +/// The flag id. +/// The user, for targeting; none for an anonymous user. +/// The groups of the user, for targeting. +internal record EvaluateFeatureFlag(string Id, string? UserId = null, string[]? Groups = null) : IRequest; + +/// Whether the flag is on for the user. +/// The variant the user gets; null for a flag without variants. +internal record FlagEvaluation(bool Enabled, string? Variant); diff --git a/src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlagHandler.cs b/src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlagHandler.cs new file mode 100644 index 0000000..966ba29 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/EvaluateFeatureFlag/EvaluateFeatureFlagHandler.cs @@ -0,0 +1,32 @@ +using Kododo.Reiho.AspNetCore.API; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.FeatureManagement; +using Microsoft.FeatureManagement.FeatureFilters; + +namespace Kododo.ConfigWay.FeatureManagement.API.EvaluateFeatureFlag; + +internal sealed class EvaluateFeatureFlagHandler(FlagCatalog catalog, IServiceProvider services) + : IRequestHandler +{ + public async Task HandleAsync(EvaluateFeatureFlag request, CancellationToken cancellationToken) + { + var featureManager = services.GetService() + ?? throw RequestException.Conflict( + "Feature management is not registered: call services.AddFeatureManagement() in the application."); + + if (!catalog.ReadBase().ContainsKey(request.Id) && + !(await catalog.ReadStoredAsync(cancellationToken)).ContainsKey(request.Id)) + throw RequestException.NotFound($"The flag '{request.Id}' does not exist."); + + var context = new TargetingContext + { + UserId = string.IsNullOrWhiteSpace(request.UserId) ? null : request.UserId.Trim(), + Groups = (request.Groups ?? []).Where(g => !string.IsNullOrWhiteSpace(g)).Select(g => g.Trim()).ToArray(), + }; + + // The context is passed in, so the contextual targeting filter checks this user instead of the current one. + var enabled = await featureManager.IsEnabledAsync(request.Id, context, cancellationToken); + var variant = await featureManager.GetVariantAsync(request.Id, context, cancellationToken); + return new FlagEvaluation(enabled, variant?.Name); + } +} diff --git a/src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlags.cs b/src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlags.cs new file mode 100644 index 0000000..a77f10d --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlags.cs @@ -0,0 +1,30 @@ +using Kododo.ConfigWay.FeatureManagement.Model; +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.GetFeatureFlags; + +internal record GetFeatureFlags : IRequest; + +/// +/// Whether the application registered feature management (services.AddFeatureManagement()); without it the +/// flags are stored but nothing evaluates them. +/// +/// The aliases of the feature filters the application registered. +/// The flags, by id. +internal record FeatureFlags(bool IsFeatureManagementRegistered, string[] Filters, FeatureFlagItem[] Flags); + +/// The flag id. +/// The flag in effect: the override when there is one, otherwise the configured flag. +/// The flag as the application's configuration defines it; null when only ConfigWay has it. +/// Whether ConfigWay keeps an override of the flag. +/// Whether the configuration defines the flag in the older .NET schema. +/// Whether the flag has variants, which are kept but not edited. +/// Why the stored override cannot be read; resetting the flag removes it. +internal record FeatureFlagItem( + string Id, + FeatureFlag Flag, + FeatureFlag? Configured, + bool HasOverride, + bool IsDotnetSchema, + bool HasVariants, + string? Error); diff --git a/src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlagsHandler.cs b/src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlagsHandler.cs new file mode 100644 index 0000000..71c829f --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/GetFeatureFlags/GetFeatureFlagsHandler.cs @@ -0,0 +1,41 @@ +using Kododo.ConfigWay.FeatureManagement.Model; +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.GetFeatureFlags; + +internal sealed class GetFeatureFlagsHandler(FlagCatalog catalog, RegisteredFilters filters) + : IRequestHandler +{ + public async Task HandleAsync(GetFeatureFlags request, CancellationToken cancellationToken) + { + var configured = catalog.ReadBase(); + var stored = await catalog.ReadStoredAsync(cancellationToken); + + var items = configured.Keys + .Concat(stored.Keys) + .Distinct(StringComparer.OrdinalIgnoreCase) + .Select(id => ToItem(configured.GetValueOrDefault(id), stored.GetValueOrDefault(id))) + .OrderBy(i => i.Id, StringComparer.OrdinalIgnoreCase) + .ToArray(); + + return new FeatureFlags(filters.IsFeatureManagementRegistered, filters.Aliases() ?? [], items); + } + + private static FeatureFlagItem ToItem(BaseFlag? configured, StoredFlag? stored) + { + var configuredFlag = configured is null ? null : FlagJson.ToFlag(configured.Id, configured.Json); + var json = stored?.Json ?? configured?.Json; + var flag = stored?.Json is { } storedJson + ? FlagJson.ToFlag(stored.Id, storedJson) + : configuredFlag ?? new FeatureFlag(stored!.Id, false, Model.RequirementType.Any, []); + + return new FeatureFlagItem( + flag.Id, + flag, + configuredFlag, + stored is not null, + configured?.IsDotnetSchema ?? false, + json is not null && FlagJson.HasVariants(json), + stored?.Error); + } +} diff --git a/src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlag.cs b/src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlag.cs new file mode 100644 index 0000000..ea0e51f --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlag.cs @@ -0,0 +1,10 @@ +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.ResetFeatureFlag; + +/// +/// Removes the override of a flag: a flag of the application's configuration is back to how it is configured, and a +/// flag only ConfigWay has is deleted. +/// +/// The flag id. +internal record ResetFeatureFlag(string Id) : IRequest; diff --git a/src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlagHandler.cs b/src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlagHandler.cs new file mode 100644 index 0000000..2975d5d --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/ResetFeatureFlag/ResetFeatureFlagHandler.cs @@ -0,0 +1,19 @@ +using Kododo.ConfigWay.Core.Configuration; +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.ResetFeatureFlag; + +internal sealed class ResetFeatureFlagHandler( + FlagCatalog catalog, + Configuration configuration, + IConfigurationEditor configurationEditor) : IRequestHandler +{ + public async Task HandleAsync(ResetFeatureFlag request, CancellationToken cancellationToken) + { + var stored = (await catalog.ReadStoredAsync(cancellationToken)).GetValueOrDefault(request.Id) + ?? throw RequestException.NotFound($"The flag '{request.Id}' has no override."); + + await configuration.Store.DeleteAsync([stored.Key], cancellationToken); + await configurationEditor.ReloadAllAsync(cancellationToken); + } +} diff --git a/src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlag.cs b/src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlag.cs new file mode 100644 index 0000000..1d60ab7 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlag.cs @@ -0,0 +1,8 @@ +using Kododo.ConfigWay.FeatureManagement.Model; +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.SaveFeatureFlag; + +/// The flag to save as an override. +/// Whether this adds a flag, which must not exist yet; otherwise it changes an existing flag. +internal record SaveFeatureFlag(FeatureFlag Flag, bool IsNew = false) : IRequest; diff --git a/src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlagHandler.cs b/src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlagHandler.cs new file mode 100644 index 0000000..edeed3b --- /dev/null +++ b/src/ConfigWay.FeatureManagement/API/SaveFeatureFlag/SaveFeatureFlagHandler.cs @@ -0,0 +1,56 @@ +using Kododo.ConfigWay.Core.Configuration; +using Kododo.ConfigWay.Core.Model; +using Kododo.Reiho.AspNetCore.API; + +namespace Kododo.ConfigWay.FeatureManagement.API.SaveFeatureFlag; + +internal sealed class SaveFeatureFlagHandler( + FlagCatalog catalog, + RegisteredFilters filters, + Configuration configuration, + IConfigurationEditor configurationEditor) : IRequestHandler +{ + public async Task HandleAsync(SaveFeatureFlag request, CancellationToken cancellationToken) + { + CheckFilters(request.Flag); + + var configured = catalog.ReadBase().GetValueOrDefault(request.Flag.Id); + var stored = (await catalog.ReadStoredAsync(cancellationToken)).GetValueOrDefault(request.Flag.Id); + + if (request.IsNew && (configured is not null || stored is not null)) + throw RequestException.Invalid("flag.id", $"A flag named '{request.Flag.Id}' already exists."); + if (!request.IsNew && configured is null && stored is null) + throw RequestException.NotFound($"The flag '{request.Flag.Id}' does not exist."); + + // Ids are compared ignoring case: an existing flag keeps the id it has. + var id = stored?.Id ?? configured?.Id ?? request.Flag.Id; + var json = FlagJson.Apply(request.Flag with { Id = id }, stored?.Json ?? configured?.Json); + + await configuration.Store.SetAsync( + [new Setting(stored?.Key ?? StoredFlags.KeyFor(id), json.ToJsonString())], + cancellationToken); + await configurationEditor.ReloadAllAsync(cancellationToken); + } + + /// + /// Turns down filters the application has not registered: feature management throws whenever it checks a flag + /// with such a filter, so a typo would break every page that checks the flag. + /// + private void CheckFilters(Model.FeatureFlag flag) + { + if (!filters.IsFeatureManagementRegistered || filters.Aliases() is not { } aliases) + return; + + var errors = new Dictionary(); + for (var i = 0; i < flag.Filters.Length; i++) + { + var name = flag.Filters[i].Name; + if (!RegisteredFilters.Matches(name, aliases)) + errors[$"flag.filters[{i}].name"] = + [$"The application has not registered a filter named '{name}'; checking the flag would fail."]; + } + + if (errors.Count > 0) + throw new RequestException("The flag uses filters the application has not registered.") { Errors = errors }; + } +} diff --git a/src/ConfigWay.FeatureManagement/ConfigWay.FeatureManagement.csproj b/src/ConfigWay.FeatureManagement/ConfigWay.FeatureManagement.csproj new file mode 100644 index 0000000..58d537e --- /dev/null +++ b/src/ConfigWay.FeatureManagement/ConfigWay.FeatureManagement.csproj @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + <_Parameter1>Kododo.ConfigWay.FeatureManagement.Tests + + + + + Kododo.ConfigWay.FeatureManagement + Feature flags for ConfigWay. Manage Microsoft.FeatureManagement flags from the ConfigWay web UI without redeploying: switches, percentage rollouts, time windows and targeting. + MIT + https://github.com/kododo-dev/ConfigWay + true + logo.png + README.md + 1.0.0-local + + + diff --git a/src/ConfigWay.FeatureManagement/ConfigurationBuilderExtensions.cs b/src/ConfigWay.FeatureManagement/ConfigurationBuilderExtensions.cs new file mode 100644 index 0000000..1f6e8a5 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/ConfigurationBuilderExtensions.cs @@ -0,0 +1,48 @@ +using Kododo.ConfigWay.UI; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.FeatureManagement; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// +/// Extension methods for managing Microsoft.FeatureManagement feature flags with ConfigWay. +/// +public static class ConfigurationBuilderExtensions +{ + /// + /// Lets ConfigWay manage feature flags: flags saved in the editor are kept in the ConfigWay store and take the + /// place of the flags with the same id in the application's configuration (feature_management section of + /// appsettings, environment variables, ...). The editor gets a Flags view. + /// + /// + /// Feature management itself is registered by the application, which also picks the filters and the targeting + /// context: builder.Services.AddFeatureManagement(). This method sets it up to merge flags from several + /// configuration sources by id (). + /// + /// The ConfigWay configuration builder. + /// The same builder instance for method chaining. + /// + /// + /// builder.AddConfigWay(x => + /// { + /// x.UsePostgreSql(connectionString); + /// x.AddUiEditor(); + /// x.AddFeatureFlags(); + /// }); + /// builder.Services.AddFeatureManagement(); + /// + /// + public static ConfigurationBuilder AddFeatureFlags(this ConfigurationBuilder builder) + { + if (builder.Services.Any(s => s.ServiceType == typeof(FlagCatalog))) + return builder; + + builder.AddProvider(new FeatureFlagsProvider()); + builder.AddUiExtension("flags", typeof(ConfigurationBuilderExtensions).Assembly); + builder.Services.AddSingleton(); + builder.Services.AddScoped(); + builder.Services.Configure( + o => o.CustomConfigurationMergingEnabled = true); + return builder; + } +} diff --git a/src/ConfigWay.FeatureManagement/ConfigurationJson.cs b/src/ConfigWay.FeatureManagement/ConfigurationJson.cs new file mode 100644 index 0000000..eb8d2af --- /dev/null +++ b/src/ConfigWay.FeatureManagement/ConfigurationJson.cs @@ -0,0 +1,110 @@ +using System.Globalization; +using System.Text.Json; +using System.Text.Json.Nodes; +using Microsoft.Extensions.Configuration; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// Converts between configuration keys and JSON, the shape feature flags are edited and stored in. +internal static class ConfigurationJson +{ + private static readonly JsonNodeOptions CaseInsensitive = new() { PropertyNameCaseInsensitive = true }; + + /// + /// Reads the section at of one provider as JSON. Sections whose keys are 0..n-1 + /// become arrays; values stay text, as configuration has no types. + /// + /// The section, or null when the provider has nothing at the path. + public static JsonNode? Read(IConfigurationProvider provider, string path) + { + var children = provider.GetChildKeys([], path) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToArray(); + + if (children.Length == 0) + return provider.TryGet(path, out var value) && value is not null ? JsonValue.Create(value) : null; + + var indexes = children + .Select(c => int.TryParse(c, NumberStyles.None, CultureInfo.InvariantCulture, out var i) ? i : -1) + .ToArray(); + + if (indexes.All(i => i >= 0) && indexes.Order().SequenceEqual(Enumerable.Range(0, indexes.Length))) + { + var array = new JsonArray(); + foreach (var index in indexes.Order()) + array.Add(Read(provider, ConfigurationPath.Combine(path, index.ToString(CultureInfo.InvariantCulture)))); + return array; + } + + var obj = new JsonObject(CaseInsensitive); + foreach (var child in children.Order(StringComparer.OrdinalIgnoreCase)) + obj[child] = Read(provider, ConfigurationPath.Combine(path, child)); + return obj; + } + + /// Writes as configuration keys under . + public static void Flatten(JsonNode? node, string path, IDictionary data) + { + switch (node) + { + case null: + data[path] = null; + break; + case JsonObject obj: + foreach (var (key, value) in obj) + Flatten(value, ConfigurationPath.Combine(path, key), data); + break; + case JsonArray array: + for (var i = 0; i < array.Count; i++) + Flatten(array[i], ConfigurationPath.Combine(path, i.ToString(CultureInfo.InvariantCulture)), data); + break; + case JsonValue value: + data[path] = value.GetValueKind() switch + { + JsonValueKind.String => value.GetValue(), + JsonValueKind.True => "true", + JsonValueKind.False => "false", + JsonValueKind.Null => null, + _ => value.ToJsonString(), + }; + break; + } + } + + /// The property of named , ignoring case. + public static JsonNode? Get(this JsonObject? obj, string name) => + obj?.FirstOrDefault(p => string.Equals(p.Key, name, StringComparison.OrdinalIgnoreCase)).Value; + + /// The text of a value, or null when it is missing or not a value. + public static string? AsText(this JsonNode? node) => + node is JsonValue value + ? value.GetValueKind() switch + { + JsonValueKind.String => value.GetValue(), + JsonValueKind.Number => value.ToJsonString(), + JsonValueKind.True => "true", + JsonValueKind.False => "false", + _ => null, + } + : null; + + /// A number written as a number or as text, as configuration has it. + public static double? AsNumber(this JsonNode? node) => + node is JsonValue value && value.GetValueKind() == JsonValueKind.Number + ? value.GetValue() + : double.TryParse(node.AsText(), NumberStyles.Float, CultureInfo.InvariantCulture, out var number) + ? number + : null; + + /// A boolean written as a boolean or as text, as configuration has it. + public static bool? AsBool(this JsonNode? node) => + bool.TryParse(node.AsText(), out var flag) ? flag : null; + + /// The items of an array, or of an object with index keys, e.g. when a source sets only some indexes. + public static IEnumerable Items(this JsonNode? node) => node switch + { + JsonArray array => array, + JsonObject obj => obj.Select(p => p.Value), + _ => [], + }; +} diff --git a/src/ConfigWay.FeatureManagement/FeatureFlagsProvider.cs b/src/ConfigWay.FeatureManagement/FeatureFlagsProvider.cs new file mode 100644 index 0000000..1134b99 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/FeatureFlagsProvider.cs @@ -0,0 +1,36 @@ +using System.Globalization; +using Kododo.ConfigWay.Core.Model; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// +/// Exposes the flags kept in the ConfigWay store as feature_management:feature_flags, where +/// Microsoft.FeatureManagement reads them. +/// +internal sealed class FeatureFlagsProvider : StoreConfigurationProvider +{ + /// + /// The index of the first flag. Feature management is set up to merge flags by id, where the indexes do not + /// matter; should it merge by index instead (it does when the app has a provider it cannot inspect), indexes + /// past those of the app's own flags still let the flags of the store win. + /// + public const int FirstIndex = 100_000; + + protected override IEnumerable> Select(IReadOnlyList settings) + { + var data = new Dictionary(StringComparer.OrdinalIgnoreCase); + var index = FirstIndex; + foreach (var flag in StoredFlags.Read(settings)) + { + if (flag.Json is null) + continue; + ConfigurationJson.Flatten( + flag.Json, + $"feature_management:feature_flags:{index.ToString(CultureInfo.InvariantCulture)}", + data); + index++; + } + + return data; + } +} diff --git a/src/ConfigWay.FeatureManagement/FlagCatalog.cs b/src/ConfigWay.FeatureManagement/FlagCatalog.cs new file mode 100644 index 0000000..d173982 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/FlagCatalog.cs @@ -0,0 +1,63 @@ +using System.Text.Json.Nodes; +using Kododo.ConfigWay.Core.Configuration; +using Microsoft.Extensions.Configuration; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// +/// Reads the flags the application has: those defined by its configuration sources (appsettings, environment +/// variables, ...) and those kept in the ConfigWay store, which take their place. +/// +internal sealed class FlagCatalog(IConfiguration appConfiguration, Configuration configuration) +{ + /// + /// The flags of the configuration sources other than ConfigWay, merged by id as feature management merges them: + /// a later source wins, and within one source the Microsoft schema wins over the .NET schema. + /// + public IReadOnlyDictionary ReadBase() + { + var root = appConfiguration as IConfigurationRoot + ?? throw new InvalidOperationException("Feature flags require IConfiguration to implement IConfigurationRoot."); + + var flags = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var provider in root.Providers.Where(p => p is not StoreConfigurationProvider)) + { + if (ConfigurationJson.Read(provider, "FeatureManagement") is JsonObject dotnetSchema) + { + foreach (var (id, node) in dotnetSchema) + { + flags[id] = new BaseFlag( + id, + FlagJson.FromDotnetSchema(id, node), + IsDotnetSchema: true, + HasDroppedVariants: FlagJson.HasDotnetVariants(node)); + } + } + + foreach (var json in ConfigurationJson.Read(provider, "feature_management:feature_flags").Items().OfType()) + { + if (json.Get("id").AsText() is { Length: > 0 } id) + flags[id] = new BaseFlag(id, json, IsDotnetSchema: false, HasDroppedVariants: false); + } + } + + return flags; + } + + /// The flags kept in the store, by id. + public async Task> ReadStoredAsync(CancellationToken cancellationToken) + { + var settings = await configuration.Store.GetAllAsync(cancellationToken); + var flags = new Dictionary(StringComparer.OrdinalIgnoreCase); + foreach (var flag in StoredFlags.Read(settings)) + flags[flag.Id] = flag; + return flags; + } +} + +/// A flag defined by a configuration source of the application. +/// The id as the source writes it. +/// The flag in the Microsoft schema; values are text, as configuration has them. +/// Whether the source defines it in the older .NET schema (FeatureManagement). +/// Whether it has .NET schema variants, which an override does not keep. +internal sealed record BaseFlag(string Id, JsonObject Json, bool IsDotnetSchema, bool HasDroppedVariants); diff --git a/src/ConfigWay.FeatureManagement/FlagJson.cs b/src/ConfigWay.FeatureManagement/FlagJson.cs new file mode 100644 index 0000000..b4750e4 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/FlagJson.cs @@ -0,0 +1,122 @@ +using System.Text.Json.Nodes; +using Kododo.ConfigWay.FeatureManagement.Model; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// +/// Converts between the editor's and a flag in the Microsoft feature management schema +/// (feature_management:feature_flags), and from the older .NET schema (FeatureManagement). +/// +internal static class FlagJson +{ + /// The flag as the editor shows it. + public static FeatureFlag ToFlag(string id, JsonObject json) + { + var conditions = json.Get("conditions") as JsonObject; + var filters = conditions.Get("client_filters").Items() + .OfType() + .Select(f => (Name: f.Get("name").AsText(), Parameters: f.Get("parameters") as JsonObject)) + .Where(f => !string.IsNullOrWhiteSpace(f.Name)) + .Select(f => new FeatureFilter(f.Name!, KnownFilters.Normalize(f.Name!, f.Parameters))) + .ToArray(); + + return new FeatureFlag( + id, + json.Get("enabled").AsBool() ?? false, + string.Equals(conditions.Get("requirement_type").AsText(), "All", StringComparison.OrdinalIgnoreCase) + ? RequirementType.All + : RequirementType.Any, + filters, + json.Get("description").AsText()); + } + + /// Whether the flag has variants, which the editor keeps but does not edit yet. + public static bool HasVariants(JsonObject json) => + json.Get("variants") is not null || json.Get("allocation") is not null; + + /// + /// The flag with the editor's values applied. Everything the editor does not know about, e.g. variants or + /// telemetry, is kept from . + /// + public static JsonObject Apply(FeatureFlag flag, JsonObject? existing) + { + var json = new JsonObject { ["id"] = flag.Id }; + if (!string.IsNullOrWhiteSpace(flag.Description)) + json["description"] = flag.Description; + json["enabled"] = flag.Enabled; + + if (flag.Filters.Length > 0) + { + json["conditions"] = new JsonObject + { + ["requirement_type"] = flag.RequirementType.ToString(), + ["client_filters"] = new JsonArray(flag.Filters + .Select(f => + { + var filter = new JsonObject { ["name"] = f.Name }; + if (KnownFilters.Normalize(f.Name, f.Parameters) is { } parameters) + filter["parameters"] = parameters; + return (JsonNode)filter; + }) + .ToArray()), + }; + } + + if (existing is not null) + { + foreach (var (key, value) in existing) + { + if (!IsEdited(key)) + json[key] = value?.DeepClone(); + } + } + + return json; + } + + /// + /// A flag of the .NET schema in the Microsoft schema: "Beta": true or + /// "Beta": { "EnabledFor": [...], "RequirementType": "All" }. + /// + public static JsonObject FromDotnetSchema(string id, JsonNode? node) + { + if (node is not JsonObject obj) + return new JsonObject { ["id"] = id, ["enabled"] = node.AsBool() ?? false }; + + var enabledFor = obj.Get("EnabledFor").Items() + .OfType() + .Select(f => (Name: f.Get("Name").AsText(), Parameters: f.Get("Parameters") as JsonObject)) + .Where(f => !string.IsNullOrWhiteSpace(f.Name)) + .ToArray(); + var alwaysOn = enabledFor.Any(f => f.Name is "AlwaysOn" or "On"); + var disabled = string.Equals(obj.Get("Status").AsText(), "Disabled", StringComparison.OrdinalIgnoreCase); + + var json = new JsonObject { ["id"] = id, ["enabled"] = !disabled && enabledFor.Length > 0 }; + if (!alwaysOn && enabledFor.Length > 0) + { + json["conditions"] = new JsonObject + { + ["requirement_type"] = obj.Get("RequirementType").AsText() ?? "Any", + ["client_filters"] = new JsonArray(enabledFor + .Select(f => (JsonNode)new JsonObject + { + ["name"] = f.Name, + ["parameters"] = f.Parameters?.DeepClone(), + }) + .ToArray()), + }; + } + + return json; + } + + /// Whether a .NET schema flag has variants, which are not carried over to an override. + public static bool HasDotnetVariants(JsonNode? node) => + node is JsonObject obj && (obj.Get("Variants") is not null || obj.Get("Allocation") is not null); + + private static bool IsEdited(string key) => + key.Equals("id", StringComparison.OrdinalIgnoreCase) || + key.Equals("enabled", StringComparison.OrdinalIgnoreCase) || + key.Equals("description", StringComparison.OrdinalIgnoreCase) || + key.Equals("conditions", StringComparison.OrdinalIgnoreCase); +} diff --git a/src/ConfigWay.FeatureManagement/KnownFilters.cs b/src/ConfigWay.FeatureManagement/KnownFilters.cs new file mode 100644 index 0000000..d3c0cbd --- /dev/null +++ b/src/ConfigWay.FeatureManagement/KnownFilters.cs @@ -0,0 +1,177 @@ +using System.Globalization; +using System.Text.Json.Nodes; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// +/// The built-in filters of Microsoft.FeatureManagement that the editor has forms for: their parameters are written in +/// one shape and checked before a save. Other filters are kept as they are. +/// +internal static class KnownFilters +{ + public const string Percentage = "Microsoft.Percentage"; + public const string TimeWindow = "Microsoft.TimeWindow"; + public const string Targeting = "Microsoft.Targeting"; + + private static readonly string[] All = [Percentage, TimeWindow, Targeting]; + + /// + /// The built-in filter refers to, by its full alias or its last segment as the library + /// accepts them (Microsoft.Percentage or Percentage); null for any other filter. + /// + public static string? Find(string? name) => + name is null + ? null + : All.FirstOrDefault(f => + string.Equals(f, name, StringComparison.OrdinalIgnoreCase) || + string.Equals(f[(f.LastIndexOf('.') + 1)..], name, StringComparison.OrdinalIgnoreCase)); + + /// + /// The parameters of a built-in filter in one shape: numbers as numbers, times in RFC 1123, empty parts left out. + /// Values that cannot be read are kept as they are, so that nothing is lost; other filters are copied. + /// + public static JsonObject? Normalize(string name, JsonObject? parameters) => Find(name) switch + { + Percentage => NormalizePercentage(parameters), + TimeWindow => NormalizeTimeWindow(parameters), + Targeting => NormalizeTargeting(parameters), + _ => parameters?.DeepClone().AsObject(), + }; + + /// What is wrong with the parameters of a built-in filter; nothing for other filters. + public static IEnumerable Validate(string name, JsonObject? parameters) => Find(name) switch + { + Percentage => ValidatePercentage(parameters), + TimeWindow => ValidateTimeWindow(parameters), + Targeting => ValidateTargeting(parameters), + _ => [], + }; + + private static JsonObject NormalizePercentage(JsonObject? parameters) + { + var result = new JsonObject(); + SetNumber(result, "Value", parameters.Get("Value")); + return result; + } + + private static JsonObject NormalizeTimeWindow(JsonObject? parameters) + { + var result = new JsonObject(); + foreach (var name in new[] { "Start", "End" }) + { + var text = parameters.Get(name).AsText(); + if (string.IsNullOrWhiteSpace(text)) + continue; + result[name] = TryParseTime(text, out var time) ? time.ToString("r", CultureInfo.InvariantCulture) : text; + } + + if (parameters.Get("Recurrence") is { } recurrence) + result["Recurrence"] = recurrence.DeepClone(); + return result; + } + + private static JsonObject NormalizeTargeting(JsonObject? parameters) + { + var audience = parameters.Get("Audience") as JsonObject; + var result = new JsonObject + { + ["Users"] = Texts(audience.Get("Users")), + ["Groups"] = new JsonArray(audience.Get("Groups").Items().OfType().Select(group => + { + var item = new JsonObject { ["Name"] = group.Get("Name").AsText() ?? string.Empty }; + SetNumber(item, "RolloutPercentage", group.Get("RolloutPercentage")); + return (JsonNode)item; + }).ToArray()), + }; + SetNumber(result, "DefaultRolloutPercentage", audience.Get("DefaultRolloutPercentage")); + + var exclusion = audience.Get("Exclusion") as JsonObject; + result["Exclusion"] = new JsonObject + { + ["Users"] = Texts(exclusion.Get("Users")), + ["Groups"] = Texts(exclusion.Get("Groups")), + }; + return new JsonObject { ["Audience"] = result }; + } + + private static IEnumerable ValidatePercentage(JsonObject? parameters) + { + if (parameters.Get("Value").AsNumber() is not { } value) + yield return "The percentage is required."; + else if (value is < 0 or > 100) + yield return "The percentage must be between 0 and 100."; + } + + private static IEnumerable ValidateTimeWindow(JsonObject? parameters) + { + DateTimeOffset? start = null, end = null; + foreach (var name in new[] { "Start", "End" }) + { + var text = parameters.Get(name).AsText(); + if (string.IsNullOrWhiteSpace(text)) + continue; + if (!TryParseTime(text, out var time)) + yield return $"The {name.ToLowerInvariant()} time is not a valid date and time."; + else if (name == "Start") + start = time; + else + end = time; + } + + if (string.IsNullOrWhiteSpace(parameters.Get("Start").AsText()) && + string.IsNullOrWhiteSpace(parameters.Get("End").AsText())) + yield return "The time window needs a start, an end or both."; + else if (start >= end) + yield return "The start must be before the end."; + } + + private static IEnumerable ValidateTargeting(JsonObject? parameters) + { + if (parameters.Get("Audience") is not JsonObject audience) + { + yield return "The audience is required."; + yield break; + } + + if (audience.Get("Users").Items().Any(u => string.IsNullOrWhiteSpace(u.AsText()))) + yield return "User names cannot be empty."; + + var groups = audience.Get("Groups").Items().ToArray(); + var names = new HashSet(StringComparer.OrdinalIgnoreCase); + foreach (var group in groups) + { + var name = (group as JsonObject).Get("Name").AsText(); + if (string.IsNullOrWhiteSpace(name)) + yield return "Group names cannot be empty."; + else if (!names.Add(name)) + yield return $"The group '{name}' is listed more than once."; + + if (!IsPercentage((group as JsonObject).Get("RolloutPercentage"), required: true)) + yield return $"The rollout percentage of the group '{name}' must be between 0 and 100."; + } + + if (!IsPercentage(audience.Get("DefaultRolloutPercentage"), required: false)) + yield return "The default rollout percentage must be between 0 and 100."; + + var exclusion = audience.Get("Exclusion") as JsonObject; + if (exclusion.Get("Users").Items().Concat(exclusion.Get("Groups").Items()) + .Any(e => string.IsNullOrWhiteSpace(e.AsText()))) + yield return "Excluded users and groups cannot be empty."; + } + + private static bool IsPercentage(JsonNode? node, bool required) => + node is null ? !required : node.AsNumber() is >= 0 and <= 100; + + private static void SetNumber(JsonObject target, string name, JsonNode? value) + { + if (value is null) + return; + target[name] = value.AsNumber() is { } number ? JsonValue.Create(number) : value.DeepClone(); + } + + private static JsonArray Texts(JsonNode? node) => + new(node.Items().Select(i => (JsonNode?)JsonValue.Create(i.AsText() ?? string.Empty)).ToArray()); + + private static bool TryParseTime(string text, out DateTimeOffset time) => + DateTimeOffset.TryParse(text, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out time); +} diff --git a/src/ConfigWay.FeatureManagement/Model/FeatureFlag.cs b/src/ConfigWay.FeatureManagement/Model/FeatureFlag.cs new file mode 100644 index 0000000..378a5be --- /dev/null +++ b/src/ConfigWay.FeatureManagement/Model/FeatureFlag.cs @@ -0,0 +1,58 @@ +using System.ComponentModel.DataAnnotations; +using System.Text.Json.Nodes; + +namespace Kododo.ConfigWay.FeatureManagement.Model; + +/// A feature flag as the editor shows and edits it. +/// The flag name used by the application, e.g. in IsEnabledAsync("Beta"). +/// Off when false; when true, on if the filters allow it (or there are none). +/// Whether any or all of the filters must allow the flag. +/// The conditions; an empty list means the flag is simply on or off. +/// An optional note on what the flag is for. +internal sealed record FeatureFlag( + string Id, + bool Enabled, + RequirementType RequirementType, + FeatureFilter[] Filters, + string? Description = null) : IValidatableObject +{ + /// Longest id: the store key, with its prefix, must fit the SQL Server key column. + public const int MaxIdLength = 200; + + public IEnumerable Validate(ValidationContext validationContext) + { + if (string.IsNullOrWhiteSpace(Id)) + yield return new ValidationResult("The id is required.", [nameof(Id)]); + else if (Id.Trim() != Id) + yield return new ValidationResult("The id cannot start or end with a space.", [nameof(Id)]); + else if (Id.Contains(':')) + yield return new ValidationResult("The id cannot contain ':'.", [nameof(Id)]); + else if (Id.Length > MaxIdLength) + yield return new ValidationResult($"The id can have at most {MaxIdLength} characters.", [nameof(Id)]); + } +} + +/// Whether any or all of a flag's filters must allow it. +internal enum RequirementType +{ + Any, + All, +} + +/// A condition of a flag: a feature filter and its parameters. +/// The filter alias, e.g. Microsoft.Percentage. +/// The filter's settings; their shape depends on the filter. +internal sealed record FeatureFilter(string Name, JsonObject? Parameters = null) : IValidatableObject +{ + public IEnumerable Validate(ValidationContext validationContext) + { + if (string.IsNullOrWhiteSpace(Name)) + { + yield return new ValidationResult("The filter name is required.", [nameof(Name)]); + yield break; + } + + foreach (var error in KnownFilters.Validate(Name, Parameters)) + yield return new ValidationResult(error, [nameof(Parameters)]); + } +} diff --git a/src/ConfigWay.FeatureManagement/RegisteredFilters.cs b/src/ConfigWay.FeatureManagement/RegisteredFilters.cs new file mode 100644 index 0000000..ef1ad98 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/RegisteredFilters.cs @@ -0,0 +1,50 @@ +using System.Reflection; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.FeatureManagement; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// The feature filters the application registered, named as feature management names them. +internal sealed class RegisteredFilters(IServiceProvider services) +{ + /// Handled by feature management itself, without a registered filter. + private static readonly string[] BuiltIn = ["AlwaysOn", "On"]; + + /// Whether the application registered feature management at all. + public bool IsFeatureManagementRegistered => services.GetService() is not null; + + /// + /// The aliases of the registered filters: the , or the type name without a + /// Filter suffix; null when they cannot be listed, e.g. a filter misses a dependency. + /// + public string[]? Aliases() + { + try + { + return services.GetServices() + .Select(f => f.GetType()) + .Select(t => t.GetCustomAttribute()?.Alias ?? TrimSuffix(t.Name, "Filter")) + .Distinct(StringComparer.OrdinalIgnoreCase) + .Order(StringComparer.OrdinalIgnoreCase) + .ToArray(); + } + catch (InvalidOperationException) + { + return null; + } + } + + /// + /// Whether feature management finds a filter for : the full alias, or for a name without + /// a namespace, the last segment of an alias (Percentage for Microsoft.Percentage). + /// + public static bool Matches(string name, IEnumerable aliases) => + BuiltIn.Contains(name, StringComparer.OrdinalIgnoreCase) || + aliases.Any(alias => + string.Equals(alias, name, StringComparison.OrdinalIgnoreCase) || + (!name.Contains('.') && + string.Equals(alias[(alias.LastIndexOf('.') + 1)..], name, StringComparison.OrdinalIgnoreCase))); + + private static string TrimSuffix(string name, string suffix) => + name.EndsWith(suffix, StringComparison.Ordinal) && name.Length > suffix.Length ? name[..^suffix.Length] : name; +} diff --git a/src/ConfigWay.FeatureManagement/StoredFlags.cs b/src/ConfigWay.FeatureManagement/StoredFlags.cs new file mode 100644 index 0000000..9e5b232 --- /dev/null +++ b/src/ConfigWay.FeatureManagement/StoredFlags.cs @@ -0,0 +1,52 @@ +using System.Text.Json; +using System.Text.Json.Nodes; +using Kododo.ConfigWay.Core.Model; + +namespace Kododo.ConfigWay.FeatureManagement; + +/// +/// The flags kept in the ConfigWay store: one setting per flag, keyed feature_management:flags/{id}, with the +/// flag in the Microsoft schema as JSON. +/// +internal static class StoredFlags +{ + public const string Prefix = "feature_management:flags/"; + + public static string KeyFor(string id) => Prefix + id; + + /// The flags among , in the order of their ids. + public static IReadOnlyList Read(IEnumerable settings) => + settings + .Where(s => s.Key.StartsWith(Prefix, StringComparison.OrdinalIgnoreCase) && s.Key.Length > Prefix.Length) + .Select(Parse) + .OrderBy(f => f.Id, StringComparer.OrdinalIgnoreCase) + .ThenBy(f => f.Key, StringComparer.Ordinal) + .ToArray(); + + private static StoredFlag Parse(Setting setting) + { + var id = setting.Key[Prefix.Length..]; + try + { + if (JsonNode.Parse(setting.Value ?? string.Empty) is not JsonObject json) + return new StoredFlag(setting.Key, id, null, "The stored flag is not a JSON object."); + + // The key decides the id, whatever the JSON says. + foreach (var key in json.Select(p => p.Key).Where(k => k.Equals("id", StringComparison.OrdinalIgnoreCase)).ToArray()) + json.Remove(key); + json["id"] = id; + return new StoredFlag(setting.Key, id, json, null); + } + catch (JsonException ex) + { + return new StoredFlag(setting.Key, id, null, $"The stored flag is not valid JSON: {ex.Message}"); + } + } +} + +/// A flag kept in the store. +/// The store key. +/// The flag id, from the key. +/// The flag; null when the stored value cannot be read. +/// Why the stored value cannot be read. +internal sealed record StoredFlag(string Key, string Id, JsonObject? Json, string? Error); diff --git a/src/ConfigWay.PostgreSQL.Tests/ConfigWay.PostgreSQL.Tests.csproj b/src/ConfigWay.PostgreSQL.Tests/ConfigWay.PostgreSQL.Tests.csproj index ca595c4..7fc59f1 100644 --- a/src/ConfigWay.PostgreSQL.Tests/ConfigWay.PostgreSQL.Tests.csproj +++ b/src/ConfigWay.PostgreSQL.Tests/ConfigWay.PostgreSQL.Tests.csproj @@ -29,6 +29,7 @@ + diff --git a/src/ConfigWay.PostgreSQL.Tests/Integration/FeatureFlagsStoreTests.cs b/src/ConfigWay.PostgreSQL.Tests/Integration/FeatureFlagsStoreTests.cs new file mode 100644 index 0000000..69bd58b --- /dev/null +++ b/src/ConfigWay.PostgreSQL.Tests/Integration/FeatureFlagsStoreTests.cs @@ -0,0 +1,85 @@ +using System.Net; +using System.Net.Http.Json; +using Kododo.ConfigWay.FeatureManagement; +using Kododo.ConfigWay.PostgreSQL.Tests.Fixtures; +using Kododo.ConfigWay.UI; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.FeatureManagement; +using Xunit; + +namespace Kododo.ConfigWay.PostgreSQL.Tests.Integration; + +/// Feature flags kept in PostgreSQL: they survive a restart and reach other replicas. +[Collection("PostgreSQL")] +public class FeatureFlagsStoreTests(PostgreSqlFixture fixture) : IAsyncLifetime +{ + public Task InitializeAsync() => fixture.ResetAsync(); + + public Task DisposeAsync() => Task.CompletedTask; + + [Fact] + public async Task SavedFlag_SurvivesARestart() + { + await using (var app = await CreateAppAsync()) + { + var response = await app.GetTestClient().PostAsJsonAsync("/config/api/SaveFeatureFlag", new + { + Flag = new { Id = "Beta", Enabled = false, RequirementType = "Any", Filters = Array.Empty() }, + }); + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); + } + + await using var restarted = await CreateAppAsync(); + var featureManager = restarted.Services.GetRequiredService(); + + Assert.False(await featureManager.IsEnabledAsync("Beta")); + } + + [Fact] + public async Task SavedFlag_ReachesAnotherReplica() + { + await using var app = await CreateAppAsync(); + await using var replica = await CreateAppAsync(reloadInterval: TimeSpan.FromMilliseconds(100)); + var featureManager = replica.Services.GetRequiredService(); + Assert.True(await featureManager.IsEnabledAsync("Beta")); + + var response = await app.GetTestClient().PostAsJsonAsync("/config/api/SaveFeatureFlag", new + { + Flag = new { Id = "Beta", Enabled = false, RequirementType = "Any", Filters = Array.Empty() }, + }); + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); + + var deadline = DateTime.UtcNow.AddSeconds(10); + while (await featureManager.IsEnabledAsync("Beta") && DateTime.UtcNow < deadline) + await Task.Delay(50); + + Assert.False(await featureManager.IsEnabledAsync("Beta")); + } + + private async Task CreateAppAsync(TimeSpan? reloadInterval = null) + { + var builder = WebApplication.CreateBuilder(); + builder.WebHost.UseTestServer(); + builder.Configuration.AddInMemoryCollection(new Dictionary + { + ["feature_management:feature_flags:0:id"] = "Beta", + ["feature_management:feature_flags:0:enabled"] = "true", + }); + builder.AddConfigWay(x => + { + x.UsePostgreSql(fixture.ConnectionString); + x.AddUiEditor(); + x.AddFeatureFlags(); + x.ReloadInterval = reloadInterval; + }); + builder.Services.AddFeatureManagement(); + + var app = builder.Build(); + app.UseConfigWay().AllowAnonymous(); + await app.StartAsync(); + return app; + } +} diff --git a/src/ConfigWay.SqlServer.Tests/ConfigWay.SqlServer.Tests.csproj b/src/ConfigWay.SqlServer.Tests/ConfigWay.SqlServer.Tests.csproj index b742927..cc8fa1a 100644 --- a/src/ConfigWay.SqlServer.Tests/ConfigWay.SqlServer.Tests.csproj +++ b/src/ConfigWay.SqlServer.Tests/ConfigWay.SqlServer.Tests.csproj @@ -29,6 +29,7 @@ + diff --git a/src/ConfigWay.SqlServer.Tests/Integration/FeatureFlagsStoreTests.cs b/src/ConfigWay.SqlServer.Tests/Integration/FeatureFlagsStoreTests.cs new file mode 100644 index 0000000..a9a25ad --- /dev/null +++ b/src/ConfigWay.SqlServer.Tests/Integration/FeatureFlagsStoreTests.cs @@ -0,0 +1,85 @@ +using System.Net; +using System.Net.Http.Json; +using Kododo.ConfigWay.FeatureManagement; +using Kododo.ConfigWay.SqlServer.Tests.Fixtures; +using Kododo.ConfigWay.UI; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.FeatureManagement; +using Xunit; + +namespace Kododo.ConfigWay.SqlServer.Tests.Integration; + +/// Feature flags kept in SQL Server: they survive a restart and reach other replicas. +[Collection("SqlServer")] +public class FeatureFlagsStoreTests(SqlServerFixture fixture) : IAsyncLifetime +{ + public Task InitializeAsync() => fixture.ResetAsync(); + + public Task DisposeAsync() => Task.CompletedTask; + + [Fact] + public async Task SavedFlag_SurvivesARestart() + { + await using (var app = await CreateAppAsync()) + { + var response = await app.GetTestClient().PostAsJsonAsync("/config/api/SaveFeatureFlag", new + { + Flag = new { Id = "Beta", Enabled = false, RequirementType = "Any", Filters = Array.Empty() }, + }); + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); + } + + await using var restarted = await CreateAppAsync(); + var featureManager = restarted.Services.GetRequiredService(); + + Assert.False(await featureManager.IsEnabledAsync("Beta")); + } + + [Fact] + public async Task SavedFlag_ReachesAnotherReplica() + { + await using var app = await CreateAppAsync(); + await using var replica = await CreateAppAsync(reloadInterval: TimeSpan.FromMilliseconds(100)); + var featureManager = replica.Services.GetRequiredService(); + Assert.True(await featureManager.IsEnabledAsync("Beta")); + + var response = await app.GetTestClient().PostAsJsonAsync("/config/api/SaveFeatureFlag", new + { + Flag = new { Id = "Beta", Enabled = false, RequirementType = "Any", Filters = Array.Empty() }, + }); + Assert.Equal(HttpStatusCode.NoContent, response.StatusCode); + + var deadline = DateTime.UtcNow.AddSeconds(10); + while (await featureManager.IsEnabledAsync("Beta") && DateTime.UtcNow < deadline) + await Task.Delay(50); + + Assert.False(await featureManager.IsEnabledAsync("Beta")); + } + + private async Task CreateAppAsync(TimeSpan? reloadInterval = null) + { + var builder = WebApplication.CreateBuilder(); + builder.WebHost.UseTestServer(); + builder.Configuration.AddInMemoryCollection(new Dictionary + { + ["feature_management:feature_flags:0:id"] = "Beta", + ["feature_management:feature_flags:0:enabled"] = "true", + }); + builder.AddConfigWay(x => + { + x.UseSqlServer(fixture.ConnectionString); + x.AddUiEditor(); + x.AddFeatureFlags(); + x.ReloadInterval = reloadInterval; + }); + builder.Services.AddFeatureManagement(); + + var app = builder.Build(); + app.UseConfigWay().AllowAnonymous(); + await app.StartAsync(); + return app; + } +} diff --git a/src/ConfigWay.slnx b/src/ConfigWay.slnx index ee02dcb..18f235e 100644 --- a/src/ConfigWay.slnx +++ b/src/ConfigWay.slnx @@ -7,10 +7,12 @@ + + diff --git a/src/ConfigWay/ConfigWay.csproj b/src/ConfigWay/ConfigWay.csproj index bdc1aaa..e64924e 100644 --- a/src/ConfigWay/ConfigWay.csproj +++ b/src/ConfigWay/ConfigWay.csproj @@ -24,6 +24,9 @@ <_Parameter1>Kododo.ConfigWay.PostgreSQL.Tests + + <_Parameter1>Kododo.ConfigWay.FeatureManagement.Tests + diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 2b3821b..1f5fe56 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -49,6 +49,9 @@ + + + From 71e4b2bc477bf6a6d1282437f3ac244f1d912e3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81api=C5=84ski?= Date: Wed, 21 Oct 2026 21:26:09 +0200 Subject: [PATCH 3/4] feat: feature flags view in the editor The editor shows a Feature flags view, at the top of the menu, when the app added Kododo.ConfigWay.FeatureManagement. - The list: a switch per flag that saves at once, with an undo; what the conditions do; badges for overrides, flags only ConfigWay has, the .NET schema and variants; search. - The editor: forms for the percentage, time window (local time, stored in UTC) and targeting filters, JSON for other filters, any or all of the conditions, reset or delete, and a check of the saved flag for a user and groups. The API's errors are shown on their condition. - English and Polish. @kododo-dev/way-shell 2.1.1. The demo uses real flags from appsettings instead of an options class, and its home page shows them for a visitor picked with ?user=. Browser scenarios: e2e/check.mjs and e2e/flags.mjs. --- .../ConfigWay.Demo.Web.csproj | 1 + src/ConfigWay.Demo.Web/HomeView.cs | 34 +- src/ConfigWay.Demo.Web/Options.cs | 17 - src/ConfigWay.Demo.Web/Program.cs | 27 +- src/ConfigWay.Demo.Web/appsettings.json | 93 ++++- src/ConfigWay.Demo.Web/e2e/check.mjs | 87 +++++ src/ConfigWay.Demo.Web/e2e/flags.mjs | 337 +++++++++++++++++ src/ConfigWay.UI/.nuget/README.md | 1 + src/ConfigWay.UI/SPA/package-lock.json | 8 +- src/ConfigWay.UI/SPA/package.json | 2 +- src/ConfigWay.UI/SPA/src/App.tsx | 30 +- src/ConfigWay.UI/SPA/src/api/flags.ts | 70 ++++ .../SPA/src/components/flags/ChipsInput.tsx | 35 ++ .../src/components/flags/FilterEditors.tsx | 268 ++++++++++++++ .../SPA/src/components/flags/FlagCheck.tsx | 101 ++++++ .../SPA/src/components/flags/Panel.tsx | 49 +++ .../SPA/src/components/flags/flagSummary.ts | 41 +++ .../SPA/src/components/layout/PageHeader.tsx | 11 +- .../SPA/src/components/layout/SideMenu.tsx | 12 + .../SPA/src/context/FlagsContext.tsx | 64 ++++ src/ConfigWay.UI/SPA/src/i18n/translations.ts | 186 ++++++++++ src/ConfigWay.UI/SPA/src/pages/FlagPage.tsx | 341 ++++++++++++++++++ src/ConfigWay.UI/SPA/src/pages/FlagsPage.tsx | 215 +++++++++++ src/ConfigWay.UI/SPA/src/utils/flags.ts | 151 ++++++++ 24 files changed, 2135 insertions(+), 46 deletions(-) create mode 100644 src/ConfigWay.Demo.Web/e2e/flags.mjs create mode 100644 src/ConfigWay.UI/SPA/src/api/flags.ts create mode 100644 src/ConfigWay.UI/SPA/src/components/flags/ChipsInput.tsx create mode 100644 src/ConfigWay.UI/SPA/src/components/flags/FilterEditors.tsx create mode 100644 src/ConfigWay.UI/SPA/src/components/flags/FlagCheck.tsx create mode 100644 src/ConfigWay.UI/SPA/src/components/flags/Panel.tsx create mode 100644 src/ConfigWay.UI/SPA/src/components/flags/flagSummary.ts create mode 100644 src/ConfigWay.UI/SPA/src/context/FlagsContext.tsx create mode 100644 src/ConfigWay.UI/SPA/src/pages/FlagPage.tsx create mode 100644 src/ConfigWay.UI/SPA/src/pages/FlagsPage.tsx create mode 100644 src/ConfigWay.UI/SPA/src/utils/flags.ts diff --git a/src/ConfigWay.Demo.Web/ConfigWay.Demo.Web.csproj b/src/ConfigWay.Demo.Web/ConfigWay.Demo.Web.csproj index db3132b..935f5b9 100644 --- a/src/ConfigWay.Demo.Web/ConfigWay.Demo.Web.csproj +++ b/src/ConfigWay.Demo.Web/ConfigWay.Demo.Web.csproj @@ -3,5 +3,6 @@ + diff --git a/src/ConfigWay.Demo.Web/HomeView.cs b/src/ConfigWay.Demo.Web/HomeView.cs index a4964c6..81d69bd 100644 --- a/src/ConfigWay.Demo.Web/HomeView.cs +++ b/src/ConfigWay.Demo.Web/HomeView.cs @@ -4,6 +4,19 @@ namespace Kododo.ConfigWay.Demo.Web; static class HomeView { + /// A visitor of the demo, for the targeting of the flags. + public sealed record Visitor(string? Id, string Label, string[] Groups); + + public sealed record FlagState(string Name, bool Enabled, string? Variant); + + public static readonly Visitor[] Visitors = + [ + new(null, "anonymous", []), + new("alice", "alice", []), + new("bob", "bob (beta-testers)", ["beta-testers"]), + new("mallory", "mallory (beta-testers, excluded)", ["beta-testers"]), + ]; + public static string Render( string basePath, BrandingOptions b, @@ -11,7 +24,8 @@ public static string Render( IdentityOptions id, StorageOptions st, WebhooksOptions wh, - FeatureFlags ff) + Visitor visitor, + FlagState[] flags) { static string Flag(bool on) => on ? "✓ on" @@ -41,6 +55,8 @@ static string Row(string label, string value) => .card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px 22px} .card h2{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin-bottom:14px} table{width:100%;border-collapse:collapse;font-size:.9rem} + .visitors{font-size:.82rem;color:#6b7280;margin:-6px 0 12px} + .visitors a{color:#2563eb;text-decoration:none} .footer{text-align:center;padding:24px;color:#9ca3af;font-size:.82rem;border-top:1px solid #e5e7eb;margin-top:8px} @@ -111,18 +127,22 @@ Open Configuration Editor -
+

Feature Flags

+

Seen by + {{string.Join(" · ", Visitors.Select(v => v == visitor + ? $"{WebUtility.HtmlEncode(v.Label)}" + : $"{WebUtility.HtmlEncode(v.Label)}"))}} +

- - - - + {{string.Concat(flags.Select(f => + $"" + + $""))}}
New Checkout{{Flag(ff.EnableNewCheckout)}}
Beta Banner{{Flag(ff.EnableBetaBanner)}}
Maintenance Mode{{Flag(ff.MaintenanceMode)}}
Read-Only Mode{{Flag(ff.ReadOnlyMode)}}
{WebUtility.HtmlEncode(f.Name)}{Flag(f.Enabled)}{(f.Variant is null ? "" : $" · {WebUtility.HtmlEncode(f.Variant)}")}
- + """; diff --git a/src/ConfigWay.Demo.Web/Options.cs b/src/ConfigWay.Demo.Web/Options.cs index 64dbde9..b5ebdff 100644 --- a/src/ConfigWay.Demo.Web/Options.cs +++ b/src/ConfigWay.Demo.Web/Options.cs @@ -214,20 +214,3 @@ public class WebhooksOptions public int MaxRetries { get; set; } = 3; } -[Display( - Name = "FeatureFlags", - Description = "Runtime toggles for shipping work-in-progress behavior.")] -public class FeatureFlags -{ - [Display(Name = "Enable New Checkout", Description = "Redirects users to the redesigned checkout flow.")] - public bool EnableNewCheckout { get; set; } = false; - - [Display(Name = "Enable Beta Banner", Description = "Shows the 'beta' banner on top of the SPA.")] - public bool EnableBetaBanner { get; set; } = false; - - [Display(Name = "Maintenance Mode", Description = "Short-circuits the site into a maintenance page.")] - public bool MaintenanceMode { get; set; } = false; - - [Display(Name = "Read-Only Mode", Description = "Disables writes while keeping reads available.")] - public bool ReadOnlyMode { get; set; } = false; -} diff --git a/src/ConfigWay.Demo.Web/Program.cs b/src/ConfigWay.Demo.Web/Program.cs index b1a7fda..6b9e1b3 100644 --- a/src/ConfigWay.Demo.Web/Program.cs +++ b/src/ConfigWay.Demo.Web/Program.cs @@ -3,6 +3,9 @@ using Kododo.ConfigWay.Demo.Web; using Kododo.ConfigWay.UI; using Kododo.ConfigWay.PostgreSQL; +using Kododo.ConfigWay.FeatureManagement; +using Microsoft.FeatureManagement; +using Microsoft.FeatureManagement.FeatureFilters; var builder = WebApplication.CreateBuilder(args); @@ -13,13 +16,14 @@ x.AddOptions("Identity"); x.AddOptions("Storage"); x.AddOptions("Webhooks"); - x.AddOptions("FeatureFlags"); x.AddUiEditor(); + x.AddFeatureFlags(); x.UsePostgreSql(builder.Configuration.GetConnectionString("DemoDB")!); }); builder.Services.AddSingleton, SmtpOptionsValidator>(); builder.Services.AddSingleton, IdentityOptionsValidator>(); +builder.Services.AddFeatureManagement(); var app = builder.Build(); @@ -27,18 +31,33 @@ if(!pathBase.StartsWith("/")) pathBase = "/" + pathBase; if(!pathBase.EndsWith("/")) pathBase += "/"; -app.MapGet("/", ( +app.MapGet("/", async ( + string? user, IOptionsSnapshot branding, IOptionsSnapshot smtp, IOptionsSnapshot identity, IOptionsSnapshot storage, IOptionsSnapshot webhooks, - IOptionsSnapshot flags) => + IVariantFeatureManager featureManager, + CancellationToken cancellationToken) => { + // The demo's visitors: pick one with ?user= to see the flags as that user sees them. + var visitor = HomeView.Visitors.FirstOrDefault(v => v.Id == user) ?? HomeView.Visitors[0]; + var context = new TargetingContext { UserId = visitor.Id, Groups = visitor.Groups }; + + var flags = new List(); + await foreach (var name in featureManager.GetFeatureNamesAsync(cancellationToken)) + { + var enabled = await featureManager.IsEnabledAsync(name, context, cancellationToken); + var variant = await featureManager.GetVariantAsync(name, context, cancellationToken); + flags.Add(new HomeView.FlagState(name, enabled, variant?.Name)); + } + var html = HomeView.Render( pathBase, branding.Value, smtp.Value, identity.Value, - storage.Value, webhooks.Value, flags.Value); + storage.Value, webhooks.Value, + visitor, flags.OrderBy(f => f.Name, StringComparer.OrdinalIgnoreCase).ToArray()); return Results.Content(html, "text/html"); }); diff --git a/src/ConfigWay.Demo.Web/appsettings.json b/src/ConfigWay.Demo.Web/appsettings.json index 39c42b0..dbe164d 100644 --- a/src/ConfigWay.Demo.Web/appsettings.json +++ b/src/ConfigWay.Demo.Web/appsettings.json @@ -49,10 +49,95 @@ } ] }, - "FeatureFlags": { - "EnableNewCheckout": false, - "EnableBetaBanner": false, - "MaintenanceMode": false, + "feature_management": { + "feature_flags": [ + { + "id": "BetaBanner", + "description": "Shows the beta banner on top of the site.", + "enabled": true + }, + { + "id": "NewCheckout", + "description": "Redesigned checkout flow, rolled out to beta testers first.", + "enabled": true, + "conditions": { + "client_filters": [ + { + "name": "Microsoft.Targeting", + "parameters": { + "Audience": { + "Users": [ + "alice" + ], + "Groups": [ + { + "Name": "beta-testers", + "RolloutPercentage": 100 + } + ], + "DefaultRolloutPercentage": 0, + "Exclusion": { + "Users": [ + "mallory" + ], + "Groups": [] + } + } + } + } + ] + } + }, + { + "id": "HolidayTheme", + "description": "Festive colors over the holidays.", + "enabled": true, + "conditions": { + "client_filters": [ + { + "name": "Microsoft.TimeWindow", + "parameters": { + "Start": "Sun, 20 Dec 2026 00:00:00 GMT", + "End": "Thu, 07 Jan 2027 00:00:00 GMT" + } + } + ] + } + }, + { + "id": "MaintenanceMode", + "description": "Short-circuits the site into a maintenance page.", + "enabled": false + }, + { + "id": "SearchEngine", + "description": "Which search engine answers; a variant flag.", + "enabled": true, + "variants": [ + { + "name": "Classic", + "configuration_value": "bm25" + }, + { + "name": "Semantic", + "configuration_value": "vector" + } + ], + "allocation": { + "default_when_enabled": "Classic", + "user": [ + { + "variant": "Semantic", + "users": [ + "alice" + ] + } + ] + } + } + ] + }, + "FeatureManagement": { "ReadOnlyMode": false } } diff --git a/src/ConfigWay.Demo.Web/e2e/check.mjs b/src/ConfigWay.Demo.Web/e2e/check.mjs index d6c56e5..2878302 100644 --- a/src/ConfigWay.Demo.Web/e2e/check.mjs +++ b/src/ConfigWay.Demo.Web/e2e/check.mjs @@ -95,6 +95,93 @@ async function open(options = {}) { await context.close(); } +// Feature flags (Kododo.ConfigWay.FeatureManagement): the demo's flags come from appsettings. Screenshots go to +// $SHOTS when it is set. +{ + const { context, page, errors } = await open({ viewport: { width: 1280, height: 800 } }); + const shot = (name) => process.env.SHOTS ? page.screenshot({ path: `${process.env.SHOTS}/${which}-${name}.png` }) : null; + const flagsLoaded = () => page.waitForResponse((r) => r.url().endsWith('/config/api/GetFeatureFlags')); + const homeFlag = async (name, user = '') => { + const html = await (await fetch(`${base}/?user=${user}`)).text(); + return new RegExp(`>${name}]*>✓ on`).test(html); + }; + + // Overrides left by an earlier run would change what the scenarios see. + for (const id of ['BetaBanner', 'NewCheckout', 'E2eFlag']) + await fetch(`${base}/config/api/ResetFeatureFlag`, { + method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id }), + }); + + await page.goto(`${base}/config/`); + const menu = page.getByTestId('way-menu'); + record('flags: in the menu', await visible(menu.getByText('Feature flags'))); + await menu.getByText('Feature flags').click(); + record('flags: list', (await visible(page.getByTestId('flag-row-BetaBanner'))) && page.url().endsWith('#/flags'), page.url()); + record('flags: .NET schema flag listed', await visible(page.getByTestId('flag-row-ReadOnlyMode').getByText('.NET schema'))); + record('flags: variants shown', await visible(page.getByTestId('flag-row-SearchEngine').getByText('variants'))); + await shot('flags-list'); + + // A switch saves at once; Undo puts the flag back. + const beta = page.getByRole('switch', { name: 'BetaBanner' }); + // The list is drawn again after the response that reloads it; wait for the switch rather than read it at once. + const becomes = (checked) => beta.evaluate((e, c) => new Promise((resolve) => { + const check = () => (e.checked === c ? resolve(true) : setTimeout(check, 50)); + check(); + }), checked).then(() => true); + await Promise.all([flagsLoaded(), beta.click()]); + record('flags: switch turns a flag off', (await becomes(false)) && !(await homeFlag('BetaBanner'))); + record('flags: the switch is an override', await visible(page.getByTestId('flag-row-BetaBanner').getByText('overridden'))); + await Promise.all([flagsLoaded(), page.getByRole('button', { name: 'Undo' }).click()]); + record('flags: undo', (await becomes(true)) && (await homeFlag('BetaBanner'))); + record('flags: undo removes the override it made', + await page.getByTestId('flag-row-BetaBanner').getByText('overridden').waitFor({ state: 'detached', timeout: 5000 }).then(() => true, () => false)); + + // The targeting editor, and the check through the app's feature manager. + await page.getByTestId('flag-row-NewCheckout').click(); + record('flags: editor opens', (await visible(page.getByRole('heading', { name: 'NewCheckout' }))) && page.url().endsWith('#/flag/NewCheckout'), page.url()); + record('flags: targeting form with its users', await visible(page.getByRole('button', { name: 'alice' }))); + await page.getByRole('textbox', { name: 'User', exact: true }).fill('bob'); + await page.getByLabel('Groups (comma-separated)').fill('beta-testers'); + await page.getByRole('button', { name: 'Check', exact: true }).click(); + record('flags: check for a user in a targeted group', await visible(page.getByText('On for this user'))); + await page.getByRole('textbox', { name: 'User', exact: true }).fill('carol'); + await page.getByLabel('Groups (comma-separated)').fill(''); + await page.getByRole('button', { name: 'Check', exact: true }).click(); + record('flags: check for another user', await visible(page.getByText('Off for this user'))); + await shot('flag-targeting'); + + // Override, then reset to the configuration. + await page.getByLabel('Enabled').click(); + await Promise.all([flagsLoaded(), page.getByRole('button', { name: 'Save' }).click()]); + record('flags: saved override', (await visible(page.getByText('Overrides the flag defined'))) && !(await homeFlag('NewCheckout', 'alice'))); + await page.getByRole('button', { name: 'Reset to configuration' }).click(); + await Promise.all([flagsLoaded(), page.getByRole('dialog').getByRole('button', { name: 'Reset to configuration' }).click()]); + record('flags: reset to configuration', (await visible(page.getByText('Defined in the application'))) && (await homeFlag('NewCheckout', 'alice'))); + + // A new flag: the API turns down a wrong percentage, then the flag is added and deleted. + await page.goto(`${base}/config/#/flags/new`); + await page.getByTestId('flag-id').fill('E2eFlag'); + await page.getByRole('button', { name: 'Add condition' }).click(); + await page.getByRole('menuitem', { name: 'Percentage' }).click(); + await page.getByLabel('%', { exact: true }).fill('150'); + await page.getByRole('button', { name: 'Save' }).click(); + record('flags: error on the condition', await visible(page.getByText('The percentage must be between 0 and 100.'))); + await shot('flag-new-error'); + await page.getByLabel('%', { exact: true }).fill('100'); + await Promise.all([flagsLoaded(), page.getByRole('button', { name: 'Save' }).click()]); + await page.waitForURL(/#\/flag\/E2eFlag$/, { timeout: 5000 }).catch(() => {}); + record('flags: new flag saved', page.url().endsWith('#/flag/E2eFlag') && (await homeFlag('E2eFlag')), page.url()); + await page.getByRole('button', { name: 'Delete flag' }).click(); + await Promise.all([flagsLoaded(), page.getByRole('dialog').getByRole('button', { name: 'Delete flag' }).click()]); + await page.waitForURL(/#\/flags$/, { timeout: 5000 }).catch(() => {}); + record('flags: deleted', page.url().endsWith('#/flags') && !(await homeFlag('E2eFlag')), page.url()); + + // Errors the API was meant to answer with (the 400 of the wrong percentage) are not page errors. + const unexpected = errors.filter((e) => !/^400 .*\/SaveFeatureFlag$/.test(e)); + record('flags: no errors', unexpected.length === 0, unexpected.join(' | ')); + await context.close(); +} + await browser.close(); const failed = results.filter((r) => !r.ok); for (const r of results) console.log(`${r.ok ? 'ok ' : 'FAIL'} ${r.name}${r.detail ? ` — ${r.detail}` : ''}`); diff --git a/src/ConfigWay.Demo.Web/e2e/flags.mjs b/src/ConfigWay.Demo.Web/e2e/flags.mjs new file mode 100644 index 0000000..bea866c --- /dev/null +++ b/src/ConfigWay.Demo.Web/e2e/flags.mjs @@ -0,0 +1,337 @@ +// Thorough browser scenarios of the feature flags view, against the running demo (its flags come from appsettings): +// node flags.mjs http://localhost:5089 [chrome|msedge|firefox|webkit] +// Needs the playwright package (npm i --no-save playwright). Every scenario puts the flags it changes back. +import { chromium, firefox, webkit } from 'playwright'; + +const base = process.argv[2].replace(/\/$/, ''); +const which = process.argv[3] ?? 'chrome'; +const browser = which === 'firefox' ? await firefox.launch() : which === 'webkit' ? await webkit.launch() : await chromium.launch({ channel: which }); +const results = []; +const record = (name, ok, detail = '') => results.push({ name, ok, detail }); +const visible = (l, timeout = 10000) => l.first().waitFor({ timeout }).then(() => true, () => false); +const gone = (l, timeout = 5000) => l.first().waitFor({ state: 'detached', timeout }).then(() => true, () => false); + +// ── API and the demo's home page ───────────────────────────────────────────── + +const api = async (request, body = {}) => { + const response = await fetch(`${base}/config/api/${request}`, { + method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), + }); + return response.status === 204 ? null : response.json(); +}; +const flagItem = async (id) => (await api('GetFeatureFlags')).flags.find((f) => f.id === id); +const resetAll = async () => { + for (const item of (await api('GetFeatureFlags')).flags) + if (item.hasOverride) await api('ResetFeatureFlag', { id: item.id }); +}; +/** The flag as the demo's home page shows it: { on, variant }, or null when the page does not list it. */ +const home = async (name, user = '') => { + const html = await (await fetch(`${base}/?user=${user}`)).text(); + const match = new RegExp(`>${name.replace(/[.*+?^${}()|[\]\\/]/g, '\\$&')}(]*>[^<]*)(?: ]*>· ([^<]*))?`).exec(html); + return match ? { on: match[1].includes('✓ on'), variant: match[2] ?? null } : null; +}; + +// ── Browser ────────────────────────────────────────────────────────────────── + +async function open(options = {}) { + const context = await browser.newContext({ locale: 'en-US', colorScheme: 'light', viewport: { width: 1280, height: 900 }, ...options }); + const page = await context.newPage(); + const errors = []; + page.on('pageerror', (e) => errors.push(e.message)); + page.on('console', (m) => { if (m.type() === 'error' && !m.text().startsWith('Failed to load resource')) errors.push(m.text()); }); + page.on('response', (r) => { + // The 400s are the answers the scenarios ask for; anything else is an error. + if (r.status() >= 400 && !r.url().endsWith('/favicon.ico') && !(r.status() === 400 && r.url().endsWith('/SaveFeatureFlag'))) + errors.push(`${r.status()} ${r.url()}`); + }); + return { context, page, errors }; +} + +const flagsLoaded = (page) => page.waitForResponse((r) => r.url().endsWith('/config/api/GetFeatureFlags')); +const save = async (page) => { + await Promise.all([flagsLoaded(page), page.getByRole('button', { name: 'Save' }).click()]); +}; +const openFlag = async (page, id) => { + await page.goto(`${base}/config/#/flag/${encodeURIComponent(id)}`); + await page.getByRole('heading', { name: id, exact: true }).waitFor(); +}; +const check = async (page, user, groups = '') => { + await page.getByRole('textbox', { name: 'User', exact: true }).fill(user); + await page.getByLabel('Groups (comma-separated)').fill(groups); + // Editing the user clears the last result, so the one that shows up is the answer to this check. + const result = page.getByTestId('flag-check-result'); + await gone(result); + await page.getByRole('button', { name: 'Check', exact: true }).click(); + await result.waitFor(); + return (await result.textContent()).includes('On for this user'); +}; +const addChip = async (page, label, value) => { + const input = page.getByRole('combobox', { name: label, exact: true }); + await input.click(); + await input.fill(value); + await input.press('Enter'); +}; +const pad = (n) => String(n).padStart(2, '0'); +const localInput = (d) => `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`; + +await resetAll(); + +// ── Navigation ─────────────────────────────────────────────────────────────── +{ + const { context, page, errors } = await open(); + + await page.goto(`${base}/config/#/flag/NewCheckout`); + record('deep link to a flag on a fresh load', await visible(page.getByRole('heading', { name: 'NewCheckout', exact: true }))); + + await page.goto(`${base}/config/#/flag/Nope`); + await page.waitForURL(/#\/flags$/, { timeout: 5000 }).catch(() => {}); + record('unknown flag goes to the list', page.url().endsWith('#/flags'), page.url()); + + await page.getByPlaceholder('Search flags…').fill('check'); + const rows = page.locator('[data-testid^="flag-row-"]'); + await gone(page.getByTestId('flag-row-BetaBanner')); + record('search by id', (await rows.count()) === 1 && await visible(page.getByTestId('flag-row-NewCheckout')), String(await rows.count())); + await page.getByPlaceholder('Search flags…').fill('festive'); + record('search by description', await visible(page.getByTestId('flag-row-HolidayTheme')) && (await rows.count()) === 1); + await page.getByPlaceholder('Search flags…').fill(''); + + record('navigation: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── Time window: local times in, UTC stored, the same local times back ───────── +{ + const { context, page, errors } = await open(); + await openFlag(page, 'HolidayTheme'); + record('time window: not started yet', await visible(page.getByText('not started yet'))); + + const start = new Date(); start.setDate(start.getDate() - 1); start.setHours(10, 30, 0, 0); + const end = new Date(); end.setFullYear(end.getFullYear() + 1); end.setHours(18, 45, 0, 0); + await page.getByLabel('Start').fill(localInput(start)); + await page.getByLabel('End').fill(localInput(end)); + record('time window: active now', await visible(page.getByText('active now'))); + await save(page); + + const stored = (await flagItem('HolidayTheme')).flag.filters[0].parameters; + record('time window: stored in UTC', new Date(stored.Start).getTime() === start.getTime() && new Date(stored.End).getTime() === end.getTime(), + `${stored.Start} / ${stored.End}`); + record('time window: the app sees it on', (await home('HolidayTheme'))?.on === true); + + await page.reload(); + await page.getByLabel('Start').waitFor(); + record('time window: the same local times after a reload', + (await page.getByLabel('Start').inputValue()) === localInput(start) && (await page.getByLabel('End').inputValue()) === localInput(end), + `${await page.getByLabel('Start').inputValue()} / ${await page.getByLabel('End').inputValue()}`); + + await page.getByLabel('End').fill(''); + await save(page); + const open_ = (await flagItem('HolidayTheme')).flag.filters[0].parameters; + record('time window: open end', open_.End === undefined && (await home('HolidayTheme'))?.on === true, JSON.stringify(open_)); + + await page.getByLabel('Start').fill(''); + await page.getByRole('button', { name: 'Save' }).click(); + record('time window: needs a start or an end', await visible(page.getByText('The time window needs a start, an end or both.'))); + + await api('ResetFeatureFlag', { id: 'HolidayTheme' }); + record('time window: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── Targeting: users, groups and exclusions ─────────────────────────────────── +{ + const { context, page, errors } = await open(); + await openFlag(page, 'NewCheckout'); + + await addChip(page, 'Users', 'carol'); + await page.getByRole('button', { name: 'alice' }).locator('.MuiChip-deleteIcon').click(); + await page.getByRole('button', { name: 'Add group' }).click(); + await page.getByLabel('Group', { exact: true }).last().fill('qa'); + await page.getByRole('spinbutton', { name: '% of the group' }).last().fill('100'); + await addChip(page, 'Excluded groups', 'contractors'); + await save(page); + + const audience = (await flagItem('NewCheckout')).flag.filters[0].parameters.Audience; + record('targeting: stored', JSON.stringify(audience.Users) === '["carol"]' + && audience.Groups.map((g) => `${g.Name}:${g.RolloutPercentage}`).join() === 'beta-testers:100,qa:100' + && JSON.stringify(audience.Exclusion.Groups) === '["contractors"]', JSON.stringify(audience)); + + record('targeting: added user is on', await check(page, 'carol')); + record('targeting: removed user is off', !(await check(page, 'alice')) && (await home('NewCheckout', 'alice'))?.on === false); + record('targeting: added group is on', await check(page, 'dave', 'qa')); + record('targeting: excluded group wins', !(await check(page, 'erin', 'qa, contractors'))); + record('targeting: excluded user wins', !(await check(page, 'mallory', 'beta-testers'))); + + await page.getByRole('button', { name: 'Reset to configuration' }).click(); + await Promise.all([flagsLoaded(page), page.getByRole('dialog').getByRole('button', { name: 'Reset to configuration' }).click()]); + record('targeting: reset brings alice back', await visible(page.getByRole('button', { name: 'alice' })) && (await home('NewCheckout', 'alice'))?.on === true); + record('targeting: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── Any or all of two conditions ────────────────────────────────────────────── +{ + const { context, page, errors } = await open(); + await openFlag(page, 'BetaBanner'); + + await page.getByRole('button', { name: 'Add condition' }).click(); + await page.getByRole('menuitem', { name: 'Targeting' }).click(); + await addChip(page, 'Users', 'bob'); + await page.getByRole('button', { name: 'Add condition' }).click(); + await page.getByRole('menuitem', { name: 'Time window' }).click(); + const future = new Date(); future.setFullYear(future.getFullYear() + 2); future.setHours(12, 0, 0, 0); + await page.getByLabel('Start').fill(localInput(future)); + await save(page); + record('any: one condition is enough', (await home('BetaBanner', 'bob'))?.on === true && (await home('BetaBanner'))?.on === false); + + await page.getByRole('button', { name: 'all', exact: true }).click(); + await save(page); + record('all: every condition is needed', (await home('BetaBanner', 'bob'))?.on === false + && (await flagItem('BetaBanner')).flag.requirementType === 'All'); + record('all: shown in the list', (await (await fetch(`${base}/config/api/GetFeatureFlags`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: '{}' })).json()) + .flags.find((f) => f.id === 'BetaBanner').flag.filters.length === 2); + + await page.getByRole('button', { name: 'Remove condition' }).first().click(); + await page.getByRole('button', { name: 'Remove condition' }).first().click(); + record('no conditions: on for everyone', await visible(page.getByText('No conditions: when enabled'))); + await save(page); + record('no conditions: saved', (await home('BetaBanner'))?.on === true && (await flagItem('BetaBanner')).flag.filters.length === 0); + + await api('ResetFeatureFlag', { id: 'BetaBanner' }); + record('any/all: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── A new flag: odd id, custom filter, duplicate id ─────────────────────────── +{ + const { context, page, errors } = await open(); + const id = 'Team.Billing/V2'; + + await page.goto(`${base}/config/#/flags/new`); + await page.getByTestId('flag-id').fill(id); + await page.getByRole('button', { name: 'Add condition' }).click(); + await page.getByRole('menuitem', { name: 'Custom filter' }).click(); + await page.getByRole('combobox', { name: 'Filter name' }).fill('Acme.Browser'); + record('custom filter: warns about an unregistered filter', await visible(page.getByText('has not registered a filter with this name'))); + await page.getByLabel('Parameters (JSON)').fill('{ "Allowed": ['); + record('custom filter: invalid JSON blocks the save', + await visible(page.getByText('Not a valid JSON object.')) && await page.getByRole('button', { name: 'Save' }).isDisabled()); + await page.getByLabel('Parameters (JSON)').fill('{ "Allowed": ["Edge"] }'); + await page.getByRole('button', { name: 'Save' }).click(); + record('custom filter: unregistered filter refused on the condition', await visible(page.getByText("has not registered a filter named 'Acme.Browser'"))); + record('custom filter: nothing saved', (await flagItem(id)) === undefined); + + await page.getByRole('button', { name: 'Remove condition' }).click(); + await page.getByRole('button', { name: 'Add condition' }).click(); + await page.getByRole('menuitem', { name: 'Percentage' }).click(); + await page.getByLabel('%', { exact: true }).fill('0'); + await save(page); + await page.waitForURL(/#\/flag\/Team\.Billing%2FV2$/, { timeout: 5000 }).catch(() => {}); + record('odd id: saved and opened', page.url().endsWith('#/flag/Team.Billing%2FV2') && (await home(id))?.on === false, page.url()); + await page.reload(); + record('odd id: deep link', await visible(page.getByRole('heading', { name: id, exact: true }))); + + await page.goto(`${base}/config/#/flags/new`); + await page.getByTestId('flag-id').fill('betabanner'); + await page.getByRole('button', { name: 'Save' }).click(); + record('duplicate id ignoring case', await visible(page.getByText("A flag named 'betabanner' already exists."))); + await page.getByTestId('flag-id').fill('Bad:Id'); + await page.getByRole('button', { name: 'Save' }).click(); + record('id with a colon', await visible(page.getByText("The id cannot contain ':'."))); + + await api('ResetFeatureFlag', { id }); + record('new flag: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── Discard, the .NET schema and variants ───────────────────────────────────── +{ + const { context, page, errors } = await open(); + + await openFlag(page, 'MaintenanceMode'); + await page.getByLabel('Enabled').click(); + await page.getByLabel('Description').fill('changed'); + await page.getByRole('button', { name: 'Discard' }).click(); + record('discard', !(await page.getByLabel('Enabled').isChecked()) + && (await page.getByLabel('Description').inputValue()) === 'Short-circuits the site into a maintenance page.' + && await page.getByRole('button', { name: 'Save' }).isDisabled()); + + await page.goto(`${base}/config/#/flags`); + await Promise.all([flagsLoaded(page), page.getByRole('switch', { name: 'ReadOnlyMode' }).click()]); + record('.NET schema: overridden from the list', (await home('ReadOnlyMode'))?.on === true); + await openFlag(page, 'ReadOnlyMode'); + record('.NET schema: explained in the editor', await visible(page.getByText('older .NET schema'))); + await page.getByRole('button', { name: 'Reset to configuration' }).click(); + await Promise.all([flagsLoaded(page), page.getByRole('dialog').getByRole('button', { name: 'Reset to configuration' }).click()]); + record('.NET schema: reset', (await home('ReadOnlyMode'))?.on === false); + + record('variants: before', (await home('SearchEngine', 'alice'))?.variant === 'Semantic' && (await home('SearchEngine', 'bob'))?.variant === 'Classic'); + await openFlag(page, 'SearchEngine'); + record('variants: explained in the editor', await visible(page.getByText('This flag has variants'))); + await page.getByLabel('Description').fill('Which search engine answers.'); + await save(page); + record('variants: kept after a save', (await home('SearchEngine', 'alice'))?.variant === 'Semantic'); + record('variants: tester shows the variant', (await check(page, 'alice')) && await visible(page.getByText('variant Semantic'))); + + await api('ResetFeatureFlag', { id: 'SearchEngine' }); + record('discard/.NET/variants: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── Saving settings keeps the flags ─────────────────────────────────────────── +{ + const { context, page, errors } = await open(); + await page.goto(`${base}/config/#/flags`); + await Promise.all([flagsLoaded(page), page.getByRole('switch', { name: 'BetaBanner' }).click()]); + + await page.getByTestId('way-menu').getByText('Branding').click(); + await page.locator('main textarea').first().waitFor(); + const index = await page.locator('main textarea').evaluateAll((els) => els.findIndex((e) => e.value === 'Acme Corp')); + const field = page.locator('main textarea').nth(index); + await field.fill('Acme Flags'); + await Promise.all([ + page.waitForResponse((r) => r.url().endsWith('/config/api/UpdateConfiguration')), + page.waitForResponse((r) => r.url().endsWith('/config/api/GetConfiguration')), + page.getByRole('button', { name: 'Save' }).click(), + ]); + record('settings save keeps the flag overrides', (await home('BetaBanner'))?.on === false && (await flagItem('BetaBanner')).hasOverride); + await field.fill('Acme Corp'); + await Promise.all([ + page.waitForResponse((r) => r.url().endsWith('/config/api/GetConfiguration')), + page.getByRole('button', { name: 'Save' }).click(), + ]); + + await api('ResetFeatureFlag', { id: 'BetaBanner' }); + record('settings: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +// ── Phone and Polish ────────────────────────────────────────────────────────── +{ + const { context, page, errors } = await open({ viewport: { width: 390, height: 800 } }); + const fits = () => page.evaluate(() => document.documentElement.scrollWidth <= window.innerWidth + 1); + + await page.goto(`${base}/config/#/flags`); + await page.getByTestId('flag-row-NewCheckout').waitFor(); + record('phone: list fits', await fits()); + await page.getByTestId('flag-row-NewCheckout').click(); + await page.getByRole('heading', { name: 'NewCheckout', exact: true }).waitFor(); + record('phone: editor fits', await fits()); + record('phone: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} +{ + const { context, page, errors } = await open({ locale: 'pl-PL' }); + await page.goto(`${base}/config/#/flags`); + record('polish: list', await visible(page.getByRole('heading', { name: 'Flagi funkcji' })) && await visible(page.getByRole('button', { name: 'Nowa flaga' }))); + await page.getByTestId('flag-row-NewCheckout').click(); + record('polish: editor', await visible(page.getByText('Targetowanie')) && await visible(page.getByText('Sprawdź dla użytkownika'))); + record('polish: no errors', errors.length === 0, errors.join(' | ')); + await context.close(); +} + +await resetAll(); +await browser.close(); +const failed = results.filter((r) => !r.ok); +for (const r of results) console.log(`${r.ok ? 'ok ' : 'FAIL'} ${r.name}${r.detail ? ` — ${r.detail}` : ''}`); +console.log(`\n${which} ${base}: ${results.length - failed.length}/${results.length} ok`); +process.exit(failed.length ? 1 : 0); diff --git a/src/ConfigWay.UI/.nuget/README.md b/src/ConfigWay.UI/.nuget/README.md index df76d5c..140a371 100644 --- a/src/ConfigWay.UI/.nuget/README.md +++ b/src/ConfigWay.UI/.nuget/README.md @@ -53,6 +53,7 @@ The editor runs in [Kododo.Way.Shell](https://www.nuget.org/packages/Kododo.Way. - Field type-aware controls: text input for `string`, toggle switch for `bool`, numeric input for numeric types, dropdown for `enum` - Dark / light theme, persisted to `localStorage` - Language follows browser preference (English and Polish) +- Feature flags view with [Kododo.ConfigWay.FeatureManagement](https://www.nuget.org/packages/Kododo.ConfigWay.FeatureManagement): switches, percentage, time window and targeting forms, a check for a user ## Links diff --git a/src/ConfigWay.UI/SPA/package-lock.json b/src/ConfigWay.UI/SPA/package-lock.json index a309d15..7f99f2b 100644 --- a/src/ConfigWay.UI/SPA/package-lock.json +++ b/src/ConfigWay.UI/SPA/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", - "@kododo-dev/way-shell": "^2.0.0", + "@kododo-dev/way-shell": "^2.1.1", "@mui/icons-material": "^9.0.0", "@mui/material": "^9.0.0", "react": "^19.2.4", @@ -694,9 +694,9 @@ } }, "node_modules/@kododo-dev/way-shell": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@kododo-dev/way-shell/-/way-shell-2.0.0.tgz", - "integrity": "sha512-/D1ta3xMmHU04kVa0d3oBZXRUl+hgp+3BV5LIyYM1PfSbAJxcuPK774UPqor/FLiJx0zgZGq6kylThfq9w4ovg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@kododo-dev/way-shell/-/way-shell-2.1.1.tgz", + "integrity": "sha512-RR9L7t6Y3W8QYyOKe7QunxsEE16U1paGjPJJUhnTuV9NbGBq1qziYqgzZWMt162kvT+hvfV2NIM0vSA2LmbiLA==", "license": "MIT", "peerDependencies": { "@emotion/react": "^11.14.0", diff --git a/src/ConfigWay.UI/SPA/package.json b/src/ConfigWay.UI/SPA/package.json index cbd51d2..1fe27c0 100644 --- a/src/ConfigWay.UI/SPA/package.json +++ b/src/ConfigWay.UI/SPA/package.json @@ -12,7 +12,7 @@ "dependencies": { "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", - "@kododo-dev/way-shell": "^2.0.0", + "@kododo-dev/way-shell": "^2.1.1", "@mui/icons-material": "^9.0.0", "@mui/material": "^9.0.0", "react": "^19.2.4", diff --git a/src/ConfigWay.UI/SPA/src/App.tsx b/src/ConfigWay.UI/SPA/src/App.tsx index 87fc301..2163b3b 100644 --- a/src/ConfigWay.UI/SPA/src/App.tsx +++ b/src/ConfigWay.UI/SPA/src/App.tsx @@ -1,23 +1,39 @@ import { Route, Routes } from 'react-router-dom'; import { SectionsProvider } from './context/SectionsContext'; +import { FlagsProvider, useFlags } from './context/FlagsContext'; import SideMenu from './components/layout/SideMenu'; import ToWayRoot from './components/common/ToWayRoot'; import AllSettingsPage from './pages/AllSettingsPage'; import SectionPage from './pages/SectionPage'; +import FlagsPage from './pages/FlagsPage'; +import FlagPage from './pages/FlagPage'; // The editor inside Way.Shell: the shell provides the router, theme, language and layout; the sections go into the -// shell's side menu. +// shell's side menu. The flags views are there when the app added Kododo.ConfigWay.FeatureManagement. function App() { return ( - - - } /> - } /> - } /> - + + + + ); } +function AppRoutes() { + const { available, loading } = useFlags(); + return ( + + } /> + } /> + {available && } />} + {available && } />} + {available && } />} + {/* Until the server says whether there are flags, a link to them waits instead of going to the root. */} + } /> + + ); +} + export default App; diff --git a/src/ConfigWay.UI/SPA/src/api/flags.ts b/src/ConfigWay.UI/SPA/src/api/flags.ts new file mode 100644 index 0000000..29b6446 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/api/flags.ts @@ -0,0 +1,70 @@ +import type { WayApi } from '@kododo-dev/way-shell'; + +// The feature flags API of Kododo.ConfigWay.FeatureManagement, under the editor's API when the package is added. + +export type RequirementType = 'Any' | 'All'; + +export type FilterParameters = Record; + +export interface FeatureFilter { + name: string; + parameters: FilterParameters | null; +} + +export interface FeatureFlag { + id: string; + enabled: boolean; + requirementType: RequirementType; + filters: FeatureFilter[]; + description: string | null; +} + +export interface FeatureFlagItem { + id: string; + /** The flag in effect: the override when there is one, otherwise the configured flag. */ + flag: FeatureFlag; + /** The flag as the application's configuration defines it; null when only ConfigWay has it. */ + configured: FeatureFlag | null; + hasOverride: boolean; + isDotnetSchema: boolean; + hasVariants: boolean; + /** Why the stored override cannot be read. */ + error: string | null; +} + +export interface FeatureFlags { + isFeatureManagementRegistered: boolean; + /** Aliases of the filters the application registered. */ + filters: string[]; + flags: FeatureFlagItem[]; +} + +export interface FlagEvaluation { + enabled: boolean; + variant: string | null; +} + +export interface Capabilities { + extensions: string[]; +} + +export const fetchCapabilities = (api: WayApi): Promise => + api.post('GetCapabilities'); + +export const fetchFlags = (api: WayApi): Promise => + api.post('GetFeatureFlags'); + +/** Throws ApiError with field errors such as `flag.id` or `flag.filters[1].parameters`. */ +export const saveFlag = (api: WayApi, flag: FeatureFlag, isNew = false): Promise => + api.post('SaveFeatureFlag', { flag, isNew }); + +export const resetFlag = (api: WayApi, id: string): Promise => + api.post('ResetFeatureFlag', { id }); + +export const evaluateFlag = ( + api: WayApi, + id: string, + userId: string | null, + groups: string[], +): Promise => + api.post('EvaluateFeatureFlag', { id, userId, groups }); diff --git a/src/ConfigWay.UI/SPA/src/components/flags/ChipsInput.tsx b/src/ConfigWay.UI/SPA/src/components/flags/ChipsInput.tsx new file mode 100644 index 0000000..032866a --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/components/flags/ChipsInput.tsx @@ -0,0 +1,35 @@ +import Autocomplete from '@mui/material/Autocomplete'; +import Chip from '@mui/material/Chip'; +import TextField from '@mui/material/TextField'; +import { useI18n } from '../../i18n/I18nContext'; + +interface ChipsInputProps { + label: string; + values: string[]; + onChange: (values: string[]) => void; +} + +/** A list of names typed one by one, e.g. the users of a targeting filter. */ +const ChipsInput = ({ label, values, onChange }: ChipsInputProps) => { + const { t } = useI18n(); + return ( + onChange( + [...new Set(next.map(v => (typeof v === 'string' ? v : String(v)).trim()).filter(v => v !== ''))])} + renderValue={(items, getItemProps) => + items.map((item, index) => { + const { key, ...props } = getItemProps({ index }); + return ; + })} + renderInput={params => ( + + )} + /> + ); +}; + +export default ChipsInput; diff --git a/src/ConfigWay.UI/SPA/src/components/flags/FilterEditors.tsx b/src/ConfigWay.UI/SPA/src/components/flags/FilterEditors.tsx new file mode 100644 index 0000000..a485c44 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/components/flags/FilterEditors.tsx @@ -0,0 +1,268 @@ +import { useEffect, useState } from 'react'; +import Alert from '@mui/material/Alert'; +import Autocomplete from '@mui/material/Autocomplete'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import Chip from '@mui/material/Chip'; +import IconButton from '@mui/material/IconButton'; +import Slider from '@mui/material/Slider'; +import TextField from '@mui/material/TextField'; +import Tooltip from '@mui/material/Tooltip'; +import Typography from '@mui/material/Typography'; +import AddIcon from '@mui/icons-material/Add'; +import DeleteOutlinedIcon from '@mui/icons-material/DeleteOutlined'; +import type { FeatureFilter, FilterParameters } from '../../api/flags'; +import { useI18n } from '../../i18n/I18nContext'; +import { + asNumber, asText, filterKind, fromLocalInput, isRegisteredFilter, readAudience, toLocalInput, windowState, +} from '../../utils/flags'; +import type { Audience } from '../../utils/flags'; +import ChipsInput from './ChipsInput'; +import { MONO } from './Panel'; + +const HINT = { ...MONO, fontSize: '0.72rem', color: 'text.secondary' } as const; + +interface EditorProps { + filter: FeatureFilter; + onChange: (filter: FeatureFilter) => void; +} + +/** The form for the filter's parameters: one per built-in filter, JSON for the others. */ +export const FilterEditor = ({ filter, onChange, registered, onValidity }: EditorProps & { + registered: string[]; + onValidity: JsonValidity; +}) => { + switch (filterKind(filter.name)) { + case 'Percentage': return ; + case 'TimeWindow': return ; + case 'Targeting': return ; + case 'Custom': + return ; + } +}; + +// ── Percentage ───────────────────────────────────────────────────────────── + +const PercentageEditor = ({ filter, onChange }: EditorProps) => { + const { t } = useI18n(); + const value = asNumber(filter.parameters?.Value); + const set = (next: number | null) => onChange({ ...filter, parameters: { ...filter.parameters, Value: next } }); + + return ( + <> + + set(v as number)} + min={0} max={100} step={1} + sx={{ flex: 1 }} + aria-label={t.filterPercentage} + /> + + + {t.percentageHint} + + ); +}; + +/** A number from 0 to 100; empty while typed over. */ +const PercentInput = ({ value, onChange, label, width = 120 }: { + value: number | null; + onChange: (v: number | null) => void; + label: string; + width?: number; +}) => ( + onChange(e.target.value === '' ? null : asNumber(e.target.value))} + label={label} + size="small" + type="number" + slotProps={{ htmlInput: { min: 0, max: 100, step: 1 } }} + sx={{ width }} + /> +); + +// ── Time window ──────────────────────────────────────────────────────────── + +const TimeWindowEditor = ({ filter, onChange }: EditorProps) => { + const { t } = useI18n(); + const parameters = filter.parameters ?? {}; + const set = (name: 'Start' | 'End', value: string) => { + const next: FilterParameters = { ...parameters }; + const time = fromLocalInput(value); + if (time) next[name] = time; + else delete next[name]; + onChange({ ...filter, parameters: next }); + }; + + const state = windowState(parameters); + const zone = Intl.DateTimeFormat().resolvedOptions().timeZone; + const stateLabel = { active: t.windowActive, upcoming: t.windowUpcoming, ended: t.windowEnded, unknown: null }[state]; + + return ( + <> + + {(['Start', 'End'] as const).map(name => ( + set(name, e.target.value)} + slotProps={{ inputLabel: { shrink: true } }} + sx={{ minWidth: 220 }} + /> + ))} + {stateLabel && ( + + )} + + {t.windowTimeZone(zone)} + {parameters.Recurrence != null && {t.recurrenceKept}} + + ); +}; + +// ── Targeting ────────────────────────────────────────────────────────────── + +const TargetingEditor = ({ filter, onChange }: EditorProps) => { + const { t } = useI18n(); + const audience = readAudience(filter.parameters); + const set = (next: Partial) => + onChange({ ...filter, parameters: { ...filter.parameters, Audience: { ...audience, ...next } } }); + + const setGroup = (index: number, patch: Partial) => + set({ Groups: audience.Groups.map((g, i) => (i === index ? { ...g, ...patch } : g)) }); + + return ( + <> + {t.targetingHint} + set({ Users })} /> + + + {t.targetGroups} + {audience.Groups.map((group, index) => ( + + setGroup(index, { Name: e.target.value })} + sx={{ flex: 1 }} + /> + setGroup(index, { RolloutPercentage })} + /> + + set({ Groups: audience.Groups.filter((_, i) => i !== index) })}> + + + + + ))} + + + + + + set({ DefaultRolloutPercentage })} + /> + + + set({ Exclusion: { ...audience.Exclusion, Users } })} + /> + set({ Exclusion: { ...audience.Exclusion, Groups } })} + /> + + + ); +}; + +// ── Custom filter ────────────────────────────────────────────────────────── + +/** Reports whether the JSON typed so far is valid, so that the page can block the save. */ +export type JsonValidity = (valid: boolean) => void; + +const CustomFilterEditor = ({ filter, onChange, registered, onValidity }: EditorProps & { registered: string[]; onValidity?: JsonValidity }) => { + const { t } = useI18n(); + const [text, setText] = useState(() => JSON.stringify(filter.parameters ?? {}, null, 2)); + const [invalid, setInvalid] = useState(false); + + // A filter replaced from outside (discard, reload) brings its own parameters. + useEffect(() => { + setText(current => { + try { + if (JSON.stringify(JSON.parse(current)) === JSON.stringify(filter.parameters ?? {})) return current; + } catch { /* the text was not valid: replace it */ } + return JSON.stringify(filter.parameters ?? {}, null, 2); + }); + }, [filter.parameters]); + + const changeText = (next: string) => { + setText(next); + try { + const parsed = JSON.parse(next === '' ? '{}' : next); + if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) throw new Error(); + setInvalid(false); + onValidity?.(true); + onChange({ ...filter, parameters: parsed }); + } catch { + setInvalid(true); + onValidity?.(false); + } + }; + + const custom = registered.filter(r => filterKind(r) === 'Custom'); + const unregistered = registered.length > 0 && filter.name.trim() !== '' && !isRegisteredFilter(filter.name, registered); + + return ( + <> + onChange({ ...filter, name })} + renderInput={params => } + /> + {unregistered && {t.unregisteredFilter}} + changeText(e.target.value)} + error={invalid} + helperText={invalid ? t.invalidJson : undefined} + multiline + minRows={3} + size="small" + slotProps={{ htmlInput: { spellCheck: false, style: { ...MONO, fontSize: '0.78rem' } } }} + /> + + ); +}; diff --git a/src/ConfigWay.UI/SPA/src/components/flags/FlagCheck.tsx b/src/ConfigWay.UI/SPA/src/components/flags/FlagCheck.tsx new file mode 100644 index 0000000..7e3e997 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/components/flags/FlagCheck.tsx @@ -0,0 +1,101 @@ +import { useState } from 'react'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import Chip from '@mui/material/Chip'; +import CircularProgress from '@mui/material/CircularProgress'; +import TextField from '@mui/material/TextField'; +import Typography from '@mui/material/Typography'; +import { useShell } from '@kododo-dev/way-shell'; +import { ApiError } from '../../api/api'; +import { evaluateFlag } from '../../api/flags'; +import type { FlagEvaluation } from '../../api/flags'; +import { useI18n } from '../../i18n/I18nContext'; +import Panel, { MONO } from './Panel'; + +interface FlagCheckProps { + flagId: string; + /** The editor has unsaved changes, which the check does not see. */ + hasChanges: boolean; +} + +/** Asks the application's feature manager whether the saved flag is on for a user and groups. */ +const FlagCheck = ({ flagId, hasChanges }: FlagCheckProps) => { + const { api } = useShell(); + const { t } = useI18n(); + const [user, setUser] = useState(''); + const [groups, setGroups] = useState(''); + const [result, setResult] = useState(null); + const [error, setError] = useState(null); + const [running, setRunning] = useState(false); + + // A result is about the user and groups it was asked for; editing them clears it. + const edit = (set: (value: string) => void) => (value: string) => { + set(value); + setResult(null); + setError(null); + }; + + const run = async () => { + setRunning(true); + setResult(null); + setError(null); + try { + setResult(await evaluateFlag( + api, + flagId, + user.trim() || null, + groups.split(',').map(g => g.trim()).filter(g => g !== ''), + )); + } catch (e) { + setResult(null); + setError(e instanceof ApiError ? e.messages.join(' ') : e instanceof Error ? e.message : t.unexpectedError); + } finally { + setRunning(false); + } + }; + + return ( + + {t.checkSavedOnly} + { e.preventDefault(); run(); }} + sx={{ display: 'flex', gap: 1, flexWrap: 'wrap', alignItems: 'center' }} + > + edit(setUser)(e.target.value)} /> + edit(setGroups)(e.target.value)} + sx={{ flex: 1, minWidth: 200 }} + /> + + + {result && ( + + + {result.variant && } + + )} + {error && {error}} + + ); +}; + +export default FlagCheck; diff --git a/src/ConfigWay.UI/SPA/src/components/flags/Panel.tsx b/src/ConfigWay.UI/SPA/src/components/flags/Panel.tsx new file mode 100644 index 0000000..0005cdb --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/components/flags/Panel.tsx @@ -0,0 +1,49 @@ +import type { ReactNode } from 'react'; +import Box from '@mui/material/Box'; +import Typography from '@mui/material/Typography'; +import { useTheme } from '@mui/material/styles'; + +export const MONO = { fontFamily: "'IBM Plex Mono', monospace" }; + +interface PanelProps { + title: ReactNode; + /** Actions on the right of the title bar. */ + actions?: ReactNode; + children: ReactNode; + /** A red border, e.g. for a condition the API turned down. */ + invalid?: boolean; +} + +/** A card of the flag editor, in the look of the settings' section cards. */ +const Panel = ({ title, actions, children, invalid }: PanelProps) => { + const theme = useTheme(); + const isDark = theme.palette.mode === 'dark'; + const border = invalid ? theme.palette.error.main : isDark ? '#2e2e2e' : '#e0e0e0'; + + return ( + + + + {title} + + {actions} + + + {children} + + + ); +}; + +export default Panel; diff --git a/src/ConfigWay.UI/SPA/src/components/flags/flagSummary.ts b/src/ConfigWay.UI/SPA/src/components/flags/flagSummary.ts new file mode 100644 index 0000000..a9b1ad0 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/components/flags/flagSummary.ts @@ -0,0 +1,41 @@ +import type { FeatureFilter, FeatureFlag } from '../../api/flags'; +import type { TranslationKeys } from '../../i18n/translations'; +import { asNumber, asText, filterKind, formatTime, readAudience } from '../../utils/flags'; + +/** A short description of when the flag is on, for the list of flags. */ +export function flagSummary(flag: FeatureFlag, t: TranslationKeys, lang: string): string { + if (!flag.enabled) return t.flagOff; + if (flag.filters.length === 0) return t.summaryEveryone; + return flag.filters + .map(f => filterSummary(f, t, lang)) + .join(flag.requirementType === 'All' ? t.summaryAnd : t.summaryOr); +} + +function filterSummary(filter: FeatureFilter, t: TranslationKeys, lang: string): string { + const parameters = filter.parameters; + switch (filterKind(filter.name)) { + case 'Percentage': + return t.summaryPercentage(asNumber(parameters?.Value) ?? '?'); + case 'TimeWindow': { + const start = asText(parameters?.Start); + const end = asText(parameters?.End); + const parts = [ + start ? t.summaryFrom(formatTime(start, lang)) : null, + end ? t.summaryUntil(formatTime(end, lang)) : null, + parameters?.Recurrence ? `(${t.summaryRepeats})` : null, + ].filter(Boolean); + return parts.join(' '); + } + case 'Targeting': { + const audience = readAudience(parameters); + const parts = [ + audience.Users.length > 0 ? t.summaryUsers(audience.Users.length) : null, + audience.Groups.length > 0 ? t.summaryGroups(audience.Groups.length) : null, + audience.DefaultRolloutPercentage ? t.summaryDefaultRollout(audience.DefaultRolloutPercentage) : null, + ].filter(Boolean); + return parts.length > 0 ? parts.join(' · ') : t.summaryNobody; + } + case 'Custom': + return filter.name; + } +} diff --git a/src/ConfigWay.UI/SPA/src/components/layout/PageHeader.tsx b/src/ConfigWay.UI/SPA/src/components/layout/PageHeader.tsx index f9cdc9e..b194d0a 100644 --- a/src/ConfigWay.UI/SPA/src/components/layout/PageHeader.tsx +++ b/src/ConfigWay.UI/SPA/src/components/layout/PageHeader.tsx @@ -9,6 +9,7 @@ import RefreshIcon from '@mui/icons-material/Refresh'; import SaveIcon from '@mui/icons-material/Save'; import SearchIcon from '@mui/icons-material/Search'; import CloseIcon from '@mui/icons-material/Close'; +import type { ReactNode } from 'react'; import type { SxProps } from '@mui/material'; import { useTheme } from '@mui/material/styles'; import { PageHeader as ShellPageHeader } from '@kododo-dev/way-shell'; @@ -24,6 +25,9 @@ interface PageHeaderProps { errors?: string[]; searchQuery?: string; onSearchChange?: (q: string) => void; + searchPlaceholder?: string; + /** More actions, before the refresh button. */ + actions?: ReactNode; sx?: SxProps; } @@ -33,7 +37,8 @@ const PageHeader = ({ title, onRefresh, hasChanges, saving, onSave, onDiscard, errors, - searchQuery, onSearchChange, + searchQuery, onSearchChange, searchPlaceholder, + actions, sx, }: PageHeaderProps) => { const theme = useTheme(); @@ -73,7 +78,7 @@ const PageHeader = ({ onSearchChange!(e.target.value)} - placeholder={t.searchPlaceholder} + placeholder={searchPlaceholder ?? t.searchPlaceholder} fullWidth sx={{ ...MONO, @@ -146,6 +151,8 @@ const PageHeader = ({ )} + {actions} + {onRefresh && ( { const { navigate, wayId } = useShell(); const { sections } = useSections(); + const { available: flagsAvailable } = useFlags(); const { t } = useI18n(); const theme = useTheme(); const isDark = theme.palette.mode === 'dark'; const path = useParams()['*'] ?? ''; const isAll = path === '' || path === 'all'; + const isFlags = path === 'flags' || path.startsWith('flags/') || path.startsWith('flag/'); const activeSectionKey = path.startsWith('section/') ? decodeURIComponent(path.slice('section/'.length)) : null; @@ -48,6 +52,14 @@ const SideMenu = () => { + {flagsAvailable && ( + + navigate(wayId, 'flags')}> + + + + + )} navigate(wayId, '')}> diff --git a/src/ConfigWay.UI/SPA/src/context/FlagsContext.tsx b/src/ConfigWay.UI/SPA/src/context/FlagsContext.tsx new file mode 100644 index 0000000..6608135 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/context/FlagsContext.tsx @@ -0,0 +1,64 @@ +import React, { createContext, useCallback, useContext, useEffect, useState } from 'react'; +import { useShell } from '@kododo-dev/way-shell'; +import { fetchCapabilities, fetchFlags } from '../api/flags'; +import type { FeatureFlags } from '../api/flags'; + +interface FlagsContextValue { + /** Whether the application added the feature flags package (Kododo.ConfigWay.FeatureManagement). */ + available: boolean; + data: FeatureFlags | null; + loading: boolean; + error: string | null; + reload: () => Promise; +} + +const FlagsContext = createContext({ + available: false, + data: null, + loading: false, + error: null, + reload: async () => {}, +}); + +// The flags are loaded only when the server reports the extension, so the editor works the same without it. +export const FlagsProvider = ({ children }: { children: React.ReactNode }) => { + const { api } = useShell(); + const [available, setAvailable] = useState(false); + const [data, setData] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + const load = useCallback(async () => { + try { + setLoading(true); + setError(null); + setData(await fetchFlags(api)); + } catch (e) { + setError(e instanceof Error ? e.message : 'Failed to load'); + } finally { + setLoading(false); + } + }, [api]); + + useEffect(() => { + let cancelled = false; + fetchCapabilities(api) + .then(c => { + if (cancelled) return; + const has = c.extensions.includes('flags'); + setAvailable(has); + if (has) load(); + else setLoading(false); + }) + .catch(() => { if (!cancelled) setLoading(false); }); + return () => { cancelled = true; }; + }, [api, load]); + + return ( + + {children} + + ); +}; + +export const useFlags = () => useContext(FlagsContext); diff --git a/src/ConfigWay.UI/SPA/src/i18n/translations.ts b/src/ConfigWay.UI/SPA/src/i18n/translations.ts index 8141377..08a95a1 100644 --- a/src/ConfigWay.UI/SPA/src/i18n/translations.ts +++ b/src/ConfigWay.UI/SPA/src/i18n/translations.ts @@ -25,6 +25,99 @@ export const translations = { resetSection: 'Reset section to defaults', resetArray: 'Reset array to defaults', resetItem: 'Reset item to defaults', + + // Feature flags (Kododo.ConfigWay.FeatureManagement) + featureFlags: 'Feature flags', + newFlag: 'New flag', + flagsSearchPlaceholder: 'Search flags…', + noFlags: 'No feature flags yet. Add one here, or define them in the feature_management section of appsettings.', + featureManagementMissing: 'Feature management is not registered in the application: the flags are stored, but nothing checks them. Call builder.Services.AddFeatureManagement().', + flagOn: 'on', + flagOff: 'off', + summaryEveryone: 'on for everyone', + summaryPercentage: (value: number | string) => `${value}% of checks`, + summaryFrom: (time: string) => `from ${time}`, + summaryUntil: (time: string) => `until ${time}`, + summaryUsers: (n: number) => n === 1 ? '1 user' : `${n} users`, + summaryGroups: (n: number) => n === 1 ? '1 group' : `${n} groups`, + summaryDefaultRollout: (value: number) => `${value}% of others`, + summaryNobody: 'nobody', + summaryRepeats: 'repeats', + summaryAnd: ' and ', + summaryOr: ' or ', + badgeOverride: 'overridden', + badgeConfigWayOnly: 'ConfigWay only', + badgeDotnetSchema: '.NET schema', + badgeVariants: 'variants', + badgeError: 'unreadable', + flagTurnedOn: (id: string) => `${id} is on`, + flagTurnedOff: (id: string) => `${id} is off`, + undo: 'Undo', + + flagSection: 'Flag', + flagId: 'Id', + flagIdHint: 'The name the application checks, e.g. IsEnabledAsync("Beta").', + flagDescription: 'Description', + flagEnabled: 'Enabled', + sourceConfigured: 'Defined in the application\'s configuration.', + sourceOverride: 'Overrides the flag defined in the application\'s configuration.', + sourceConfigWayOnly: 'Defined only in ConfigWay.', + resetToConfigured: 'Reset to configuration', + deleteFlag: 'Delete flag', + confirmResetTitle: 'Reset the flag?', + confirmResetText: (id: string) => `${id} goes back to how the application's configuration defines it.`, + confirmDeleteTitle: 'Delete the flag?', + confirmDeleteText: (id: string) => `${id} is removed. The application treats a flag it does not know as off.`, + cancel: 'Cancel', + variantsKept: 'This flag has variants. They are kept when you save, but cannot be edited here yet.', + dotnetSchemaNote: 'The configuration defines this flag in the older .NET schema (FeatureManagement section). Saving stores an override in the Microsoft schema; variants of the .NET schema are not carried over.', + overrideError: (error: string) => `The stored override cannot be read (${error}). Reset it to use the configured flag again.`, + + conditions: 'Conditions', + requirementAny: 'any', + requirementAll: 'all', + requirementLabel: 'On when the flag passes', + requirementSuffix: 'of the conditions', + noConditions: 'No conditions: when enabled, the flag is on for everyone.', + disabledHint: 'The flag is disabled, so it is off whatever the conditions say.', + addCondition: 'Add condition', + removeCondition: 'Remove condition', + filterPercentage: 'Percentage', + filterTimeWindow: 'Time window', + filterTargeting: 'Targeting', + filterCustom: 'Custom filter', + percentageHint: 'Each check is on with this probability, independently of the user. For a stable rollout per user, use targeting.', + windowStart: 'Start', + windowEnd: 'End', + windowActive: 'active now', + windowUpcoming: 'not started yet', + windowEnded: 'ended', + windowTimeZone: (zone: string) => `Times in your time zone (${zone}), stored in UTC. Leave one empty for an open window.`, + recurrenceKept: 'This window repeats. The repetition is kept, but cannot be edited here yet.', + targetUsers: 'Users', + targetGroups: 'Groups', + groupName: 'Group', + groupRollout: '% of the group', + addGroup: 'Add group', + removeGroup: 'Remove group', + defaultRollout: '% of everyone else', + excludedUsers: 'Excluded users', + excludedGroups: 'Excluded groups', + chipsHint: 'Type and press Enter', + targetingHint: 'On for the listed users, for the given share of each group and of everyone else; never for the excluded ones.', + filterName: 'Filter name', + filterParameters: 'Parameters (JSON)', + invalidJson: 'Not a valid JSON object.', + unregisteredFilter: 'The application has not registered a filter with this name. Saving is refused, because checking the flag would fail.', + + checkTitle: 'Check for a user', + checkUser: 'User', + checkGroups: 'Groups (comma-separated)', + checkRun: 'Check', + checkOn: 'On for this user', + checkOff: 'Off for this user', + checkVariant: (variant: string) => `variant ${variant}`, + checkSavedOnly: 'Checks the saved flag, with the application\'s feature manager. Save your changes first.', }, pl: { appTitle: 'Konfiguracja', @@ -50,6 +143,99 @@ export const translations = { resetSection: 'Przywróć sekcję do wartości domyślnych', resetArray: 'Przywróć tablicę do wartości domyślnych', resetItem: 'Przywróć element do wartości domyślnych', + + // Feature flags (Kododo.ConfigWay.FeatureManagement) + featureFlags: 'Flagi funkcji', + newFlag: 'Nowa flaga', + flagsSearchPlaceholder: 'Szukaj flag…', + noFlags: 'Nie ma jeszcze flag. Dodaj flagę tutaj albo zdefiniuj je w sekcji feature_management w appsettings.', + featureManagementMissing: 'Aplikacja nie rejestruje feature management: flagi są zapisywane, ale nic ich nie sprawdza. Wywołaj builder.Services.AddFeatureManagement().', + flagOn: 'włączona', + flagOff: 'wyłączona', + summaryEveryone: 'włączona dla wszystkich', + summaryPercentage: (value: number | string) => `${value}% sprawdzeń`, + summaryFrom: (time: string) => `od ${time}`, + summaryUntil: (time: string) => `do ${time}`, + summaryUsers: (n: number) => n === 1 ? '1 użytkownik' : `${n} użytkowników`, + summaryGroups: (n: number) => n === 1 ? '1 grupa' : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? `${n} grupy` : `${n} grup`, + summaryDefaultRollout: (value: number) => `${value}% pozostałych`, + summaryNobody: 'nikt', + summaryRepeats: 'powtarza się', + summaryAnd: ' i ', + summaryOr: ' lub ', + badgeOverride: 'nadpisana', + badgeConfigWayOnly: 'tylko ConfigWay', + badgeDotnetSchema: 'schemat .NET', + badgeVariants: 'warianty', + badgeError: 'nieczytelna', + flagTurnedOn: (id: string) => `${id} włączona`, + flagTurnedOff: (id: string) => `${id} wyłączona`, + undo: 'Cofnij', + + flagSection: 'Flaga', + flagId: 'Id', + flagIdHint: 'Nazwa, którą sprawdza aplikacja, np. IsEnabledAsync("Beta").', + flagDescription: 'Opis', + flagEnabled: 'Włączona', + sourceConfigured: 'Zdefiniowana w konfiguracji aplikacji.', + sourceOverride: 'Nadpisuje flagę zdefiniowaną w konfiguracji aplikacji.', + sourceConfigWayOnly: 'Zdefiniowana tylko w ConfigWay.', + resetToConfigured: 'Przywróć z konfiguracji', + deleteFlag: 'Usuń flagę', + confirmResetTitle: 'Przywrócić flagę?', + confirmResetText: (id: string) => `${id} wraca do definicji z konfiguracji aplikacji.`, + confirmDeleteTitle: 'Usunąć flagę?', + confirmDeleteText: (id: string) => `${id} zostanie usunięta. Aplikacja traktuje nieznaną flagę jako wyłączoną.`, + cancel: 'Anuluj', + variantsKept: 'Ta flaga ma warianty. Zapis je zachowuje, ale nie można ich jeszcze tu edytować.', + dotnetSchemaNote: 'Konfiguracja definiuje tę flagę w starszym schemacie .NET (sekcja FeatureManagement). Zapis tworzy nadpisanie w schemacie Microsoft; warianty ze schematu .NET nie są przenoszone.', + overrideError: (error: string) => `Nie można odczytać zapisanego nadpisania (${error}). Przywróć flagę, żeby znów używać definicji z konfiguracji.`, + + conditions: 'Warunki', + requirementAny: 'dowolny', + requirementAll: 'wszystkie', + requirementLabel: 'Włączona, gdy spełnia', + requirementSuffix: 'z warunków', + noConditions: 'Brak warunków: gdy flaga jest włączona, działa dla wszystkich.', + disabledHint: 'Flaga jest wyłączona, więc warunki nie mają znaczenia.', + addCondition: 'Dodaj warunek', + removeCondition: 'Usuń warunek', + filterPercentage: 'Procent', + filterTimeWindow: 'Okno czasowe', + filterTargeting: 'Targetowanie', + filterCustom: 'Własny filtr', + percentageHint: 'Każde sprawdzenie jest włączone z tym prawdopodobieństwem, niezależnie od użytkownika. Do stabilnego wdrażania per użytkownik użyj targetowania.', + windowStart: 'Początek', + windowEnd: 'Koniec', + windowActive: 'aktywne teraz', + windowUpcoming: 'jeszcze się nie zaczęło', + windowEnded: 'zakończone', + windowTimeZone: (zone: string) => `Czas w Twojej strefie (${zone}), zapisywany w UTC. Zostaw jedno pole puste, żeby okno było otwarte.`, + recurrenceKept: 'To okno się powtarza. Powtarzanie zostaje zachowane, ale nie można go jeszcze tu edytować.', + targetUsers: 'Użytkownicy', + targetGroups: 'Grupy', + groupName: 'Grupa', + groupRollout: '% grupy', + addGroup: 'Dodaj grupę', + removeGroup: 'Usuń grupę', + defaultRollout: '% pozostałych', + excludedUsers: 'Wykluczeni użytkownicy', + excludedGroups: 'Wykluczone grupy', + chipsHint: 'Wpisz i naciśnij Enter', + targetingHint: 'Włączona dla wymienionych użytkowników, dla podanej części każdej grupy i pozostałych; nigdy dla wykluczonych.', + filterName: 'Nazwa filtru', + filterParameters: 'Parametry (JSON)', + invalidJson: 'To nie jest poprawny obiekt JSON.', + unregisteredFilter: 'Aplikacja nie rejestruje filtru o tej nazwie. Zapis zostanie odrzucony, bo sprawdzanie flagi kończyłoby się błędem.', + + checkTitle: 'Sprawdź dla użytkownika', + checkUser: 'Użytkownik', + checkGroups: 'Grupy (po przecinku)', + checkRun: 'Sprawdź', + checkOn: 'Włączona dla tego użytkownika', + checkOff: 'Wyłączona dla tego użytkownika', + checkVariant: (variant: string) => `wariant ${variant}`, + checkSavedOnly: 'Sprawdza zapisaną flagę feature managerem aplikacji. Najpierw zapisz zmiany.', }, } as const; diff --git a/src/ConfigWay.UI/SPA/src/pages/FlagPage.tsx b/src/ConfigWay.UI/SPA/src/pages/FlagPage.tsx new file mode 100644 index 0000000..34c7f40 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/pages/FlagPage.tsx @@ -0,0 +1,341 @@ +import { useCallback, useEffect, useMemo, useState } from 'react'; +import { useParams } from 'react-router-dom'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import CircularProgress from '@mui/material/CircularProgress'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import FormControlLabel from '@mui/material/FormControlLabel'; +import IconButton from '@mui/material/IconButton'; +import Menu from '@mui/material/Menu'; +import MenuItem from '@mui/material/MenuItem'; +import Switch from '@mui/material/Switch'; +import TextField from '@mui/material/TextField'; +import ToggleButton from '@mui/material/ToggleButton'; +import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; +import Tooltip from '@mui/material/Tooltip'; +import Typography from '@mui/material/Typography'; +import AddIcon from '@mui/icons-material/Add'; +import DeleteOutlinedIcon from '@mui/icons-material/DeleteOutlined'; +import RestoreIcon from '@mui/icons-material/Restore'; +import { useShell } from '@kododo-dev/way-shell'; +import { ApiError } from '../api/api'; +import { resetFlag, saveFlag } from '../api/flags'; +import type { FeatureFilter, FeatureFlag } from '../api/flags'; +import PageHeader from '../components/layout/PageHeader'; +import Panel, { MONO } from '../components/flags/Panel'; +import { FilterEditor } from '../components/flags/FilterEditors'; +import FlagCheck from '../components/flags/FlagCheck'; +import { useFlags } from '../context/FlagsContext'; +import { useI18n } from '../i18n/I18nContext'; +import { filterErrors, filterKind, newFilter, newFlag, otherErrors, stableJson } from '../utils/flags'; +import type { FilterKind } from '../utils/flags'; + +const HINT = { ...MONO, fontSize: '0.72rem', color: 'text.secondary' } as const; + +/** What a save compares and sends: an empty description is none. */ +const normalize = (flag: FeatureFlag): FeatureFlag => ({ + ...flag, + description: flag.description?.trim() ? flag.description.trim() : null, +}); + +/** The editor of one flag (`flag/:flagId`) or of a new one (`flags/new`). */ +const FlagPage = ({ isNew = false }: { isNew?: boolean }) => { + const { flagId } = useParams<{ flagId: string }>(); + const { data, loading, reload } = useFlags(); + const { api, navigate, wayId } = useShell(); + const { t } = useI18n(); + + const id = decodeURIComponent(flagId ?? ''); + const item = isNew ? null : data?.flags.find(f => f.id.toLowerCase() === id.toLowerCase()) ?? null; + const original = useMemo(() => (item ? item.flag : newFlag()), [item]); + + const [draft, setDraft] = useState(original); + const [invalidJson, setInvalidJson] = useState([]); + const [errors, setErrors] = useState>({}); + const [messages, setMessages] = useState([]); + const [saving, setSaving] = useState(false); + const [confirm, setConfirm] = useState(false); + const [addMenu, setAddMenu] = useState(null); + + useEffect(() => { + setDraft(original); + setInvalidJson([]); + setErrors({}); + setMessages([]); + }, [original]); + + // A flag that no longer exists, e.g. deleted elsewhere: back to the list. + useEffect(() => { + if (!isNew && !loading && data && !item) navigate(wayId, 'flags', { replace: true }); + }, [isNew, loading, data, item, navigate, wayId]); + + const hasChanges = stableJson(normalize(draft)) !== stableJson(normalize(original)); + const canSave = (isNew || hasChanges) && !invalidJson.some(Boolean); + + // The API's errors are about the values sent; an edit clears them until the next save. + const change = useCallback((patch: Partial) => { + setDraft(prev => ({ ...prev, ...patch })); + setErrors({}); + setMessages([]); + }, []); + + const setFilter = (index: number, filter: FeatureFilter) => + change({ filters: draft.filters.map((f, i) => (i === index ? filter : f)) }); + + const addFilter = (kind: FilterKind) => { + setAddMenu(null); + change({ filters: [...draft.filters, newFilter(kind)] }); + }; + + const removeFilter = (index: number) => { + change({ filters: draft.filters.filter((_, i) => i !== index) }); + setInvalidJson(prev => prev.filter((_, i) => i !== index)); + }; + + const fail = (e: unknown) => { + if (e instanceof ApiError && Object.keys(e.errors).length > 0) { + setErrors(e.errors); + setMessages(otherErrors(e.errors).filter(m => !(e.errors['flag.id'] ?? []).includes(m))); + } else { + setErrors({}); + setMessages([e instanceof ApiError ? e.messages.join(' ') : e instanceof Error ? e.message : t.unexpectedError]); + } + }; + + const save = async () => { + if (!canSave) return; + setSaving(true); + setErrors({}); + setMessages([]); + try { + const flag = normalize(draft); + await saveFlag(api, flag, isNew); + await reload(); + if (isNew) navigate(wayId, `flag/${encodeURIComponent(flag.id)}`, { replace: true }); + } catch (e) { + fail(e); + } finally { + setSaving(false); + } + }; + + const discard = () => { + setDraft(original); + setInvalidJson([]); + setErrors({}); + setMessages([]); + }; + + const reset = async () => { + if (!item) return; + setConfirm(false); + setSaving(true); + try { + await resetFlag(api, item.id); + await reload(); + if (!item.configured) navigate(wayId, 'flags', { replace: true }); + } catch (e) { + fail(e); + } finally { + setSaving(false); + } + }; + + if (!isNew && (loading || !item)) return ( + + + + ); + + const kindLabel = (kind: FilterKind) => ({ + Percentage: t.filterPercentage, + TimeWindow: t.filterTimeWindow, + Targeting: t.filterTargeting, + Custom: t.filterCustom, + })[kind]; + + const source = !item ? null + : !item.configured ? t.sourceConfigWayOnly + : item.hasOverride ? t.sourceOverride + : t.sourceConfigured; + + return ( + + + + + + {item?.error && {t.overrideError(item.error)}} + {item?.hasVariants && {t.variantsKept}} + {item?.isDotnetSchema && {t.dotnetSchemaNote}} + + : } + color={item.configured ? 'primary' : 'error'} + onClick={() => setConfirm(true)} + disabled={saving} + sx={{ ...MONO, fontSize: '0.72rem', textTransform: 'none' }} + > + {item.configured ? t.resetToConfigured : t.deleteFlag} + + )} + > + change({ id: e.target.value })} + disabled={!isNew} + error={!!errors['flag.id']} + helperText={errors['flag.id']?.join(' ') ?? t.flagIdHint} + autoFocus={isNew} + slotProps={{ htmlInput: { spellCheck: false, 'data-testid': 'flag-id' } }} + /> + change({ description: e.target.value })} + multiline + /> + change({ enabled: e.target.checked })} />} + label={{t.flagEnabled}} + /> + {source && {source}} + + + + + setAddMenu(null)}> + {(['Percentage', 'TimeWindow', 'Targeting', 'Custom'] as const).map(kind => ( + addFilter(kind)} sx={{ ...MONO, fontSize: '0.8rem' }}> + {kindLabel(kind)} + + ))} + + + )} + > + {!draft.enabled && {t.disabledHint}} + {draft.filters.length === 0 && {t.noConditions}} + + {draft.filters.length > 1 && ( + + {t.requirementLabel} + value && change({ requirementType: value })} + > + + {t.requirementAny} + + + {t.requirementAll} + + + {t.requirementSuffix} + + )} + + {draft.filters.map((filter, index) => { + const kind = filterKind(filter.name); + const messagesOfFilter = filterErrors(errors, index); + return ( + 0} + title={( + <> + {kindLabel(kind)} + {kind !== 'Custom' && ( + {filter.name} + )} + + )} + actions={( + + removeFilter(index)}> + + + + )} + > + {messagesOfFilter.length > 0 && ( + {messagesOfFilter.join(' ')} + )} + setFilter(index, next)} + registered={data?.filters ?? []} + onValidity={valid => setInvalidJson(prev => { + const next = [...prev]; + next[index] = !valid; + return next; + })} + /> + + ); + })} + + + {!isNew && item && } + + + + setConfirm(false)}> + + {item?.configured ? t.confirmResetTitle : t.confirmDeleteTitle} + + + + {item && (item.configured ? t.confirmResetText(item.id) : t.confirmDeleteText(item.id))} + + + + + + + + + ); +}; + +export default FlagPage; diff --git a/src/ConfigWay.UI/SPA/src/pages/FlagsPage.tsx b/src/ConfigWay.UI/SPA/src/pages/FlagsPage.tsx new file mode 100644 index 0000000..87792d8 --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/pages/FlagsPage.tsx @@ -0,0 +1,215 @@ +import { useState } from 'react'; +import Alert from '@mui/material/Alert'; +import Box from '@mui/material/Box'; +import Button from '@mui/material/Button'; +import Chip from '@mui/material/Chip'; +import CircularProgress from '@mui/material/CircularProgress'; +import Snackbar from '@mui/material/Snackbar'; +import Switch from '@mui/material/Switch'; +import Tooltip from '@mui/material/Tooltip'; +import Typography from '@mui/material/Typography'; +import AddIcon from '@mui/icons-material/Add'; +import ErrorOutlinedIcon from '@mui/icons-material/ErrorOutlined'; +import { useTheme } from '@mui/material/styles'; +import { useShell } from '@kododo-dev/way-shell'; +import { ApiError } from '../api/api'; +import { resetFlag, saveFlag } from '../api/flags'; +import type { FeatureFlag, FeatureFlagItem } from '../api/flags'; +import PageHeader from '../components/layout/PageHeader'; +import Highlight from '../components/common/Highlight'; +import { MONO } from '../components/flags/Panel'; +import { flagSummary } from '../components/flags/flagSummary'; +import { useFlags } from '../context/FlagsContext'; +import { useI18n } from '../i18n/I18nContext'; + +interface Toggled { + previous: FeatureFlag; + /** Without an override before the switch, undo removes the override instead of saving one. */ + hadOverride: boolean; + message: string; +} + +/** The list of feature flags, with a switch to turn each on or off at once. */ +const FlagsPage = () => { + const { data, loading, error, reload } = useFlags(); + const { api, navigate, wayId } = useShell(); + const { t, lang } = useI18n(); + const theme = useTheme(); + const isDark = theme.palette.mode === 'dark'; + + const [search, setSearch] = useState(''); + const [pending, setPending] = useState(null); + const [toggled, setToggled] = useState(null); + const [toggleError, setToggleError] = useState(null); + + const run = async (id: string, action: () => Promise) => { + setPending(id); + setToggleError(null); + try { + await action(); + await reload(); + return true; + } catch (e) { + setToggleError(e instanceof ApiError ? e.messages.join(' ') : e instanceof Error ? e.message : t.unexpectedError); + return false; + } finally { + setPending(null); + } + }; + + const toggle = async (item: FeatureFlagItem) => { + const next = { ...item.flag, enabled: !item.flag.enabled }; + if (await run(item.id, () => saveFlag(api, next))) + setToggled({ + previous: item.flag, + hadOverride: item.hasOverride, + message: next.enabled ? t.flagTurnedOn(item.id) : t.flagTurnedOff(item.id), + }); + }; + + const undo = async () => { + if (!toggled) return; + const { previous, hadOverride } = toggled; + setToggled(null); + await run(previous.id, () => (hadOverride ? saveFlag(api, previous) : resetFlag(api, previous.id))); + }; + + const q = search.trim().toLowerCase(); + const items = (data?.flags ?? []).filter(i => + !q || i.id.toLowerCase().includes(q) || (i.flag.description ?? '').toLowerCase().includes(q)); + + const open = (id: string) => navigate(wayId, `flag/${encodeURIComponent(id)}`); + const rowBorder = isDark ? '#2e2e2e' : '#e0e0e0'; + + return ( + + } + onClick={() => navigate(wayId, 'flags/new')} + sx={{ ...MONO, fontSize: '0.72rem', textTransform: 'none', flexShrink: 0 }} + > + {t.newFlag} + + )} + errors={[error, toggleError].filter((e): e is string => !!e)} + /> + + + {data && !data.isFeatureManagementRegistered && ( + {t.featureManagementMissing} + )} + + {loading && !data && ( + + + + )} + + {data && data.flags.length === 0 && ( + {t.noFlags} + )} + + {data && data.flags.length > 0 && items.length === 0 && ( + + {t.noResults} "{search}" + + )} + + {items.length > 0 && ( + + {items.map((item, index) => ( + open(item.id)} + sx={{ + display: 'flex', alignItems: 'center', gap: 1.5, + px: 2, py: 1.25, + borderTop: index === 0 ? 'none' : `1px solid ${rowBorder}`, + cursor: 'pointer', + '&:hover': { background: isDark ? '#2a2a2a' : '#fafafa' }, + }} + > + e.stopPropagation()} sx={{ flexShrink: 0 }}> + + + toggle(item)} + slotProps={{ input: { 'aria-label': item.id } }} + /> + + + + + + + + + + {item.hasOverride && item.configured && } + {!item.configured && } + {item.isDotnetSchema && } + {item.hasVariants && } + {item.error && ( + + + + )} + + + {flagSummary(item.flag, t, lang)} + {item.flag.description && ` · ${item.flag.description}`} + + + + ))} + + )} + + + { if (reason !== 'clickaway') setToggled(null); }} + message={toggled?.message} + action={( + + )} + /> + + ); +}; + +const Badge = ({ label, color }: { label: string; color?: 'primary' | 'secondary' }) => ( + +); + +export default FlagsPage; diff --git a/src/ConfigWay.UI/SPA/src/utils/flags.ts b/src/ConfigWay.UI/SPA/src/utils/flags.ts new file mode 100644 index 0000000..3cb37dd --- /dev/null +++ b/src/ConfigWay.UI/SPA/src/utils/flags.ts @@ -0,0 +1,151 @@ +import type { FeatureFilter, FeatureFlag, FilterParameters } from '../api/flags'; + +/** The built-in filters the editor has forms for; others are edited as JSON. */ +export type FilterKind = 'Percentage' | 'TimeWindow' | 'Targeting' | 'Custom'; + +export const FILTER_ALIASES: Record, string> = { + Percentage: 'Microsoft.Percentage', + TimeWindow: 'Microsoft.TimeWindow', + Targeting: 'Microsoft.Targeting', +}; + +/** The built-in filter a name refers to, by its full alias or its last segment, as feature management accepts them. */ +export function filterKind(name: string): FilterKind { + const lower = name.trim().toLowerCase(); + for (const [kind, alias] of Object.entries(FILTER_ALIASES)) { + const a = alias.toLowerCase(); + if (lower === a || lower === a.slice(a.lastIndexOf('.') + 1)) return kind as FilterKind; + } + return 'Custom'; +} + +/** Whether the application registered a filter with this name (full alias or last segment). */ +export function isRegisteredFilter(name: string, registered: string[]): boolean { + const lower = name.trim().toLowerCase(); + return registered.some(r => { + const a = r.toLowerCase(); + return lower === a || lower === a.slice(a.lastIndexOf('.') + 1); + }); +} + +export function newFilter(kind: FilterKind): FeatureFilter { + switch (kind) { + case 'Percentage': return { name: FILTER_ALIASES.Percentage, parameters: { Value: 50 } }; + case 'TimeWindow': return { name: FILTER_ALIASES.TimeWindow, parameters: { Start: new Date().toISOString() } }; + case 'Targeting': return { + name: FILTER_ALIASES.Targeting, + parameters: { Audience: { Users: [], Groups: [], DefaultRolloutPercentage: 0, Exclusion: { Users: [], Groups: [] } } }, + }; + case 'Custom': return { name: '', parameters: {} }; + } +} + +export function newFlag(): FeatureFlag { + return { id: '', enabled: true, requirementType: 'Any', filters: [], description: null }; +} + +// ── Parameters ───────────────────────────────────────────────────────────── + +export function asNumber(value: unknown): number | null { + if (typeof value === 'number') return value; + if (typeof value === 'string' && value.trim() !== '' && !isNaN(Number(value))) return Number(value); + return null; +} + +export function asText(value: unknown): string | null { + return typeof value === 'string' ? value : typeof value === 'number' ? String(value) : null; +} + +export function asTexts(value: unknown): string[] { + return Array.isArray(value) ? value.map(v => asText(v) ?? '').filter(v => v !== '') : []; +} + +export interface GroupRollout { Name: string; RolloutPercentage: number | null } + +export interface Audience { + Users: string[]; + Groups: GroupRollout[]; + DefaultRolloutPercentage: number | null; + Exclusion: { Users: string[]; Groups: string[] }; +} + +export function readAudience(parameters: FilterParameters | null): Audience { + const audience = (parameters?.Audience ?? {}) as Record; + const exclusion = (audience.Exclusion ?? {}) as Record; + return { + Users: asTexts(audience.Users), + Groups: Array.isArray(audience.Groups) + ? audience.Groups.map(g => { + const group = (g ?? {}) as Record; + return { Name: asText(group.Name) ?? '', RolloutPercentage: asNumber(group.RolloutPercentage) }; + }) + : [], + DefaultRolloutPercentage: asNumber(audience.DefaultRolloutPercentage), + Exclusion: { Users: asTexts(exclusion.Users), Groups: asTexts(exclusion.Groups) }, + }; +} + +// ── Time ─────────────────────────────────────────────────────────────────── + +/** A stored time (RFC 1123 or ISO 8601) as the value of a datetime-local input, in the browser's time zone. */ +export function toLocalInput(text: string | null): string { + if (!text) return ''; + const date = new Date(text); + if (isNaN(date.getTime())) return ''; + const pad = (n: number) => String(n).padStart(2, '0'); + return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(date.getMinutes())}`; +} + +/** The value of a datetime-local input (local time) as an ISO 8601 time in UTC; null when empty. */ +export function fromLocalInput(value: string): string | null { + if (!value) return null; + const date = new Date(value); + return isNaN(date.getTime()) ? null : date.toISOString(); +} + +export type WindowState = 'active' | 'upcoming' | 'ended' | 'unknown'; + +export function windowState(parameters: FilterParameters | null, now = new Date()): WindowState { + const start = asText(parameters?.Start); + const end = asText(parameters?.End); + const startDate = start ? new Date(start) : null; + const endDate = end ? new Date(end) : null; + if ((startDate && isNaN(startDate.getTime())) || (endDate && isNaN(endDate.getTime()))) return 'unknown'; + if (!startDate && !endDate) return 'unknown'; + if (startDate && now < startDate) return 'upcoming'; + if (endDate && now >= endDate) return 'ended'; + return 'active'; +} + +export function formatTime(text: string | null, lang: string): string { + if (!text) return ''; + const date = new Date(text); + return isNaN(date.getTime()) + ? text + : date.toLocaleString(lang, { dateStyle: 'medium', timeStyle: 'short' }); +} + +// ── Comparison and errors ────────────────────────────────────────────────── + +/** JSON with sorted keys, so that two flags with the same values compare equal. */ +export function stableJson(value: unknown): string { + return JSON.stringify(value, (_, v) => + v && typeof v === 'object' && !Array.isArray(v) + ? Object.fromEntries(Object.entries(v).sort(([a], [b]) => a.localeCompare(b))) + : v); +} + +/** The field errors of the API for one filter, e.g. `flag.filters[1].parameters`. */ +export function filterErrors(errors: Record, index: number): string[] { + const prefix = `flag.filters[${index}]`; + return Object.entries(errors) + .filter(([key]) => key === prefix || key.startsWith(prefix + '.')) + .flatMap(([, messages]) => messages); +} + +/** The field errors of the API that are not about a filter. */ +export function otherErrors(errors: Record): string[] { + return Object.entries(errors) + .filter(([key]) => !key.startsWith('flag.filters[')) + .flatMap(([, messages]) => messages); +} From 031a5db0ea9bd3864639fe108afdc13a77ac898e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81api=C5=84ski?= Date: Wed, 21 Oct 2026 21:26:10 +0200 Subject: [PATCH 4/4] docs: feature flags in the README and new screenshots The README describes the feature flags package and the screenshots show the editor in Way.Shell, with the Feature flags view. docs/feature-flags.md is the plan of the work. --- README.md | 45 ++++- docs/feature-flags.md | 246 ++++++++++++++++++++++++++ docs/screenshots/01-overview.png | Bin 172870 -> 138922 bytes docs/screenshots/02-fields.png | Bin 119795 -> 102805 bytes docs/screenshots/03-array-editor.png | Bin 178120 -> 142593 bytes docs/screenshots/04-feature-flags.png | Bin 0 -> 120764 bytes docs/screenshots/05-flag-editor.png | Bin 0 -> 139641 bytes 7 files changed, 290 insertions(+), 1 deletion(-) create mode 100644 docs/feature-flags.md create mode 100644 docs/screenshots/04-feature-flags.png create mode 100644 docs/screenshots/05-flag-editor.png diff --git a/README.md b/README.md index 9d817b5..bfb79b5 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![CI](https://github.com/kododo-dev/ConfigWay/actions/workflows/ci.yml/badge.svg)](https://github.com/kododo-dev/ConfigWay/actions/workflows/ci.yml) [![Demo](https://img.shields.io/badge/demo-live-brightgreen)](https://kododo.dev/configway/demo) -Runtime configuration editor for ASP.NET Core. View and modify `IOptions` values at runtime through a built-in web UI without restarting the application. +Runtime configuration editor for ASP.NET Core. View and modify `IOptions` values at runtime through a built-in web UI without restarting the application, and manage [feature flags](#feature-flags) the same way. A live demo is available at [kododo.dev/configway/demo](https://kododo.dev/configway/demo). @@ -15,6 +15,10 @@ A live demo is available at [kododo.dev/configway/demo](https://kododo.dev/confi ![Array editor](docs/screenshots/03-array-editor.png) +![Feature flags](docs/screenshots/04-feature-flags.png) + +![Flag editor](docs/screenshots/05-flag-editor.png) + ## Packages | Package | NuGet | Description | @@ -24,6 +28,7 @@ A live demo is available at [kododo.dev/configway/demo](https://kododo.dev/confi | `Kododo.ConfigWay.UI` | [![NuGet](https://img.shields.io/nuget/v/Kododo.ConfigWay.UI)](https://www.nuget.org/packages/Kododo.ConfigWay.UI) | Embedded web UI | | `Kododo.ConfigWay.PostgreSQL` | [![NuGet](https://img.shields.io/nuget/v/Kododo.ConfigWay.PostgreSQL)](https://www.nuget.org/packages/Kododo.ConfigWay.PostgreSQL) | PostgreSQL persistence store | | `Kododo.ConfigWay.SqlServer` | [![NuGet](https://img.shields.io/nuget/v/Kododo.ConfigWay.SqlServer)](https://www.nuget.org/packages/Kododo.ConfigWay.SqlServer) | SQL Server persistence store | +| `Kododo.ConfigWay.FeatureManagement` | [![NuGet](https://img.shields.io/nuget/v/Kododo.ConfigWay.FeatureManagement)](https://www.nuget.org/packages/Kododo.ConfigWay.FeatureManagement) | Feature flags of Microsoft.FeatureManagement in the editor | ## Quick start @@ -194,6 +199,44 @@ builder.Services.AddSingleton, EmailOptionsValida Errors are shown in the UI and saving is blocked until they are resolved. +## Feature flags + +`Kododo.ConfigWay.FeatureManagement` adds a Feature flags view to the editor. You can turn [Microsoft.FeatureManagement](https://learn.microsoft.com/azure/azure-app-configuration/feature-management-dotnet-reference) flags on and off, roll them out to users and groups, or limit them to a time window without redeploying. Your code keeps using `IFeatureManager`, `[FeatureGate]` and the other feature management APIs. + +```bash +dotnet add package Kododo.ConfigWay.FeatureManagement +``` + +```csharp +builder.AddConfigWay(x => +{ + x.UsePostgreSql(connectionString); + x.AddUiEditor(); + x.AddFeatureFlags(); +}); + +builder.Services.AddFeatureManagement(); +``` + +The view lists the flags from your configuration (the `feature_management` section of appsettings, environment variables and so on), including flags in the older `FeatureManagement` schema. You can also add flags that exist only in ConfigWay. + +A flag saved in the editor is stored by ConfigWay and replaces the flag with the same id from your configuration. Resetting it brings the configured flag back. A flag that exists only in ConfigWay is deleted on reset. + +| Filter | Editor | +|---|---| +| `Microsoft.Percentage` | Slider | +| `Microsoft.TimeWindow` | Start and end in your time zone, stored in UTC | +| `Microsoft.Targeting` | Users, groups with a percentage, default percentage, exclusions | +| Other filters | JSON parameters | + +A filter that your application has not registered can't be saved, because checking the flag would throw. + +Variants, allocation, telemetry and recurring time windows are kept when you save a flag, but you can't edit them yet. + +To see how a flag evaluates for a user, enter the user and groups under "Check for a user". The check uses your application's feature manager. + +The flag endpoints are part of the editor's API (`{path}/api`) and use the same authorization. If the app runs as several replicas, set [`ReloadInterval`](#several-replicas) so that a changed flag reaches all of them. + ## Security Outside the Development environment the editor and its API answer `403` until you decide who may use them: diff --git a/docs/feature-flags.md b/docs/feature-flags.md new file mode 100644 index 0000000..81d101c --- /dev/null +++ b/docs/feature-flags.md @@ -0,0 +1,246 @@ +# Flagi funkcji w ConfigWay: plan + +Stan: F0-F2 i F3 (bez wydania) zrobione (2026-10-21); zostało wydanie 2.1.0. Źródło pomysłu: `IDEAS.md`, pkt 2. + +## 1. Cel i zakres + +Nowa, opcjonalna paczka **`Kododo.ConfigWay.FeatureManagement`**. Pozwala zarządzać flagami +`Microsoft.FeatureManagement` z panelu ConfigWay bez redeployu. Flagi dalej czyta standardowy +`IFeatureManager` / `IVariantFeatureManager` z `IConfiguration`, więc kod aplikacji +(`[FeatureGate]`, `IsEnabledAsync`, tag helpery) się nie zmienia. + +Zależność od `Microsoft.FeatureManagement` (4.8.0: net8.0 + net10.0; net9.0 korzysta z buildu net8.0) +ma tylko nowa paczka. Rdzeń ConfigWay, UI i magazyny jej nie ciągną. + +**v1:** +- lista flag ze wszystkich źródeł (appsettings, env, ConfigWay) z oznaczeniem źródła i nadpisania; +- szybkie włącz/wyłącz z listy; +- edytor flagi: `enabled`, `requirement_type` (Any/All), filtry `Microsoft.Percentage`, + `Microsoft.TimeWindow` (bez cykliczności), `Microsoft.Targeting` (użytkownicy, grupy z %, domyślny %, + wykluczenia) oraz dowolny filtr własny jako nazwa + parametry JSON; +- dodawanie nowych flag i reset nadpisania, czyli powrót do definicji z appsettings albo usunięcie flagi, + która istnieje tylko w ConfigWay; +- tester "czy flaga jest włączona dla użytkownika X z grupami Y" (ewaluacja po stronie serwera); +- walidacja po stronie serwera; i18n en/pl; demo; testy. + +**Później (v1.x):** warianty i alokacja (`variants`, `allocation`, `status_override`), cykliczność +TimeWindow, flaga `telemetry`, narzędzia MCP. Odświeżanie między replikami jest w v1 (sekcja 7). + +**Poza zakresem:** historia zmian i audyt (ConfigWay ich nie ma; to osobny temat dla całego ConfigWay), +edycja flag w starym schemacie .NET (`FeatureManagement`). Te flagi są tylko wyświetlane, a nadpisanie +zapisuje się w schemacie Microsoft. + +## 2. Stan wyjściowy ConfigWay (istotne fakty) + +- Magazyn to płaskie `key -> value` (`IStore`: Get/Set/Delete, tabele `configway.settings` + w PostgreSQL i SQL Server, `InMemoryStore` domyślnie). +- `ConfigurationProvider.IsAllowedKey` przepuszcza **tylko klucze zarejestrowanych typów `IOptions`**, + więc wpisy `feature_management:*` byłyby odrzucone. +- `ConfigurationBuilder` ma publiczne tylko `Services`, `Store` i `AddOptions`. Brak punktów + rozszerzeń dla źródeł konfiguracji i dodatkowych endpointów. +- Przeładowanie: `IConfigurationEditor.ReloadAllAsync` po zapisie, tylko w bieżącej instancji. +- UI: jeden `WayModule("config")`, menu w `SideMenu.tsx`, API Reiho `POST /config/api/{Request}`. +- Way.Shell nie pozwala innej paczce dołożyć widoku do cudzego modułu (jeden `App` na Way). +- ConfigWay nie ma MCP ani testów SPA. + +## 3. Model zapisu + +**Jedna flaga = jeden wiersz** w istniejącym `IStore`: + +``` +key: feature_management:flags/ (prefiks niekolidujący z kluczami IOptions) +value: JSON flagi w schemacie Microsoft {"id":"Beta","enabled":true,"conditions":{...}} +``` + +Dlaczego tak, a nie spłaszczone `feature_management:feature_flags:0:...`: +- indeksy tablicy rozjeżdżają się przy dodawaniu i usuwaniu, a scalanie po indeksie z appsettings + nadpisywałoby niewłaściwe flagi; +- zapis jednej flagi jest atomowy (jeden upsert) i nie wymaga zmian schematu baz; +- reset flagi to usunięcie jednego klucza. + +Nie trzeba zmieniać tabel ani `IStore`. + +**Źródło konfiguracji paczki:** `FeatureFlagsProvider : StoreConfigurationProvider` wybiera z magazynu klucze +z prefiksem `feature_management:flags/`, parsuje JSON i wystawia go spłaszczony jako +`feature_management:feature_flags:{100000+i}:...`. Główny provider ConfigWay dalej ignoruje te klucze, bo nie +należą do żadnego typu opcji. + +**Scalanie z appsettings po `id`:** paczka włącza +`ConfigurationFeatureDefinitionProviderOptions.CustomConfigurationMergingEnabled = true` +(od 4.3.0). Wtedy definicja z ConfigWay (źródło dodane później) wygrywa w całości z flagą o tym samym +`id` z appsettings, niezależnie od indeksów. + +**Sprawdzone w F1 (źródła `ConfigurationFeatureDefinitionProvider` 4.8.0 + testy):** +- Przy scalaniu każdy provider (`ConfigurationProvider` albo `ChainedConfigurationProvider`) jest osobnym + źródłem, a wygrywa ten o najwyższym priorytecie, czyli dodany później. W obrębie źródła wpis w schemacie + Microsoft wygrywa ze starym schematem, więc nadpisanie flagi ze starego schematu działa. +- Jeśli aplikacja ma providera, który nie dziedziczy z `ConfigurationProvider`, biblioteka wraca do + zwykłego scalania po indeksach. Dlatego flagi z ConfigWay zaczynają się od indeksu **100000**: są wtedy + po flagach aplikacji, a biblioteka bierze ostatnią definicję o danym `id`. Mutacja w testach: każde + z dwóch zabezpieczeń osobno wystarcza, bez obu polegają 4 testy nadpisań. +- Id porównywane bez wielkości liter; brak `enabled` = wyłączona. + +## 4. Zmiany w rdzeniu ConfigWay (F0), zrobione 2026-10-20 + +Publiczne punkty rozszerzeń, bez zmian zachowania dla obecnych użytkowników: + +1. **`StoreConfigurationProvider`** (Kododo.ConfigWay): abstrakcyjna klasa bazowa providera, który + wystawia wartości z magazynu pod własnymi kluczami (`Select(IReadOnlyList)`). Rejestracja + przez `ConfigurationBuilder.AddProvider(provider)`. Główny provider ConfigWay też z niej dziedziczy + i czyta magazyn **raz** dla wszystkich: przy `Load`, po zapisie (`IConfigurationEditor.ReloadAllAsync`) + i przy odpytywaniu. Providery rozszerzeń są dodawane do `IConfiguration` zaraz po głównym. + `GetConfigurationHandler` wyłącza wszystkie `StoreConfigurationProvider` z wartości domyślnych. +2. **`AddUiExtension(id, assembly)`** (Kododo.ConfigWay.UI): rejestruje handlery Reiho z assembly + i rozszerzenie w DI. `UseConfigWay` mapuje requesty rozszerzeń na tę samą grupę `/api`, więc + dziedziczą autoryzację grupy. Użytkownik nie wywołuje nic dodatkowego. +3. **`GetCapabilities`** -> `{ extensions: string[] }`. SPA na tej podstawie pokaże "Flagi" (F2). +4. **`ReloadInterval`** (sekcja 7). +5. Way.Shell podbity do 2.1.1 (NuGet). Paczka npm zostaje na 2.0.0 do F2. + +Testy: 192 w ConfigWay.Tests (net8/9/10), po 24 w PostgreSQL i SQL Server (w tym test dwóch replik). + +## 5. API publiczne paczki + +```csharp +builder.AddConfigWay(x => +{ + x.UsePostgreSql(cs); + x.AddOptions(); + x.AddUiEditor(); + x.AddFeatureFlags(); // źródło + handlery + rozszerzenie UI +}); + +builder.Services.AddFeatureManagement().WithTargeting(); + +app.UseConfigWay().RequireAuthorization("admin"); // bez zmian; flagi pod /config +``` + +`AddFeatureFlags` **nie** wywołuje `AddFeatureManagement`. Aplikacja sama decyduje o targetingu +i własnych filtrach. Paczka tylko konfiguruje opcje scalania i rejestruje swoje elementy. Opcjonalnie +`AddFeatureFlags(o => o.KnownFilters...)` podpowiada nazwy własnych filtrów w UI. + +## 6. Backend (Reiho, w paczce FeatureManagement), zrobione 2026-10-21 + +Requesty (pod `/config/api`, z autoryzacją grupy ConfigWay): + +| Request | Działanie | +|---|---| +| `GetFeatureFlags` -> `{ isFeatureManagementRegistered, filters[], flags[] }` | Pozycja: `id`, `flag` (w użyciu), `configured` (z konfiguracji aplikacji albo `null`), `hasOverride`, `isDotnetSchema`, `hasVariants`, `error` (nieczytelne nadpisanie). `filters` to aliasy zarejestrowanych `IFeatureFilterMetadata` (podpowiedzi w UI). Flagi bazowe czyta `FlagCatalog` z każdego providera osobno (bez `Load`), tak jak scala je biblioteka. | +| `SaveFeatureFlag(flag, isNew)` | Walidacja; `isNew` + istniejące id -> 400 `flag.id`; zmiana nieistniejącej -> 404. Zachowuje id istniejącej flagi (wielkość liter) i jej nieedytowane pola. Upsert jednego klucza + przeładowanie. | +| `ResetFeatureFlag(id)` | Usuwa nadpisanie (404, gdy go nie ma). Flaga z konfiguracji wraca, flaga tylko z ConfigWay znika. | +| `EvaluateFeatureFlag(id, userId?, groups?)` -> `{ enabled, variant }` | `IsEnabledAsync(id, TargetingContext)` + `GetVariantAsync`; brak `AddFeatureManagement` -> 409, nieznana flaga -> 404. Informacji "który filtr zdecydował" biblioteka nie udostępnia, więc jej nie ma. | + +Model edycji (`FeatureFlag`): `id`, `enabled`, `requirementType` (Any/All), `filters[]` (`name`, +`parameters` jako JSON), `description`. + +**Walidacja** (`IValidatableObject`; Reiho zwraca ProblemDetails z kluczami typu +`flag.filters[1].parameters`): +- `id`: niepuste, bez spacji na brzegach, bez `:`, najwyżej 200 znaków; +- Percentage: `Value` w zakresie 0-100; +- TimeWindow: `Start` i/lub `End` jako data, `Start < End`; zapis w RFC 1123 (UTC); `Recurrence` + zachowywane bez sprawdzania (edycja w F4); +- Targeting: `Audience` wymagane, niepuste nazwy, grupy bez duplikatów, procenty 0-100; +- inne filtry: dowolne parametry, ale **nazwa musi należeć do zarejestrowanego filtra**, gdy aplikacja ma + `AddFeatureManagement` (`RegisteredFilters`, dopasowanie jak w bibliotece: pełny alias albo ostatni segment, + `AlwaysOn`/`On` zawsze). Powód: dla nieznanego filtra biblioteka rzuca `FeatureManagementException` przy + każdym sprawdzeniu flagi; sprawdzone na demo (strona 500). Błąd: `flag.filters[i].name`. + +**Zapis:** JSON w schemacie Microsoft, parametry wbudowanych filtrów w jednym kształcie (liczby jako liczby). +Nieedytowane pola (`variants`, `allocation`, `telemetry`, ...) są **zachowywane**, także przy pierwszym +nadpisaniu flagi z appsettings. Warianty flag ze starego schematu nie są przenoszone (`HasDroppedVariants` +w `BaseFlag`; UI może to pokazać). + +**Testy:** `ConfigWay.FeatureManagement.Tests` (82 × net8/9/10), w tym integracja z prawdziwym +`IVariantFeatureManager`: nadpisanie, reset, nowa flaga, stary schemat, Percentage, TimeWindow, Targeting +przez `EvaluateFeatureFlag`, warianty zachowane po zapisie, wielkość liter id, nieczytelne nadpisanie. +PostgreSQL i SQL Server: trwałość po restarcie i przekazanie zmiany do drugiej repliki (`ReloadInterval`). +CI (`ci.yml`) uruchamia nowe testy, a `publish-nuget.yml` pakuje nową paczkę. + +## 7. Wiele instancji, w v1 (decyzja 2026-10-20), zrobione w F0 + +Bez tej opcji zmiana działa tylko w instancji, która ją zapisała. Przy flagach to szczególnie boli, +bo wyłącznik awaryjny musi zadziałać wszędzie. Opcja `x.ReloadInterval = TimeSpan.FromSeconds(30)` +(domyślnie `null`, czyli wyłączona) uruchamia `ReloadService` (`BackgroundService` + `PeriodicTimer`). +Ten co interwał czyta magazyn i przeładowuje wszystkie providery tylko wtedy, gdy zmienił się jakikolwiek +wpis (porównanie z ostatnio wczytanym stanem). Błąd magazynu jest logowany jako ostrzeżenie, a kolejny +tick próbuje ponownie. Bez zmian `IStore`. Tabele są małe, więc koszt jest pomijalny; ewentualnie +później tani znacznik wersji w magazynach. + +## 8. UI (w ConfigWay.UI SPA), zrobione 2026-10-21 + +Widok flag mieszka w **istniejącym SPA ConfigWay** i pojawia się, gdy `GetCapabilities` zwraca `flags` +(`FlagsProvider` pobiera flagi tylko wtedy). Uzasadnienie: Way.Shell nie ma slotów na widoki z innych +paczek, a osobny Way byłby w menu tylko w panelu `/admin`. ConfigWay.UI nie ma zależności NuGet od paczki +flag; `dist/way.js` urósł do ~96 kB (24 kB gzip). Way.Shell npm podbity do ^2.1.1. + +- **Trasy:** `flags` (lista), `flags/new`, `flag/:flagId`. Dopóki `GetCapabilities` nie odpowie, nieznana + trasa nie przekierowuje do korzenia (głęboki link do flagi działa). +- **Lista** (`FlagsPage`): przełącznik zapisuje od razu; snackbar z "Cofnij" (gdy flaga nie miała + nadpisania, cofnięcie robi reset, a nie zapis kopii). Opis warunków ("1 user · 1 group", "50% of checks", + "from ... until ..."), znaczniki: nadpisana / tylko ConfigWay / schemat .NET / warianty / nieczytelna. + Wyszukiwarka po id i opisie, ostrzeżenie, gdy aplikacja nie wywołała `AddFeatureManagement`. +- **Edytor** (`FlagPage`): id (tylko dla nowej), opis, `enabled`, źródło flagi; "Przywróć z konfiguracji" + albo "Usuń flagę" z oknem potwierdzenia. Warunki: menu "Dodaj warunek", Any/All przy 2+ warunkach, + karty filtrów z błędami API przypisanymi po `flag.filters[i]`: + - Percentage: suwak + pole; podpowiedź, że to losowanie na sprawdzenie (nie na użytkownika); + - TimeWindow: `datetime-local` w strefie przeglądarki, zapis w UTC, stan "aktywne / jeszcze nie / zakończone"; + `Recurrence` zachowane z informacją; + - Targeting: chipy użytkowników i wykluczeń, wiersze grup z %, % pozostałych; + - własny filtr: nazwa z podpowiedziami zarejestrowanych filtrów, ostrzeżenie dla niezarejestrowanej + (sprawdzenie flagi rzuciłoby wyjątek), parametry JSON z blokadą zapisu przy błędnym JSON. +- **Tester** (`FlagCheck`): użytkownik + grupy -> włączona/wyłączona i wariant; sprawdza zapisany stan. +- **i18n:** en/pl w `translations.ts` (funkcje dla tekstów z liczbami). +- `PageHeader` dostał `actions` i `searchPlaceholder`. + +**Demo:** klasa opcji `FeatureFlags` zastąpiona prawdziwymi flagami w `appsettings.json` (BetaBanner, +NewCheckout z targetingiem, HolidayTheme z oknem czasowym, MaintenanceMode, SearchEngine z wariantami, +ReadOnlyMode w schemacie .NET). Strona główna pokazuje stan flag dla gościa wybranego linkiem +(`?user=alice|bob|mallory`). + +**e2e szczegółowe** (`ConfigWay.Demo.Web/e2e/flags.mjs`, 53 scenariusze): linki bezpośrednie, wyszukiwanie, +okno czasowe tam i z powrotem przez strefę (wartości w bazie w UTC), edycja targetowania (chipy, grupy, +wykluczenia) z testerem i stroną demo, Any/All na dwóch warunkach, własny filtr (zły JSON, niezarejestrowana +nazwa), id `Team.Billing/V2`, duplikat id, `:` w id, Odrzuć, stary schemat .NET, warianty zachowane po zapisie, +zapis ustawień nie gubi nadpisań flag, telefon (bez poziomego przewijania), język polski. 53/53 w Chrome, +Edge, Firefox i WebKit. Bezpieczeństwo w testach integracyjnych: 403 bez decyzji, 401 bez zalogowania +(wszystkie 4 requesty, flaga nietknięta). Tester czyści wynik po zmianie użytkownika lub grup. + +**e2e** (`ConfigWay.Demo.Web/e2e/check.mjs`): +18 scenariuszy flag (menu, lista, przełącznik i cofnięcie, +targeting i tester, nadpisanie i reset, błąd walidacji w karcie warunku, nowa flaga i usunięcie). Skrypt +najpierw resetuje nadpisania, których dotyka. Wynik: 32/32 w Chrome i WebKit. `SHOTS=` zapisuje zrzuty. + +## 9. Testy + +- `ConfigWay.FeatureManagement.Tests` (net8/9/10): + - parser i spłaszczanie JSON ↔ klucze; + - walidacja; + - handlery; + - **integracja z prawdziwym `IFeatureManager`**: flaga z appsettings, nadpisanie z ConfigWay, reset, + Percentage, TimeWindow, Targeting przez `EvaluateFeatureFlag`; zachowanie nieznanych pól. +- PostgreSQL/SQL Server: po jednym teście API na Testcontainers (zapis, odczyt, przeładowanie). +- Testy rdzenia po F0: brak regresji (istniejące 170+ testów) i nowe testy punktów rozszerzeń. +- e2e: nowe scenariusze w `ConfigWay.Demo.Web/e2e/check.mjs` (lista, przełącznik, edytor, reset, tester). + +## 10. Demo i dokumentacja + +- Demo: klasę `FeatureFlags` (4 boole jako zastępstwo flag) zastępujemy prawdziwymi flagami + w `appsettings.json` (np. `NewCheckout` z Percentage, `BetaBanner` z Targeting, + `MaintenanceMode`, `HolidayTheme` z TimeWindow). `HomeView` pokazuje ich stan dla bieżącego + (wybieralnego) użytkownika. +- README: tabela paczek, sekcja "Feature flags", `.nuget/README.md` nowej paczki, + aktualizacja Limitations. +- Zrzut ekranu widoku flag w `docs/screenshots`. + +## 11. Fazy + +| Faza | Zakres | Efekt | +|---|---|---| +| F0 ✅ | Punkty rozszerzeń w rdzeniu i UI (sekcja 4), `ReloadInterval` + testy | Bez zmian zachowania | +| F1 ✅ | Backend paczki: źródło, scalanie, handlery, walidacja, testy integracyjne z `IFeatureManager` | Flagi edytowalne przez API | +| F2 ✅ | UI: lista, przełącznik, edytor (Percentage/TimeWindow/Targeting/własny), tester, i18n | Pełny v1 w panelu | +| F3 ✅ (bez wydania) | Demo, README, e2e, zrzuty, `publish-nuget.yml` (nowa paczka) | Gotowe do wydania **ConfigWay 2.1.0** | +| F4 (v1.x) | Warianty i alokacja, cykliczność TimeWindow | 2.2.0 | +| później | MCP (lista, przełącz, sprawdź flagę), historia zmian | - | + +Wersja: wszystkie paczki ConfigWay wydawane razem z tagu, więc nowa paczka startuje od 2.1.0. +Way.Shell bez zmian (kontrakt 2). diff --git a/docs/screenshots/01-overview.png b/docs/screenshots/01-overview.png index c8cf4e4a624b4b078944c4841517ad9e7accd134..e97ab5f455539a33a5a6a267bb51018a64907af2 100644 GIT binary patch literal 138922 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

%gr!z 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%0Ah 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

@3takCvq%^Kct1#+0#V)dM+h-&7vS1I^TR80= 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

CmGm5izs+OWRf5?BDE`M?@ST4M< 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

-2k^C~Xq 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 Ux}5l$U=#rC=O)Lqk6pO_-!`Y?6951J diff --git a/docs/screenshots/03-array-editor.png b/docs/screenshots/03-array-editor.png index 6e8ea2831cb29a819c59547726c542ca8b0a5717..6adacdea21198ccb10ebb2af9c58443db895530e 100644 GIT binary patch literal 142593 zcmeFZ_fwNw*fy%7pduh5AYDa3dM9*5nt*`R&?C}&4;@q#kgC$8H|Y?1C;=iMH9)AL z1VZnG-b-?__kQ2+oSE|voFC4b$uL=KcvgGvcHP&VZ|^i!$nMkMzj5ORnd%!wof|hu z@7}mU{QmAOLeH)gP2!Ck4{xX{%Io>2Z_kpN>UrbN@DvX^oEx~FdQd&yzm;kj`HOBN z3007oGF9PS-|qk`TNx>6biQ^pDV@EVhSt?38aUF{RF9R{n($JN(CrAFqjf?8$X6bWryP>By z32XYVWwQbQ?=LrQ%>TX{{l7#1{MC&5L)gXtY4f%J|L{MD@&Bn~nYn%A#w(DG2t66G zg15J~nOVk^lZ&0*!~bsWV~v};yE~!Z$LI9mV8l+uq0acmTECW`zGDd2C13aVkR}M` zt%;+nho|?q&9&h3hXd*AMEp$4yl%mbLw+}I1euweX9hBg*nPjjC#0NLRaRD3T}^ns z|82A+EG$`n{=8~ub>rhP2i8hn*Zye)@E6Y=*0kRlWEE1rapR+`YQ;oyLc+^undau^ z%*@OO6WMC{kN#(Mo`NZF2@i!rp-oLq)zu^K1#aKDbAEAgKl}6wp4bhw-B|g14J1Z3 z{|!+rDl}esJ`@mL5EjbeD0XFvLsrz4j%v{+(9OZQjpqZOS>C>JR1>Gx@O&a{MD5Lxt^|pPMwQW{41LFm6iRUb7+X*)Uc{< zjQ&lzo^v(oec(_Ivf7u&8z6lG4(Zyzubw|Ni9$pTC+y%7`8DjrA{Sgsyeg z%}pMo&M}9&|JV5KPn0)qWFrOA2HI0!y!)SFTABQuxAr1LH@rUoqlSiTMMMN<=>HoW zx)oz{!%Z3TKU?~@^N%X!lmDkSOQ%t=zp?%^EG*2jJJ#CD>M;$Cfq?=217eBM?(Xi1 z34oB0kf5L-7njIiPS^b|zVnOH07l5?!5o5uE*+<#r9~Wu3U!ZxYy=fKg)h0 zM0jbulrtZ~&lXA9Q&>h? zdZ%HD{N{WvP*>M;eJH1-gzGZJrlxU>OI+Ny=le4VBwCjEe-4IML?oiVm47y{G8Z%E z*46I*EE72+@NPw|07F{#`}cCZmhAb(R>juV7IrPG@?xVf%b?s?)O&L*&83M`K;WI9 z{qg2F1Hk2lK)9Gq?kGx@F4Pxm*azFA}`%4Y<01`f(~qe+exLN>>W4Gz}^(m14~ z?hK}Uo~UR%kXT_H+MvrmH>HGmp@F2t_vQmj2(nZtwDMqeWrdoOa$&)uarwJ#O>XXU z2~g=cYHX}0K9jYu-FDKMg1+rna@$IDqHAjt4dKnodEsL(wY9S)Y zN^|baD)M8Eot@no;d;Q>>3r$L*-yQ_y#yIJnBgd+d<4Mw=1n;b_VxWN)HL$lnQ2ss zW1emFEKKJtqol6Za_@?!TYRmqu8yv>P(Yuns;Ux9%dIt?)BvSENI4&QaMYI}rct-ab*M5f>8otY-4%RW1knk=xRL z%7HK1tefYXZz1_96V<}FY86EY7dKD5hR~wiWnWAw1Lha4lGEQiRl(O6rv+*Rz|0%r){%>PJXKMou98|ebse~_!F_MUsK^{ znKmg+BV!M6femmxDf9Vcm90_1~>FVc%pPJs^`L<961qG9q5}o43#YJ*v z>7vmMH8r*8tgJ1~&5FB%42W13ZXOg}>V>zI<|Qq)t|jQ=@^c9t{^aC+$t#EnAx+NPJwTtjvtbYW21ZNt7c`JY-9Qd2q` z+GQ%WRedvemkYNOiWE9--3QEo{XkO>;-`LE2X4B}N&UR^(b>MtBW4qLJsp_+0Vn0h z9U}9l{JGd-^94aGJ84rA8in-UtJ1%l3gs>h3t=(=Cs$h_JQpu-qHqQ~*K6_D?-e_f z!fmrSxpIrwW7#O0g-#AhKJfb@jRq-U^xXwG+a)4a8AWHMuf5YRB<i$>Hr_P^c-%C7VqDG!OpJ@uLKofrO0Z1LA~P)k_0q$=qx0GFEuyF>qYx+1s(Yvh2sRRj z9(pgt;CM7m)p;{WK%m{!Wj%4nxm#C+LvEjjHj%5Hr`rD9kK-{m4NH{=8ZUb0Z> zi6ZKNLvAFJ6w;90_(;L!m)J-uM|%enX+rR5&CF(jprHJ>2&$|{)X%W!daaZv5+1+n zeU@y^PT0v=WKB~r@DO+<_&LS{!Mne|-`7vL%8{9bp^HGSmoLwbMzy5;Ma9Jp=cOaQ z#W<(;_3~{u{K7^{TG>g_%3G&6W;I@?{-zA2R_HeMy!;8MryYwFE*(HOZ=X1JJ#aR4 zQ{GII(gZhsRDr3NW6V(d&#V2pSCPNOZQSAoscic}Rbn+|qkv6}jOWdGl=%W@N3h zQc+-sN_3il`|F>bU+z)GD|dgrbDQ{xHb|>D2hdc{G&E)1em7b*U4ZZgyR#CXw4}4p zhBa1CrwYqcz3|V5R5qA0vm?J-uu8^7R^E+JeVZySXvF**qO|L+d2jnW!%$2`xsmIv zFNKEOf4WuDQfyqG5qV`Z+b24=Y)}V$zqe;N#kI1@EFzLr6w&$|@0GFsZOKnKlgo6^ z%u?@*o@3G6f!RjlE-h*8+N{rLlS-y$aFm$2<12!8<#ZF^^60Ck*z+@oTT zINTc5l5@7RTVK~Vc~3H!Y;3Xlx)@bBI=$_)iVSv8iNXZyDxJjEA(r9KNHLdI_8uxJ zh$U9XiJ8pWF&CqMjjjv+C`Q8d>a?+#iHC;426j#B>?QOl#BfOl(a&k zru$AU*A|`B%E=_>E!wv(sv9Zy2v>SrI6joNcBItwjQ#hVCeee!hw16{yPX>0WUnqO+0BeyC z=0xKCrcZ3|cMmo!bQN=QCjW)b<>{MLUS|L?XLjhF^scn`GM|^?*9O(E$I15FuwVI> zTl@y}5%k@k8tli1S2*kZ&_Hv^iB0V)U{YBhB!0NV%ozIHPabk$FyOFO7ew_GLTy?50G zo3TuGxpa{Cl$$vTCqd3Voet{NsQ?s$8hJ`Lc<00~7ROF#5=5`A!iYjr;b(bo5tn^T zUb8It#=wGdlm2QF+;P`5FRaG-l(O{dvr24+F#qw6@J_ha8U?P_&o&Z*CE2ntx$a|d zte?W@q8vuj{YXQCI*Py)CWwI_Qq4S`SZ)MnX0oB#)PLHnxEQYb?S*N+Nxw~v^TU|P z$ViS%UxIS+!T1%i0mohJ zG>j#)!FIeKjQ{S`u$u}#jQ$0dYxKe%ovz;YY4Lvz3)&DBE@{Px!%}I#0q~ z&23DyuUJ|y&N5LUuYBZ${cuv$x6ItS{)+MOB~|T6-m8~XSHlJ7oNRyKhfEc5_YcbG zn_JeBPp*|59I!m3rkaI2ONSRXzvRG=*(<~}+J7h4qTtsC@m__;#yB={w`})Nkkl!A z??t#P5IL&Ftt@BoR8&3o@jkpyFD(gmmVNE%tr{HMwoz?tUB?G;(8AA0tQWoKHvzf% z>7GJMO2nlKD}Psa>F6gGy7pxM5WI$EH9_{vz3b`<3Y;fyhbfZXI|X`&@Mri%XPdbfF0P)^%f6b^^qxoMLnY44c zOE2xhKBxEBY3b;wmxFS2um80XZl8*p zLvy<{@%obh7ANuFaxFeKxCj^hCE&g?G%CsT^&n?lbs~pUSI~h~M<#1+U^I2g9uh+2s z)-9IlnN8vu<8lw8ou8BErLw_1ofS0(=Zmx4Hb`8z%cT*ugcK&wt1GQE89cdo&fWNXg<$!*3vZ5wf^C@xn-eod0pPR@z0cL){dn4LVr=pPyfEr)z?3#a2i+ zT_?f^jE?8lbgmR#B^wu78JJzxDxLkTzg+>W+DhuwbtN4+DtKpn=eCo&&G=dt8qXPU z5}xA#{u2*pesT#334MM2Twr2SQl_N0!yiA!ae^T-%b*nxzG~Pe@%GLSU0@_7w->fi z#jcW}6Tj7E?FMgFS0(jc6woeNrghvrz%|;&8v!P!GLoA-PTD|+k1TmbC=l2h>-b~5R8o2h!!39@3$sycHJj&bCcj< zlJAW$0H%Q8moYt=oSI``i;GpM$d5Si(lwHGCB_O~|FN4BPLFiZw8EvExafSi6*vw# z77g3ntX>L79EWyA->=_7m-ER63czX!iV}-01ydb+hfSxZZmON9R>YY>aGSAMF8k2woeJ%^Jl&#XJ8VcWwn8-?4$ZVkG=^85s{ZgZTb-JBET6Fa-zs*1MlLdqC z+4$PW(RE%(WTz;ZnkoT8%#(8`#Qg8C{O-d0E26*30;w>FMi@V@a*7bXW5c-QyM>O7L_T4nXX&}s^e@%-)sHHEM`Iml;% zA0M*1uU2zylID2SDIo`(Ku?Ummr=~jT%Cz#Dc7%qU|t{$9y5#Qsyb9%q_zhI92~2? z`ohD$HTAxvm`^5CzmS}sny)FZF*D|J)Tyi(B8bxKb11&PWeU?plB4Xa72kNVJ_{EN z!S7IMXvca0jOU*5%gDeRBPKo$=jHJ#q^^6AGja+V%dMf}@*A5(02ME+3`sULQstg; zY4OX|rA--H7Y#ecVYw?91;zL(J8c`?e^bW^|5p3K07pvt$GUkRj-5@3VGdFYeWGG2 zIH&75kT^Fn5hl(0Y;73^FRFiBhL5d$Uatdtaxyv#a%Y?b^%}Ld$9!1IkYfPaeI~yS z=lJQZXn~|{jZ1dnink!!b9u-Cc?7+Lefux)&gUUoo9&sDl!{Uzqcp)lg(VJCiDz9n zTtSm=IM{l7fO~|l435>`X(bA)=knyjh8~j~S;X%&2HW*w@Yg=4?px@Rpu8?KDVZE= zC~45nV1*B}Wd0b!gI0BSRo@Lvwo<(SJ)9vqzPR3CL+%RwrUs1lS#GWhiHte!&&W^Q z0eJsdThsK-7n&PiO5|8{aS)V-aAHG4Jx@eT{WXrdiZxUwOwUK5OL0LausQ#=G*D6Z z;#T_(<0>m7CQ~LL;oI`^@}PP!0TCmBb)VdHXoUoF-=C7h0x3t?*&}y)gM*X{0rP!) z`1AOh%*(TK38pSUV3QSCg>=^hJfY4B;@>p>a41|liGZ7IkS~0Q4Pux1rjUC$)}i{F%Oc<0&nuxTM3?=+b0su2Z&7 z@TCG%vtE@2ZjrOa2p!ec8g%(rqA~=JJEVD{O#lK3=$UYmgxC5|&kxo+gYlnlO>M}% zF@Li?*_7{YfTcwXWic}FgAh_f1%cSGHK%i%54v)GuJTKMe>(VGraf7t6J_>QSH9F; zh92L6Z@hP7gQt|@&`+MOP^PC})RTz44N;=g&s}UehOw|nokXj5%IuA~nrB|e9wa+- z@4OY{$S?Ni2BPCE_RV#n#BuXye*E|e{Ei?6z-9F$dE#-u6C)%yK)p`C>Uwwz;WRg< ztuBXi46t}Vy|`M&sZcQYozb3q>Dgs)ylr0y>EF)5+1c6AQQgdkwZ_hdhK4Gg4vvoA zk{RiD@7{gb!us;LIDFeGrg8JEm8I`Qy1?#z8CrCZGDV3X?5mMxSeE*xq z6UN_Q>hW$Np;%zru{GQCTzlJJS_Js2XF6}2N#rHC=M{@}3u@*8Tjs!)6Qk?v^}0?Q zU`6)&LRHcgiD>u9wye1|Dod7)nEbJA#nGE2LQ+CT0K8oJy&zzPph-CHtM@}@r`647 zpU?dgR8AiW_Ew2p#WuBQsW+SaQs(rKNde||6a_4t!j1lpPPXwiMYbecdMCg7 z5I|38BF``|^=-LM%ddeGG7>JItS(SBBr~{8``NGsD)hHiqrmt$6pks-iYT4dag0(Hjlz0#UBlOyVyr3_Tql=CktxTKVvm zY+Si3r-safBf0G!UFd&fl|MngUPFV6k90SRA5jL-ur{UE;4d+#nWj~`0xq+iIDGMO z^V$VX%WeHeGzxzjVV3@N>bG3$DI9c(@eFEqHeUs9!KGa4zZVbctSal+N^oGtGJF~-8?>4dLPy>7iMGv%Kf}UR(iFxKaD&c$B1AcpkdRi zHVpC96(A&+mn(O>4$mDpy#vNZ#@B_ICSJDbQ-U;hwPnW+=Z`i<`~L1NbVzX;7#kad zKp_a;`nw$7&xlw(sm!pK(|KO|6Pm+}LmBXrk= zexhCMvodfy;9M0}bQi9w4lY1Tyy!D|` z##qRB6pJ~^YZA=kH=kIQB{!tnMSdA%=cCe4h7I4U6JEPbnoflC#xNcQOeW6vzW$`Gjg7spk;2RY z=C&|5LWAvS6`_Y3ai9xTM6ICvs4X%4AkxF7c(w)hE;>g1P^XQE)j5>hQgi)(v4Brw zlaP!Ou@F@HuAR-MSvjuyY#?3gaDg|5A@%y094mvm4|Xj^In;pQL9M*|$RZM1^I3UK z)ll6IVY6|RxL;j}UBv9&TU-@5N(GbO zmg^Vhl2N=4W4|b}<3BN9<%QL0g6B7V)hq{ifYg0n~oBWl?NO`aKed`+4 zDyWDOCH2OQZjsZ!WsjG%JIi;!P8jex_O6E*=2yc5E6Qqc1*bbK&ZqnC`j^B?apF;^ zn^IlRw{Uvr%5lt;A0}vBhk)Fn<{}kP#PPOWM%Vq&mBWSn4UR$7pR;=!AVapM*JsLF zjN`$9@u0Cv)Pf}w;|p!@QPB!j?j~(O?|0k)ixfYIKe6&fpq+P6PV~Yv=^)9ek4^2Y zcajWA=GFySi6=X?#u7~c7+p)eJEWwFSyN-HgN{+=v!n69nrU0-kC-Tmyx|HOz*n!y zsY*X>R^qaYnUT!7uh|Tqo)mCZ=b9)P$?br(a@$YIzN^E-O?b5_OR|3eHR)Iwp3aqM zhFsZo4KDHa70(29D6_}5Sh@YG$QSZ1tQi$^9YC?n!3tjle~3Eyr5i5vrPN37AfdNo z1-aLjz80q``-@W!71%!Np)EYu)M3@$ERXYX-Z~B`(;wZ@Kmcz15w%4Mv(Q?noR(v7IW)U6xr=79 z>SW*+I-cM)1Ur6ulrvA6-aKC(mmK?O&2&+>6!(3mz>&vy&;;Zf=(q8?ct5!9(EPfT zV0m@8;gb?^GtLt}K2N2zj_zY&h;4H8+bs*ylXph4#2#8bg#+Qdj_2_#_EM(WrX|<1 zZ?DlrU`np3I~;cg4Xmy6g@!j*?OR&+{c~p-3a+oOO?V-9$;kBC6Vl3&aR%P&Z`|GY z3E3rZ*9SH>HaYxN%`3ni6=-z8WQGkHS;V`htD1VO-99#!3HA7<`+Ol2v{5SQ1)0l= z8f+Ob9SKGv-2rbMGo09EEj~L-j>-yDjOI^Uf?A4of1*zyF`1L;Q4T&f@>)p_Y=W*Weq@1^Jd@MYkKy6*HJILisNeMwp*>CIt zkK-bt0k)p{`)yQ7p4FwvuDZ!r-gd9}K?~uD`WRZafw{EhxIHu5mn$5|nCgN+DObX4>oVy_j6c70PSO z(=nSrjkIj`vWl*;#kS>7^IriG6h z@=gx0y%di;^N&4O$LsROp2W`YV9}ToO~!ii*<3nt@g9g;!GYy@VY&Q+a#@7NC#H;+ zy4kM!elGW>mKb0u1H~H7k}YxO>A$(*S0oQEs%tpS9a|a|PF|h+a}88;?c%h*O<=&s z0+%|4LMItN;a#C!b7GD^2`-PvDH(&TA1Z;yXOaTG3f zf8Etu1;oQa8Z6YS!86`Ed!&~kt_>2Qz=HZax^n1{gQI-{|WGQ}@Az#H3t(K-j zdBr=yqWt}Y3=B`Bm4dQjMJ8Wz8Q#M+*}s7ADSG~(df3GDFP~Lcg!%XSVDB(&@8pQ|A{44Q&ZiQV}+anBoPv8Q`c(QubfSM{~yqza2F(=N$7qIb6B?3kgJ+qrU3 z2`A1FQxR~7Zj3cJuvS&d#~e1U>6g7C8x0fDhP3Q|gJv7fJJCIeS@OQTfUXM`l{;Up z`};#jlb44dPgrpmRCZ=0CT5K5tHn)309^C@*~@0)2lhrYJ2Zi$hsF018+z0N0*h}suMiBb zX%zH~)_A~TZQFrDu2jbh5d*uu?9odP#8#>LA$ig&%-{dc329v9{Syc6Ey!+u%~Y;`bggOTJ$Wp2i~AVw5Z6C=H!+mD;;rf?Q@7%&9a!%yzk! z#7Qi&+Rh^^$cuAdXrDUOlSiU2X5eX{9m(=Rk1=T?1(Q4E2?-|nrfCl3x&uMRZSB7< zJh&&(^tyL?XgtrWDL(XtW(M@Hz}>`R=~8z)!J4XqCX}7bYlwM{V5o_Uysb*}4{gWm zkN(6DoLcr*l3dI84(zM;Q{@G7nmRa2HK@C5PMDG4!&=6{HcA}rb>qK;rjIltt+wN- z^Jx!RlFn!M&Wji*b*#bsed;8;gU3pDX z&_{qv<*x3@3ZB17nD*!JNe?N5vmxI?M%lv{kdm29Zq>Da+wbgGG3Z^?;|TLL8n;>A zn-jC90am-;XyGFv#>V(IjyqW_MHuhyKdVqr&lN4SrYv4T!`KL6nr#Csgb>-V+09Lx z)$goLr?DF{?3Sv_At~EIp4|}z;FPOP-fB?}xYOApSh6`-+=%V+?-!zYEM|N>Nm+8r z0#Io}#3B_=nkv|ySqx?HsYLBuw>BbWUHsMT(9hd?;dYvSl>w(akKu z^BvJ2pdL80_aQO+^{lo0f`&B=yyD{OwH^J;G9ylBc(~Mz4xL-?^>}3n;tIb$!Q*!E zb!ZQOOqT~VqE2lW=BW}oRlovCvz=T zIZZWnyzn3gWcJ8Rj@mww675W)acmY@Pez=jjFXocoqt9iwU36^Jq^yyNKos7T?=MDr?5amm8 zMYmp?C_@sSBqWdp^D1zg5?Ma#HWLylgVz_9MosCJ^YD|EO8?P{-(_Dc|~!(It84lXp%$Uvg~bIM zHNOF4zfAQGgc)f7Hi3)tf09%xW}|t^MRsCN#4t??EhhTtpXxR<>kXAS^Gq%aNX4+@ zp|B5jP7x1I?tz3Y(+vo-LboFP zV7*77-uG)mWMn8Ce9n3+cD&{IbcPP3UmqK3w=`mkPd! z`L-D*n-M7?-cSWNA@Fh*pM#&la>5=&Icq9^_k7X);)7HZlN#*gq!+=>KI_)u4b1-? z9Yf|M%}<^6(ut3Xg<%SlTjdVsq#&n#e0SKq>RDAeaT+iq)KqkOv0W3RUE6GSHnX?A z99CoOyqa`eI%fj22ZB2#uw0H+EXrNbw8%WAf=Hq}U$HjZ5iv3LqTL;#Qk(u=NTk-r z2_b5P-W2*W`^T&f`&D3kOyoqzueRByGRDCIUgBA<4~Y_%B#`*fu5jKA* za&t6X&rZL+0{BgW%@@8cZf}z%Ar1Cwm*ttC>Be^^F}-%eK-Eph_56FXPc)H$a>*uX zrK8W={VmXq$(-R_A3eRE3dJqCCts%|pc~H=Sp6M2?Po?3mue?OVhgmZ7Ix57P-oL2 z)z_?X^UHJ14f_CoRFd^B?gJL#3c>uaJ*6Hrgf7oA$l}O|CQLrC5@>3yNaBOrMbV5e zwEQs`41Ekc56|0j1H?IpmT{M@q{nhZB`jiF2J)#5=ivNJTSTO%)#mc0`|0;H#0M$4 za1>{b6CZ@v-?{YgP`#XpsljiOqyQ}$Mw0$a9P0k-HgG)UvmHY>``&}QE>jjD7cwKa ziL=ue_b2q3o-ors;kzs$W9ud`H0k=Oze;ehE}C?X)SohjDtgA7cDyeJO7IX+yQjjCr=oTK0G^iq|?^1sAQJV$^!c@=%>!FTeJUNX!7blyMHqhzYpuO|5MTq@XuG0g_jkf%Nysm( zjpjF(^q~^dUs!AB8D!k`ey!gMsuN|6O4j0F`Cbs?s{PkANq4egKNIWJ+{f|K-|+j2 z+h(k-^;+`8_~W$|vTfSYyz76N#~+1}tP5cTyv(jr-~1C|t|djtRg{#xj(E6W zb*lxv5yU*dW}sulKlm(h&RUS4MMB(GtAjRND{3Fr1r5#DLfDuA>!n=DfMv&{vM|NnLJJnN=;P(K(Ul>t{?sLbL5`$)>pv7~uqp z6{l`N`gpaL%(0$LK|XMiKo)Dg*eq27fu9L0E0R}f^;MoFQUU$ubHPdtCOzZ3$WoiNqfh!$Q3RjR@kT?bY(I^Dw%1K) z2FTnT1Lj2c8_3@y;4tsl2W_3?Pd^I~7}9ZK65#D$LASmg(v2^S386w9dJ|UMXZ821 zL4KQLsM`{Cggp!o)(08BZg##1&+@kw$%>bPigq(aN5|33+JahY!8+4pHi2380YZ|p zP!9FFRmuQl$y#bWsWqR;WPTY1^QWrbdj23+bXzDovxY_7!DpI$5PF}MHhE}hNIOqi zqqb?g8lfD^C_$(Oshb`_(=#$MGBK4W^bZd5adJ|&Xn>6EH!8hH&yLmB3LAO2YlgDZ zd!@Hs^IbQepl)YwJQ^Auxab%(%#%}SBky8=S%cx+-OS&}@GMfJ5_wUQC0ZWVm`2NG zhRIb{wjQGNiGw)H7cRLpaP>w{H~VM|=e$<$`Ly=2rvUUv;}d(ikn=BZ)RcKf0kHD# zkH6fOV!z&c=lYC2wqfS0>PomvMYxZ> zeBtk>?xzpLOFO?5zmPIP*D6RM1~y8_BkZKpkCo92A`GRaF{`V#`eCbWIm?b=^ePSC zN&dlI=1qsNnAGBU_%EUlRKyWG?%otnL@o}tTwzZsX z4hokNZ5k?N80_(YXq(ICB{vwYH0yiD?o7Eu$Y+3Oi^=_WjFcdIl;k#3dso_Tm>C22NdhIBuOZq ze9J`kNoCCs6^xp9B{P(9wAjaY8H3)mat$7YU<2^Dvi-5$VaCsoe*FBP{_EXYUv(U} zqL#i>FxcqOP;Io}#p$x}2T;rOIKluLJtJTZKkqwPtyfds8P>tx%{<&JNrBFX1tDzY znp(D`dMt<1$6(vCBl@B;bB(m$Dl047LPYRh!6P+?OAgH`K^>T6ANx`%=c8v7 zs9p@3pI3#3AF3ZIU$W4xZt8L%$`t?&=t7f?1M|%b8c}WTPmjl&+BYFr)5WDggAzql zN{sba74kJeP}>#Jl^*I;Hp$f_rC8c^4(aD#BfS%<+%c(79GIABoKWBECm#@+7bC$R?c)<6ypU_dy z%L>;66<*nhO>Agxl;sUHP1R9#lQZxHu#{E<;4u3+_m)SS@5>~E*VDXB(gJ>z4?oB) zS$Au#do^pX-if)clG6BECAi>W))WK^)_rdTG~35$>{cLOdWV@X6Kaa)TC-eXbqXNM zR{Zr9hRIz9U)muo+o#T5R%X{E(~8PgM<=wrj|*f-2E{rt=KLK+_B%8l+hiP~=V70;()O_Aj0MoCRcArcA zu{+@Go$Ta%vZZcb74__w*lF16-sgpTRUZ^A*K|+?SPt5L$3$ZzJD;nH#zRg&)8>Yc zpDitA6h{XdQ!XhG!PQB3PJ-ci>fC*ptXU7cZzYkLM^5&D<|-64@Ne@e?oh9~JkbCK zJ5|vI#=MQ7VyI5wm`Z~>($=ajLp0DfK9lU`Lmgmu)i-a>R?}P+UE@os*P@KenPmeT z9>GzbtSYhFodQu&-?P{z+dOD`G0jtwtk!ClaUoU*WAA^kfu@`N)R)qGR)yuaD|WSl zt?ifS+%NMiAyd~gk(Y(t%4bFw3Xa^h)1UiUz)lxuWP)FKEsFO|{dx=dn!PR9gWdfzqJuH6IXl)anf7c*UE zmg3dpf_Z(6>0tD|Jdv~1Fe4%V_Hrt%0-#T8n@_uDsQERIACHmS5oLJ24&Pk8C~4W7V^*ji zLnPnB)pe1~Bx{Z>(Sd>UGR@3w0WaO3Kz1_CE;UeI-#x%a6hDvW0ddizNB4>e?8KVG zA~kE7Wp?YwkGh{+YBrmrZeH{reLq&7G z8kLyhlrI1l1DG&)oUHeF%~&}=yG~r9C@^m^H=(1Lzr1oaRX~5EROx$iPSbu$j!v*h zqPEhPMl}#0vEb(W6Up*hQEsSZ*W=emP(B_LAKE`qOa*_v!3K z*PI)AB}Pd@pG_rr(rY=~z;#}V%e`TCw1~SRR<2Q27nBHJk~=?{^|lz$u&-kM0A@x& zMp&kgptCZkJ3A#!O*OH0Pg2FNy06~0;D(Z+-o>B09_V8wywr}^c3k+JZG$uPCC#M$^@qI~Duwziw1i1Xh%#_~?KT)CF- zrj}10B(KmxZAV=){4AtCc4=nKnx2#K*Y$_E^aZcDGDw<>O+paw9@9YY0(*i_W3aiG z4qV%)Byqv1;Gxj%{@L6KrGmGPtsuYCNO-M;6B=LLzJqePeD@^XGL)F?;N*m+MJJbSAnFP2ss^&3@U|@AuHXX#$%KBgDpB$0J(hIr}a1MhGlLlgP zCI-2eJrkqjb@H4pz4-UMjB~k;7#W^m#V_!}QntW9R^a0!GP<9>8+#9HhCMQJPV9Ds zpk$s8Clg6uRYYhfcdFd>EzwW1BUQIH8_T?D;m#U1dEA&}bos%o#bmZ>?#ZX&&YR@M zq>R!+d}VNJ6;Tl^2arHxeWw>VGC8@klMivx7WOs_3{=c6G@h!W$>^*j`P&udUz~t* zuXz`69`-kyaU}5av+ds^!H)K;6|s9;Z2*|@oPYnBdTtOFTI62#k6)4?>srVD2eSQV zfps}7pxDgJDT^IQC=Hk#`n!LRGBY>emgSOVXmg@*>en>e_r6yR>bYhyNx%FPVYWV- zQ{#jH){;>qt>4bjjBLRV#3@`K6@?C7gajH8p%G(bMcZA%%Jjd9dJq%<#mb(Vyb} zQH}KImxt8<(OSil!g6w!3XqLkP;Sen;ZKwy17z_keV~1f>lp~wZm{4IgdlLglK`(9 z2zg!<8Up8Ge>JM7v%)0cJ97-27R^=GY+Rt-Cu(MRd_6!YhyCyO0!WKQZVL9+>@>O9 z)i>!Ao5}{DzPte?)-frqFo<2ydfLQL9PT*QJDAHfUssJqd3E`KlUnPyykLY3>CxE^ zMLV;%#u%{v3`3K1ziRgJ>dH@nziR{Gi>*zZMSd-*5rB|6JanjQh>RiztugUH{Kywi z{`rYsJl}-kz0n^!|6o=_(28&+$hE@c0b(Zn#LjM#l>NnvWkLZZuz-*S%<^6QmYz=D z&Dzt`b9TKO0uR9lOO)#r zj#6~hi?jZfJv&MtKb)A}No{Fz+K57|vW5FcaA9M8XyvX+roKb{ zTZ=R_b9aw$k}mhuX?pZ%)x%sTLxCgVB68zxzfj7 zLGbAKS8B7eKn@Ni$-t$1xcp>uoyGRx<5Exzv&=NK2T91|Vgh#WZ9SoZU(W6(q>PV` z^EdB({uya|u-v`=6%_>j0<6yRODJc2Y%=v^u1GuE? z8&{t3Pm=+-#-l^-WUOwczEi{H$rrqf=}?_@;;H{m5bT-6khQ$LJOly>r(iiDRFRy@ zZOPxr4UdVGjauZw?=@&I*z&Dy(o)Nbm5ldCXj7Tw7kI=pS$#+lFFlQ;mw=A4-CF9> zh<21h^Mhyp8V);iX}mkC%wC5i?JSz>^kv#dZ8u&h$E}Jhhn7*a$YY20>MoR!KZqmUUJUce0KS>|_1)m`R(NdM>>cc%(Shjb%IC=Jr3bVy5= zbc1xmp5-Gx@B7;y_Lm+1eH{P$gXmhg)_q?wGuNEwoFjmgfPs3u;|uTagNIA4dz)Fs z{ASLb>x;^d_Ab;>stGvvM5DF#C*|cUbmEODVN86BoOn>$7kjnnbECUx$yjfA$qVFw z>fPdQdIh%~H9md0id$=O`Yjpx2QP)HK4qrplzvjx_1`>`lPOvIBvX2LUv;kVxPS#` z8|9`-HI=bLTXZh3K;B8tLPk`4r(cKu;e@TDI~Mz1Jr~VF zN#U)rxnV_}ebme+6OmKSXtkRe5OQI7waqjUcv1zw+1bR%oZ7B{k=RUMocuhZ#-={Y~wVeW7va-(G z-6DXxSmmcNNj-h~{301(q^p<6Y}ZCVJ@d!!vuAXE@}%w^iED# z82S0fL5!ep=c3;DMFw5A1Ld|an!DTsliR|Ox0m(Yv$y^=!ASI8PC>GEB>|R1_|C&j) ztJc}C4TXD9U?%%cJm_SsDHA)uCV1pk6aQ&@rdQ_rQK^Xz*?iUB!-G|EZhXl)twuQC zj`7vRU-6vyIG-Tpx>a4H+W+V0$xcpae*jshx^r>D@~Wr4b(A>g#smRv9##iTlAZ7uR& z=ADM>Chvh+$k(!;^Gy?!KQA&96b&IuDsBqdU-jH5B=~2V7LuVN`_*8cW&w%$a({Ng zi`+40!=l5_nK>~mdV!%u9z3n_fv%DCiaRIYa^>mcLkUNCZ@z`4Cfj<+Z7iz#Ec0eE z=^f(y8l`a82QJeZBv0|MRtBumvP8_CTh|jtqFjGzz4P(Sdww8sw9KKAtITaBYd)Rb zMjXx*N8F(5rMdBDTxw>uEAW?O{gz`=W-HVpa?*2s-D3Ax50Cm#YK09cI<2BQhzUo>Y{U@J-Dr-5fcbCyv6O zaPFGbj6M8nwcIgEBa-<+9SGCo_BXGK(!o0PVnTycHD1FFKwcP{dm)-OOYIgB1^4B37i_#jT`%z`( zc=D;J#9N(P(IIbL{s^VGGoYcOmO(u}qN?-2zJ)yUIw5CQU0q#Un^9NNqfknz)3J3| zN)6?_m#??RNEUje@1rmv_0GL}H$D)?^lI*N3S%0|&)Vmh0)vkUXUf)xjdFK3Hk8UN zQ}b?8Zy!yZjT^J)D&{|?Ht*!yi{p1W1S`ynd%ZOd7^CfRTrX7h;fven6WzvlZpUY4 zF4LEcS}vwW`tp-AGD`8c)+k;yw*|3;@F0M4FMbtjimS2H(@f1fF5CUFO>he+28oYe z|6V7Y4x1mH33=`FkjiO|^T`E{H|9l9<1|(dwp#9a^_1EhyII#y`RBI`NYvOq-W=R- zepwSyH%2m8Q^(Gyt?z-vfD1`{E~~ly{e9z!YBm1sjEwzXb?BhoF>`!16QYaC>S}fB zm8GS_-4U~azP=&svsp$rhuLt2Yse2AHnoRd9}ejyhKGg4<^KXn472jZw1owIh+qi= zjeacnNT2JCbl|_nnC}ao%pVT2Gv0r9OquBLk#1yvi9Vm0=H9a+EUuAAdS{^#S?0}h zgZzu7Uvnzf%3-SAHX3jM`PZy8GBPq@B;vMiW;bDvHIc@suC9h6+sc{u;vRM0etu3f zAtE4T@(#-KXXfTwhl^=`&dsrFHwWi~R0|$UBM5c;v#k(+nv-4@j#CIJT$gm1n_La( zG%R7P(yi~YMN9iQE~I*y@Ue_c&tSfm-P-6uJI6#=WTc%8Gbbk}Ik^zF{3k+&?4ry} zqxW(W5)zu4A4Y>)#l$I0HGmcEc9xMrRisS+?-y~BT_o#ZtchlHwS-C|1>0C|h7|mx zufsTchp1m4W%Ml}ws_A+QK;3buv_Q1nDY4cG9xR?8hCne?d%Y->OX(=>Xo1%3GQh_ zZ!ZgbLkiL3OFD)4sSbm*h{pVx8I#3X_dK7g(Lqg&fdRg!J6N6BI z$EI&Z7Ur?TtD?fm#-^xS|2{%?2yq49(5W5Pr$9oACw&9kY#R@J#wKVk$^Y{<(*H?k zN1qk{Kv7LC`#$QwQbRt^*u#9%gjteCMpe~jQo4WK{hvBR%GtXc8zHyD!^8i4?;o9^ zXY4VkNyy2EO2S%P_65Q}d1Y)%3$`qXZz05b4&Q@(6f9{_&H=d@cmZ*#hG|bn8Iy+I z&?zW;hQw!ea7(-=BPb+vCI8P5m!h=jG7WK3P-;KH zTO{qWvSKLm7&zWCS{+X|e7*H}&9JOasQ0g6k(RTI3n)QRX60kd&dySVivIKcNH`aU z?obfahh?A)3Bpic?$V09xtS2DZD4V->U2;q9Ebd00#D`!2)!-$YC425xQWmD6ba{c zmAZzEOtNZ=y@P{;y?sWXVYnFipHH8E#T@M~tYuuXj{1g%1~``hV+|CbQo3(pzP4IQulx+^R4$QP%>rr)W@*_)9A#zYf;(0<&fdBm zsjvN$EKU*XONcxA^O&GoC8GMre*b>SJ(To(N&fyfCp|*i>hI;=`@i2t490&COOcd* z;dw3q>HpgyvV`)zbo1>6=|9^P?lp-Vq4DE{-=czT^srC< zz72oj{H+xC?;myUN7=RGDAZ{C^MYb*>>c6je$cH z%3yayNqZI=p`!gj8SvSYCuzK2UX7d2&L-P@^6S4d$ast2uEAGn@}fH#=yYXdX0j+p zKchI1{rkaRrOQf7Gh}Is!Ye8&oM{dN`ETKNW3kC6BqY>6T5&Y!Kr~Br3(vS2r|u;h7KtiJP@eV7F;R_j6@gc}=I!{gwy5w033kzA8nP=)jA!~$z zw5=_*UWk^`MNK%zn^#H`cRtkgNX$sqgJNTx5?eB`JHzt<-i^b@Z(HQ=YY$K7O1+@) z>!(-#lJ*p-^w;&PPvpWe3+_8RJI_prLyiDsQE2`?_|J^6I~X8FmzI`RP*5=3Ix?b? z(v9+NV4g+z^5x4Y@36S+8Z5m`IdS|e>{cVs4ARp0+1b)862!7my%#S{aQ%EGr=gKM zusoZRmrxF#E&L_QW75B$PMFw}J`K`X5CyERswpU>_bz_^{CUPBH#hffdf>vP*BJ3Z z5}3HSxP*kGw$<{PeA5LBg}yfA5oegflqg6pue&tgU4+T*2t_K0@Uq z$F&dr9!<~6Pjg~lyt*h$?-%Va6dhZA!fRq=`=LWdCd1_tDW>lC3M=8qR#X0eRuH{h zo^E#>8-2f(!_x3O{H6h_L+$QlbibAPFHsZBi$c@iTY|D(9(3C?uTGq)7VbRF@4o-z zgAd1q(?r%j`w)-y5l3~Aqn2<^PUHLTdv_gIwqxhoaY=eqG*F7fwgVYf2X)K82hdK8 zl^#WP=o@Y+XYze&8#`QV4dAi#vldQmjX8}8X4>PkHA}vf&V9jA$;G7#6KisQetvTD z(bGTiB!F(WgX2MwlHahXJURKX?bR!nFLN4?d-Dr~d9ievy4bcD;W-*DJUl~^*6YI3 zF*zNW%07$T8_?7B7}+_&aoNovXZRKe z*>0Hok6{TdtmTYgO`k&seI0(Tez?Nyw!6{ zgoOST$mPTsx^TbZH4P1ocI5MyFO$rlUKUo>PaEw!OC+Zuor!5mC}WWp#n9v}+wl~r zjtD6{974xbKb3oCrCCJ5>#*kk$w$=y}fuU3uF6N{Wz z=~9n#BIhcD`)QV+Fb?kYq)gxiTtKxVQRURKc2_QO+bKxrAZ9Th&)XT;c!6K|2)DRe z+sC)-{_&holPg}z_a8bruDj6zWfOF6)Th}^Iou;%-rJFLbW%oKw5y(6^z+Ze)G8i` z##J$_DrRaKB@_t?>0_?DoQ8br|AEsu8qk)Y9&d0fA(Yr*C#Q5Se2KkU7e2neQ=-aE z_;H>M3GR*Zp5)QnF}E(L(!p+qnU9Rbk^a|VON!cFYUxOV!^{xV$8OFae47EPS2~E= zaIsB}`Npcf*D}KiiXLB&-~0YXaO5lAQWtd)AFGh7y05@QlqrYell|{{@^mq5I$wGm z%&0SbOzEhZ_eikk{krx26E?p4QtAfW%-h~YzW=?V1wSCq?(8&;^hiK4UK2Cs(XYt#bPyXB_}8pQ|4>M$UXnasew}2pn(XIIq3hJE}2aDa;{L)O5q*cxL zm+%wUrOqV#sb01+Vk*<)Kj6Nns*Qy;gB{~>LUm6q_>1}KuxCK8(6S6pHubGgVxsAf2(m_y6XRcV?q^buu8t}7Epc2A;5r*b!|^Sg$Y zQ9AKeo7jY!`4RbU^nfCII&SJn7<(h0{+RuS=V3O3R4WDiVc04?Praj}sE!Jl3fJPk z?0B+1nOkb8QNPW6>`UF7_6&~%=V1YgD(lQd4Xhuo$+a~}ILG|C+^s^@9&bw9qPIxO z;o#s*K8>T)s$c9)N4}1G_b`fElZd)5W59;I^jn_Y?35k{POL`?3tspS4B_}SXJiv= z@c}#ITDcdGtA`ci@((@fQ3Fy8aIH8_UE;~tMYMYcyRbdkrg5r|t-l+YWr;FAz$O_k z7e2kc6kH$c24>R(=>lg}Id@z1*QTa-=lZ~KXX%s`9@V{^qY=w*o(+UltyG zB?=mU!)w)thld5sZS<#2K_qrIHmmwd$OEbO?iu!|7ub#)P0go`3y|F_rQUkjT`mNX z0V?vH-;u%1aO`9?y&|m?N{MR|r8&*P8@b44Zj^T)l3nMH@4oNBtvg<~YMiON@Bd?# z#oueRZlokdQiTW;ROgEEG)J>WIi84B%CWlOrVZT&EtdO z&uLVw5->eIO-4$pTxG}{4M+neWkEK#a=)~Ypx`y>yOwCa_4_P>w{Y#8WAE|&WP2e) zk{F(ZsrRAv`G6;L!KGf;VB{yBkE~Vf?fq{FC1>O{e`{>h?^IeHOzu=yR=Cf)@dDG( zcAY=1H@ub6?&0@+ysfpkZc$8>A_|JhNISl*whDhPBVspawH$tv_O#egQ`_Sxj3kk; zuPER{|KrS|dOb|_su*R+lf|tk1`rns2-NucUhAgxq@=i-McswvvLSl7&GPXU6~CJC zLFbE<{PjwXMds?!Va;;y)7J%s>I#nbZlAmtCtO2;CiSoyEym;91KYlIiaeuKIp~$4Aw(j%V5&_cq0|r;87roh!|anFhuQDUYUi4BBw` zs&o}{9-+oF;oWH3H9P(}B$S&rBIYHcJdG^|b10*YSMg1oZn$V}@o3FqH*@Od05OrC z#OvUq!-Kw~qE(UEjA<{W!+CLz>fJThc-3s_lC#isob0E|kE&7Hl+(Y*>7s6N7SDBy zsE;^)9L#Xu4DgyFGgwx4IbOVRlXbgkXhl&inq2iGm6nxbjwG`+_TtC3!D9#Ee$n_3 zX$FDa!4*cc=a8z>G?NBr+S~T*eQeYMrt<(1UKDwJBho4$#s769~Z5U z2CDMx)iM<*rOXnlx97^b4U7Wum`{rqcHP)IZ{jB67SNJqj)iBwH%%Z4-PO$DEZ$f| zW@qoL;k8+PA{x*;*{gd$$ASLIjH&%$!VQTl&bQaf8D7r5Ge{npT6dgNPztJ!HKH3n z940BL?%!;P()iR+R=k|b#rWm3TX&3*RX36gutn^4P=$Ouw(V1`9#rUgDl}ZSr;+NrSC{@B#CZltqA`0mTIeO# z&sr?XgXZq!Ku~)C_J4eO)8y|2f^~>!WQ9v_%$Z3$eb1s{n3AEynRjVR@0>ahImJUH z96@*(^UC}fLaWQvfB$zJPvFp#^BmdVSHEI#>Y|5a{{1)n#a!m{|Hys(>yQv{EB`O_ z_AF$7|6U8zKuElP^{sktE+GB6xg4?Wpq34d0aCj64-U#ID$rE3{;Sc$wx({OQhF~) zll2b_jC67+0{{)>Yi4HaKYzYFpfcakq`HCR9!kZ?C@|&~M}0{5_S>&ajT6I+zUADS zaR*HYQ9A%2Xgo_y$7mQl3P1mHc%i1|0(#q(m6c@jmdT~1iXDH@PVkz~6%-<4V`*dG z0Bpd(z_7Nq21id*)As0#a3s^dz0nd%Nq~=knSmLRR@!zDPO+Hph{wXhTCIk{p5~}1 zT#JrMsOdP{b33EV%^7z)JMr-Fkk7@x?&Y*z#lgqNM@_v5YM+t9DHxm@t*x!s(9nzw z4ToLihzpvVpMw2559t;PwaLt3i3}NI_uG5ByCXrkXJ%%`m3`+y^fO4ea>wU<{w$^# z8@LRz??-vrNDNmIQ+`+(7Z(Roz8^0k-)vs~aPNtix78ES(dSHnm8Rap^}we6rsh&>rBCz4xUR@RcU5ke;7OB_6)PNYNe^&m1d)anqh za14BWZu6fHk7Nzr$B_jM0I2{3g`x7$fH^ujCFMLrup#V8Pmf z?m#7#$iE8Ej`RL6;0MV|V_Yjz=F{&=DlO#%N1iQD%NYOnYo$WkH(TRFf#6`0Li#yN znSN?=5(5h>HH_D0DeS#r?YHRc%Z^@%1R!NM)EsEmdHEFDfjW1ud_lTu93KfuVh0-4 zx6dYersI{s642mB)Oo3Y2>`|Jjj4wG{CuKpN)C=aMz@2uk_lH@Mt8t!5aQ}mvFzDn z3ku<4JHWK$+Z(lV+Fc2edUuoP5OmTh$jOUn=c_kvSPzTJ1iYrg>3yk_L#o8`saJ29bw z9ZKR3rK4?&EX3#e1@~zxYHDc;ST`f=MzniR0&$s=`03S>$g{gTvIpR(L_D{g?Qxsr zp1ckXEiH-T!UuSeMs^YG5!0PPt)MZ7`FIn?pU_nRUe>Kr&*g1zZ$AM9c5fjih(R$g zNlsHrs`CukV4z`GbS0P=RIzim;_b%qI85WR6(uD*PWC3;Ad@^o=zzMP-3L7jcI$6T z4N@u(LXU%5PqbN`WEW3?lBJAVb`Z&So%F;BTNEL7&>sF`P#g)0rEAqkrsQ;W!u)EL z_W6}@Rr3i>^-AxN5xWJkCyIP6gBhujUww7IusaY4Tg|fL(~IUT5EodAtnpRUU0AFn?dh{mrWOty2uLj#`wJ++J4v5 z(`)ltuQ?m99)xn7a35Iv@ZBB!G_~VfodOevj~YJ9WrF@VyIJLi*QWX|Bmn!flzM5h zBf9mS&rbGcRcN7!gt*&Y#l(<^(BRR}x9F!ZOd|;}L?7j31v9Uijg`w;zg!=$5|3n% zqp@1fE*XCJyt%dVS1nq0GO6QJb)wegm*HY;FTc9WGq&vQ6dDrLF~O$h0{bCT=5_VY z<8ks2Wn@0vKRWU&{0R9fK0ePPxv~<|*cF>yX^dKBxq~n!w(0?nDlUta zL8gPKkdP184Jarfi7^~8QDQa$v_mAP)!64QSeI9AxKAMv9A6GA*VXP2gFo2LLQj{ytP;mn)h6BJFoa3erdY_t@BW z08fvw+3$2a)e?{XHTjN&hPqi>0t~hb$g8xqEqmgqbK3t(%Bq8MQ$BdY)Y|o`J$1lw zN4W1`VYP(QZV*EE0`UmC{Ghub%Lr9;<|^j{%Q8tN@-hzov*RtEwbB%)6lFk!(Uyhs z#8M4+-p8?g|GX-``HR{to$ltJp)z+CPLYldHW`>&p-$myV>cghB=mKW^%xerMbOQH zFzH=9OUuguY1f<{8fmsm1;@u{UtjKOh2{)lZCPh~XQva{CF4tzllRbqaG9n+qg?J9 zA}gOqkBkLTW?RC?v{Ylfz1M*QoSYQt{?RV zHh5RW)(L-Ka1#tpZslpH4k%F-8$&JlHD(SD4k$!Wv=SeDuW~$z?iRehJU2(NYz_wR zY$M1`w!abtdy|usi=C$X6g1@C2x+?{xa7>I@bcg2$$(9 zF@X(8Lp2&^wTK84GJaih?tYLdW5dExk5o3xK{8J*+WhNRZ?NCp^7X>o&+Yih0k#Q4 zi=A%;h)`XCT8UILp4$fKX)x<8H&4HO`2sv8X!}5oBL^Jq_d!tIQs7?jvqIiPK~Y(G z*!I~wIG(@r@}lVl7w_Za(^>!!W`TKTTQzL+`@FoW(Ggg`wzp+Jrw2z$0EF7=m{Wad zc=UlBZ1&XjwA=B9NSS!}Pk*qG5V&Yc)PaP#;E`P!5DXqaemq0bcJ0dzYDM68ynj$P zFkpAEIa_=<2#I1$`BmM7REiZ3Nphp>*Qgs5h-nt zQ5zG59DjkP=YM+6ApLCCRV=QqZlOdSYf(D+y+HKTw^(9qL_2Ti~UBToH1?#KFMf$l&L^ zRx!zDdYQ(tyaDz_A=*vmZ98C=PBr+M5YXCnz!r0zkGF&75#c;`Yj?)_0-h_)#tdqT zyg#>tD9iD_($dnaS1*4F@Ld?lO?0MXVCZOXH*vB{q?Z=lTkGW!;r8{t)$iDvE|!e8 zDg2KE*^U7#sIK^e+Mk$DSv>_oX#rMyO0C=JR$|bXdEn1nzkYq?H~`f2=^V4t(u75q zUTQH%hjmkZ92`_Uik#7r&#VQIxz#hJ5;I&OE?eGpZ_JL8k`m3xLlCUyNItvA4zuaE zH&?(L15pQ9EC=Evv+SeDic9&mV@9Vu+Lo4{wNu9bx-T ztc04QpLkslnbkovcXh2cPAfL!D<)T7o67c@Z-VFtB2189$bQ2<^Mb1vo8TTAnl&E6 zJ8lC-#m~}Uvr5j~{1@2y*@lQpZm=~7BbKM0MYV`sSyg4ibXlduluv8d+jh~q9I<0t zxAQdXj1Oqao9pVHlsz=o*N2^5A{A=B|4Wm6K8n8ok-SQaq_nzvHE^VlcC@v%sZxxA z1Sn-{lWDiHx90||7=#VohU}ZV%T6CSm%t?!hs_xr4QGpqYL`ylEq_Zc6?u8vUq2tg zZpC0yzG80eS>O#li_Ui~C;L#3DG33>Bam|ms)*UYrn`&QX8TfQ9Hnq5>sgx|*AMqQ zmQS=@v{g#7is`=<@^QVWzK_=YipYd*SO{@~;R6(eobmIFprfNBcxsUSgf!Z%TeluK zZZAOXg58A6fIjQzKEu@Bv4#en)-dYUHzUO+;t~=N1F%IutBp~bj5Vt+Th6Jd1_|-v zbs0Ii)XUg+?%bhMDiHK32{x+OY^7~b0?Ua!h>zD(~>NFM5xhO$sB{T;B2D#n6} zii3D6;X1EjX$}RN&?+e_fBvFCYq!UBvrG-_*Af-Y<9ix1t;7J zU`$~XTh;Yo78rk_3JS?O6gfZ`Yguz6FPNmwlwU48*&P|lImXJAXF)KnAY%6|?TIJwC_B&YD%DGo*hSupu2@8%m}fdCh}*H;>Y9sE4bq*fe!fy%+j0J>f+ay_ z*5!_?cx2GL3j-3XD#`R593`+iX?lV1bb5N)`eh|g!K>$1f7g$i)1BP6$mrO7ED+-g zoGeNa3Ej6gg*H+Mi!h=l-{CyvLuqV4{}D!kLA|ncY^QluIscU>eX3xEkqYeT_s)-f zGO1{2F!f0H=97i|w8I1ST{pn4LJj8g zw3L*Tch~WfpMf(1TgA)Ar>4jv46L0Y>=2!PIA$31ra@mMG9Dh4GWk%VEkt zN>_JWB!^%DN{QeEa|FvAswoTK7d}#24WoWB1Ekt|Z&NTN>jSwH;9qCCXR8YWHty|( zXNhLk!ofl;$&2?*V8nwPe-?k2P{Cw*QqsfXEyw^_TMB4GuG;vv{P2uUXz8UizprJ} zuLOoUkdhd|%ZCPi`}VCiM88PcqS`QZV7cb()QQ|Q$!W$07;&Mj_yG?mC>ae|SXf}S zd9d}6!ohLX#vIxaRvyz+Q-}0!mO^XU z%v`#=M;MZc{1BgKe-CM|4G9ThMN1@`FMOA=3`bpe{-CcYni8(5+RO{Y4mWOJMUJ%GQ@nN4>_lo_Ybv{Az;y#XL(Jn}C1-K9@sl z@R$&Yddg)o!#aY473_uc3|m*^r@kdfL&QrefEoE13C$QY3JVx1Vm)=ts+{kX?*Asf z#k~-KeseTH6MOL@MfHM{y}iAoBN%)~2Z!_Qm-`EI8=LSOwLmVo`t}3Bq{XNM0|T+` zx)1{vDQ9=!@biDEoYZe;^Y`Zd zFK^AX)(25Cu*pP93d*fYfBz$3$$rFmWL*l2mdrh_t$oqp!v0=F77P9u%Gt%V4KP-` zyu8Lz5XGy|1B_2csL);hL&)gb%DhLXTK+3}dnX|Qr7sJ0$=E_>YWY)hyT05!(;S`S zTb5pNUC&%sc93uPolh}*zPl}_^~-uVE?3CV0Uwlcw2F}wpWORnp zFN4f|ZjD>H9exJs-paReZ#~zEXT`JT)}l0e;e>p3n}e!1BDpG(?wdWc%XB(HO*_PK zG)XeZmpwe{$;X`MN9&QgT~Zf~)HO`uE^soyTc>r-xq}rs#Ex(*0K16ePzg%IHa%p9!lOgqVsruEix>5uW*&+t!Q~BC1BE9Jf)E ztt3P$Xf66(&gyoxgGtRj?bhsGZ{NQ|j)Y`g|KSpujEqdV%y;OSd1_#8ZjJyuE(uAAec1xSu^AAdf=KBb{<9N?z$Y|-z+nL7=mWvzYW zDdjM=L;W8Q<}S%){Zi1}Jde`}+KG;-I4_|5ivC zx8{VV{VpxnPCnKi1#74LC$#6%X>KF6Pzls?>x&}72Aefy%<{f4UW z@KlLTsu+T4#Y+Nrmc{7Ku3Wxi>w>2?*BHKTI_mOFj}>(ipaV{qeiN4WkNYHYOYr7W zUbZK587XH?ZT=`iS85snfIbeVXGKHQNmJ5qp455G7pu^iCtKoRPOeCHyCqqO1lx0> z{8dBy1*OEAV#~2L)hg+XANQW5e?J;i6Ez{z^KUR%uih3_HVqjcoGXg33D%KHGdq4c zmUiOFotg(J@LQOcC$)O6qEzP=10IJn;tzUTTl<*H0+gS>s3fHv;0Q0Sja?~dbC&5z z-Q4i~_#v|}@QzDGp?-h+O)R_*-HOOccL1xY2FAOK#k?b_P z7A@_vl&Xz-5x_v8UFB)uJKXIt;KrC9bN zNm35WLQE~$j|&&@<&qjrJ8^BRzUT|ZbZD29wq(%K_vqlDJwimB=NBh7vv3@3dHkZ% zW(}&SXaxU`d%jkk0tq$EaFvRkmA$(;;f2r~31us)vFCZF-7ZR2B+8t$)rG@&#Z^Fb z_$3jwm)@i+sPaNE%KAvaes}RknE|c3nEh5hb%g%gUrKEQ9WvO@F?j_$)bgF>k2da3 zAmV9Gr|d6FTL76D|9$9Pj@D1owLvzDUbHSCo%T$r@zOkq1xP%UgA(x zrj$zI;@rnM6fCXbw*Cz71w1Lb_{f)I7s?am`A=)-UWMY?E^8!48J0*rJ5s1I^zlWB zu6(f5@ewz`hVlolHKo-a0oi{%^w)2t*O1dpJ{1@DpUNG`j<8K#>~cA(B4;3FvdG%x zb*{yVaNQ?coQSygE?HE4zdoBOV$Egjluc^P>gZBX?&$kemSTk;U);#f;o9rSOj&ElbC6Bc@!5aYh!A^L=fdg?q|3v>2zwhND} z*lc3FB@?_2;&`cMe!*+7D>a=2<8ios!+u)z)~}DWqyt&h&0-U&u@>1+c9Jr+OkGb` z+j>t=I@wgvu?UKkV$XK==Qu7+L-bGZoG3a%=t4o!x)yf$bMI5-;-M zuOF^n!yvWnXF)H%+)KHn~Rq!pHkkBbC2C`b-+})3pwV9+$ds_9RBHw z^OX-j87_mpekv-O?-mmsZ6LrP{PgM5%!@alL{`^f;$Uz%Mmw`fR`7-dRIfyqRiOqH7Q!gtsi;=0;<)KXXK^ z(#8DkJf#RX`Sk*LJ%sH&d4Y}|Brm0cWqzl8+YDXlw9`?qn{WM#3zw0dm&LH$%~8*s zYfnoLe6SLNCblFang?UjVtYva$t>4=XA239zxosR+?SA4jSkV|1;p2h-QdvZht1Xa zaViazsN<1}#uBTKkKeC5QXDX(u+yHz1`yN?#%FS1n>a0g8=b=H?6^j0^B! zxbFAC_&$Tz{_zv|o+)U!EdBT=FCXCI&wGe8DxUJFE9ztFr2{`TC!ur=f!PN$l;_Y8 z423z>&3LBd@R=Fyqx36RuE6q_okQTLBAUmxdS1tj$NgBerlz5angili>Q8UuEl%`5 zi=Lt;jGpW|B|S)_q2T>u(7)gz7!si=rm{EGF3Mp?uP1o+73rRJ>bt#2->B1goExYp z?~&!Sb%?MP$i26kOSOz*9=ZDKrjAG6FMmR0e$dX+p9(}EAxghluk+&&+?spcT`fVg z%mel@SUC@DpE-TF6iFdbaJ?uvq`HmCQaEn(a9D+aCGZX{nFy8t;pjGcg8KFxRBcCd zlee(5d(4O74Ja~`&A9F_BrCv*Ai!b5_bsee*&8NF99R6Id(v%z8qrWFFHqxH11k6O z=zfJOOmz{nou(~(i3Vh?+uUt#MG6ZLyhfqznpZu+yXx`*61em| z%z}-9*3&bhhTUOLl0B2z{N}QxDaht?6!|l$Ye`R1x!P24PRzUG(8F7PmC?$7Us5K1 zr%N$5$v9wqVrf&sc-8-GmBp_3>3FdDJj<3Pv0A(q-SF=4^oY8V60dH;=XM%dQI5_) z(W3_ngd_Xgmk46#H4@5qKlCr+)uwmGZ#QhRR^6M{@LNAt*fOqIrBRM7*Oz$I)=;g& zKVQ+e9F*z&~gylEF5~6spU3yfb^xaHMi-%;+?{IIU`@ zel*O{>I+QV`Neq$Y{6i)i&MpxS=lW1!C+Tc5^wwW?|0&5S`%>^x78v_QQA{|m{xI~ z2NB(-j43SMJ0Ge5FD)e0@KfS9)}|wqn72at{`#++WC{hKKf8LSc^v3B|_rzW6hbo>qAn~O8|6} z(K@tVUOr41MJHB0Hpur**g4jiYs^?x&!8SY+-uS}YPl;LN__NEGZ~3c0YF;Lnjwqw z|V^Do1xFUb#DmEsgPBZ$GRBHTNWp z;aRfe-~S9S?tMi3%scumVi{V$!;y3Qd4ET?P)lzuU+g@tUyu69-7#jH#lifG4>@ii zYJSeIpHoTN+;*%tiEuB(IiYe)L`Usfdfn5SP1eYjJ-VttN^cc_#r?LM`NK_M$-E8y z@gJdW7iHPtCIb=<{dCKAK%(ift(mmNC(N7oJoFygZx7PuB(iBaqex?zJB!W4r_6SA z8y3C!k9r84+f6Gaz`(fsN{ULsGQvbhMdV?q&fm?VD?87Q` zMv{QPOc3`R>C8TW!J#^EQ#y&`_rVxxn?GAVb71-0bH|aVgd4xy-r2bUtdj+%-}mjV zZVOoxI6iY>+`5$now5O-P*pwm2XUg%>=+Uc-(GetT02&aYcoUh>1*59e-}YKH0v=e z0)*u^CA%K-w1``S>tQ4i>+KZ{SYxK9UJVUW#S*pW{pCH^z#G2rrJ7=`Auz=+B@2g9Tm3{Y` zSI?h+{{A89hk*0`UO&J57l{Mu|Jk?OBoJTh@&ZZ^fmZ?pmYEqU1w4CbFpVJer<~u` zSKr?^xy=XciHwX4p!1I@!0*)7)j8QP{wfyVpTm6Iw_m z-QEmcG@4ypq)u!NGJ-y#ko5tC#n#pqA|`F^kLTZ{I{N$hSKC@zl!}d`SF{qKu9wJe z^pWvp!g^?B)YjTMBlz@bGnB!OjVh~lL2esApbkF-%&G z(0*4{O-%@$kl)#Ub+`y}X^1?a(E1QG8dlGZyj@mS2DwXMx?C*ng48(N9HbMyuHymN z)oY43+lB=~Oxp|H@84q{u!5NF`9m_u^DTK@K>GTq`P6C1&&)|#L7~KH&s66SdVtr4 z>>nOpRVphlpPQMf+@JD0+iw!k_7p;IHUS7y1F-J}IRG^f8cM%@MR8h?f@Qf3@RM?O zKhz|$v-bn4ZOl$m^8R*lG~iW`+>La#SOQHRxkL?s~KeiF$q}CJWffwcmiEbG&Ni zcH3PG>Rza*sDf_;d*+8e>n>x9SubRaJ$9ZLCAu|$NO1=>Ack~wgzUyq=Jt+Nr@$mQ z0{{TjG3XMZ3HsR-PL1LheQ8zIxbrcx#`&EChKg1-SSk-6eg)a(AR?ZK$jJ2Xoz2a` z@hM`*uj}5kRRS&nngi4oPT`Wzk>WExf0nuU;p%nVt|fBFeQVHibuXoMbv@^LkwE1b z6*+sn4}6Xj=mm}F`7O@_1sPY4g+0W`ObxF4|YX&`Q3@y)HRXHuV<=PMKi$_VV^8VM=+54hUW+r`>=-m~o$5gU3aw1${eKyu<$J<1Synd6RO*<+pRIC}(L<2!9`!{4`m-guVSa60-fT+=4wr)v%9o9iWlINbe9L9aD_wpRp8H= z4i(G>xgAeKlRdDC+KKt2Y6!sr`XR6Tk?-4vbIZtpGqgOA>$cfK3F{y@I2cj1U)F)> z9043AB_*Y7vDS_;1RKM$8a#zeRe3oS(2$N`UxO^>V_azfzB$2*|>AB1V>A> zCfjqsy-*LI?86TsF2I!4y*EZN8x$DHj9R%7 z9=}$QS^eR|BWf<=!8{-*4eLF^<+V2#6Z4JB)A4@}_HfjqiKyV6O`X>bn0ByB(uX_q z?Xd$6n4T=k)y@ZTTvn!4JN@s79iQ6HN=7{ZLQS7*yr-w9!11rQE7uUL6O*mk-VxJ^ z_TFBry|ppEMN)ugE$0D-)dq097XMj-0BEPWkZRc_U; za+v}EaDa*#(`NM{cy6=u9$sFPbo172xxi6dV6{#<2ac#YcGe3%|dO#(HJ;6?wS|8G&G;b4zwEm%MRvZ zfd@GOA~$lG@-5+`HUnzKDDI|yK|zVU4h5Kz<{-HN%diTZ@9veG#Jm{;%YYd3A{dPa zmKZ}^%F@#Jc*KP4TG&Pbr3Tofm?Geo8(rtOwQSA3UcH0s>8q&YP|G(<0~3lWi#tYhT4egSgrhOo|cKqn5t@_b^DI|&i)ez9rI2u zb4T$9n+`SeTmOuyKDKKLDw2K^z*U8bmrxJD!}e%1iz2y#UDZ>bfrrGy!vk@sc$TWW zl$7b?&~`!{A@2wTEiic0Qh=<#($ebVs#yA*sm)hFz*xOMg@|B4&27TG?#8gxWIQr? z5O{fe7;9A=pmZSW8m9rllWr%^pLBOe8sI8m0Sl!dLFq&)A}uGk1Hq5}6D&?5K1W$% zHK*c*{_GK0oATMpHo(n91UWLU|46hTBw|ZA3}W=}tp1>9V8{t)v6hGMt)pQqaV1-o z8rx5Z0=D<QRs$@}xD)#Y;7TyuU>~0BkAUie?8uKolko zgk}G^dwHPePMFpMKkVz1M~8>7t&0i-fT0oK=a)&az{W#W0_VhP(133YBLrm{L_7i{ zQLxD5^z^F)@1Qv=gKBATVr>f3o40SFtQ9CAvsp&Y5l@tqqHVECB0o^gEFj2fp)E6U zh2Wr|lTO=w?0G1}isl2cc_$NaTL(1Us`{UyrVJYwfBpIu7)m+nRpl8O3*bghA;wuI zlmr0F0Vqi}1M*5rWwxusE=Rkb@7{@LY(hX`rma1L(5qK|3VT*00DlLFr4$qt<+k{f z%PL!|yr!e2HOI4zYsUl@fR+wbfsa5qM`D6P@5ICj`}Gq?!1n*q4txhQzY4e?Nm=)0)$EMG*kgQj6)BFIg+U8gMiS z@7&o2!Y(oBe}4S<5!jR0IAeeP`UPRDG97l|(8@5Azv{{`mh5uM&w8KR!<_i5`3jf^ z-oc%Tpj{)*e=7lm3}Gv%^E1tSmj3gk?i89 zz!Cy3D#Tb|?TVsd^1}~?hK35VVX1JVB|`Ua;QGXJnB`O?j8{3eb-Qe}b3n5u^PKb| zo0UO}(NYUIzXD}o6W-N%9Lvaax8el$uec2tTH7Q;1;Y^f+f57%a3Rm_bGivK1^~|6qF`%!CB-oS(z=%jMUZ z-b{#ILh4{d{c5za4-!A`JUtKRG@V37h$ewi)2G}S3_SW91iLV%2&R=A&>f3-FFAxY9BnVA#4JGgI$mm#!k&HQ z)!xd`R=U86XslHek)5h_x6tsmoPrv;O#v)R7kW+PFD75c54pzKpD&c z&?!{Z!%gt;r6yQ*SI=#q;GCICzh(ZEAv6{@4hAeDg#o)_wL=h`gXGVXf5>D zF@*oxfgbZfsTBY=flsTzM*Z!M&2-6lN09%%4@x)#cr3b{S~-~S<6tcn=(NG$P+ox; zKd^jqP#2d~KlrjEIuUnRRFr+)4GuU^P>YnD6?}jo77;fCAT6KSH! z$_b>0N4-NIfUyczqq1^Tw-5{$aEPEH-5OfK@&$GRflY@w8bLea>pN_W0#XkICZL^j zUi*|(_VoA1IQ4yd5B{TmyxAH9N14pP@EYwmd7VPp2c?>#dz{((>2ZG0cWT|uI!xO?{@F(m%}_)~YQ zG&Xj_8$tT)8aA%+tpeL)=oI47*)j?CN45)?{dNy))((5O*qE!2x1Vdq3%xzk;7XI? zTNWQPYh^5ylN-ol%(JThsd-Y)8MN6PnMh2R>}Y-AOAS)b>StY53uUKQC}pHj{i$fl**>=|@D&0&$-i}LBdm%e`b?FUKV zz{+Wm(Q>!h!?WQ&#B7#e-MJ&Hs%o6Cxb0X4ZtMIR=00a+1UCxL>f6h5BG0qUsK;!~ z7Uwc=e#t_Sw)xDur@vI4^4a0D<=*<}p`5VkCoA{~sr1pZmgy4lL)Zr28>j1_O|gE@>48q@^3)^|&|N{hqJqT-W(uXTIzJW}fGn`(F22>lf?O%d-Wn<1Kjx z*P42ZsXcUuihA5XBl@X9KM3IS%9l$9Sf64Tk;e)zQzEnb;l@(9M&HEG-gfq)uKta~ z3HP+J+|GvFd9}*t7%U>FZrpa$7A9yJp6x$(ZALYs#Ks^JE9X2L5OVay+QQ6~o)HTV zrC_-Bv`S|C8y*Fqj@gE|N1Rs`VGaI|5g)ckS=n@hr*7&wn>ysga{T%aRNGSTkAHH zhjm%a%xSw7>kB4xiLJlR@<_cEe4O~;o&P7^arI3HN(!!%kec#A8|*~(ul zYek$o6GYN2_LcJ!hro|yPMmNlC3e!pB*!|#N-)zR%9o~GI_Rsv`|gZEyv8-EkUjrr zgJ;IhwH6@pJx+S0(y6_vsk5P{W8dYUJ?)te=Q=e@vSeI)63?!?(JbG}_oG`GJ>}V4 zxT`Il_CDlY*t~OD0tJoq84ouy@AsEK+pB07|h(#-CW5;yspGEJ3y_I`U5-|%U4q=DON4u{e) zCqHlhY?6Z?{%NPryKhfZMNMU#&%1Y@E$s6-@sUCH?v#%n*~Z@f-%vWM=T5DvzKr10 znP2{}S9$!J*h5hlbmMf2M~b}vCL5_k11{&WCKspzZX9YV{JJr zq|S>MIG4K~-}(4_ugdb}!0VdPn9Z&Ho^d+$>;X5oJ+)XS_LBImde!w}p_Se3^|>GJ z%=|1XXQYXVInh7LK8U>7tG39dk<5N%lHKHT?)RSh``ZTZy9Kv(;(MQT#_WE*dHX{7 zNeNd#Y~ID<=rDMX4+N*PcFJJj=9}T zp{6d|udiBraHqlRte|>${Nw8)CGTVQKDB-P=+}T9*}VSGXCeQ1a+#l?Z0E!p@r~s! zpHG!LSu@4suemK1^~9wQVv=IzPbp@%g7%Hkh=nD;H|>sklKT3n=9Ix0SHrW5;@JW_ zwn^r}HW>>?r4-`?6teF`ToVhwm-L_azr|gqu6(SfLHq&lH8!>ID_Qi*i{uj-YU&<+ z&$xP}DvnL3t)D76AOEiY!@ACbckWn@7E7#|9=qCr+?UriZLE<^x7@Gxs_E^lb+kO~OA&TTHzpG5(>7xH zqI59RLWx$N^*%W}qf=7PQQOC-Wz-_FX(Xo+ts*|M^Y%gRna{SQHS5E3LeUqcYX`S` z&qq%ZnmA~+;;VY(2DTlpL*xQ@UK9w~WHYlY2Q5ZD&1hdI@b&l2WiUwj)sc}vfsVg8 ze9+A44uS`PZ^<5!@vl$igl9|)2!7^Q&D|-iw(PYJ$17d{OYGmu>tq zr1M2ZcHfU{7io0n2!Eznbq)y^$}fH&Z&)R;w9Wdq|KNkeZ1sk>A9?RmH_Pa#$F+*} zz`$$WwbB1wt9Vt}IUtBm6cKh=&AbV40<#kc1!;mHTROB_#KSAQQD!piD}E>`L9W*G zGc{z1e_l^m32FZP*Z<`oF9U9fi2*X%;lT}|Pi*ynNn%9c3`gAqTFAe*@&4t9heeDV zcY^-kN^cIomj6+C+ZHn%{S1{O)>ssD)GYaQpge@G?h!o01HO*KUcf(B{(c%X*C1Zm z+ua3{^O{RFX!5QSBkOHGXvCTWkQeCm9Ns0K>0JQUpxTSR1GNKC(1GOQCY~l83}3&g ziLaj@*#BeqsU|Fjfaf_h6uUtE?_ajnwX^`gx!JhHOiTpG%24BWSYUTr&>TW{EkZ*n!c)`TajEl+TWCvp(WU1kG@Iea#3O2N% z8?z3IOL>zkMmYvV1RBs+I z|MiUm4tUt*@E{a4ki7Qy>%Cy8r=OSJKX2g{Q3-h;qUmdIFDT7eg$50Did&SWzJ7v@b3(DV7(JtXl(dKUE$3U&pxBlA$d7DL+b0-JumVcegIxu zyqDg@z1uh9g`N7Q?VIh&%^rFkt41`AfJ$&*X>4i=;eskibKa}^YiLOE1Bd2@R(=tz zrFo??t#_51@oHahmd2xDe_2CGJkz6)J5gY(B>&yfkZiB@>fOD2{TcC#58yffl-@dq zI3y~n|CWXqJsVpq08UUyHtQ*txw?PU`mB~V5))lD866=zuUcI5hko`Oe#!mMK8hDCJMwiM7ylpxFAk z>P}C~%4Nc;Ws=BOL8?o=)!^5B4XrVR=?>bKMF(uOTR~?HM=J7 zEcrFDoj|60+d@0W{0!A4#^WYgB#|+_*?2F+wPysqMp!b$;_V0HmQMG#2j%G$3JU*f zXm$$YQV1Lu();@53d;|YqN8PnusfNgUn~7NK-nZt*O)#dK0mqOa}h+8%NrY-t?D2! zP*bA~f?5>BsqqG58L7=F%3m5?qz(!P*s?6%Y84CaWRN&oG?=hV#TV9;8HRFCeOTSE zK0PYRR`OBbvgvENW79%vv@)AtP-eACC7m;F7$-{<<*=Z;^PXVGH*M)bzBY9<+0{J< zt5+7cZU7|V>-)g?aBy!v2#!q*l*>)$T)1E7V;eWQA z#*d|E#7@fo#6tF_Po9*S=L6ygJ3VVOh~cyT8WQF8g)UX^X*$Bgy~L{dJjuy zKe8vdZdhIVcw}ypO_{@ms=nf2B;YlD>&%8KQ@p6<@E0b{x;iPznWN;hBE?p?lpIxG z?!M|c;*HWWR7wqPEk>6j;L;_cv4!F`n%U72vV(AJ`xUP_ez=HP1Px1ad-&^x*faXgMm56-ogvx(JpEoK{}fqm>W?fC#(c6syg;5+bJ|vTC6in@^^nk zJt*^)n)6g~CXx=2kX{qE8feqI_Bz6d>yK3m9$rk-$m=fCe){3+{m*~VFwakZ8sgi1 zq?p_kUiL5~zni7xbssx935kY<(%kOa>{P#Y)=1oTZC$F3YK@S_ukkp!*=Qlh8>^@K zb6y!mTP&aZNWC+w#$sA`jxnuYxH&bQQl*H!{NnNQz)#sa9EULg{>eisB84HKjDLJ< zI4*-SmXKLFH&#sHrVhu2wGxj?r}*q16mg3I#GER;~UoOY|OddEa-tJ}dcahlM^AD}LN`Eq0a4 z1-1}Ve$)C5g*a|k%N%>7|9nW#t7M@>yzfl%>C(ZJJW{a-BJmqB7ka9^vki zE|tb4SRP$Yq^R+>YBKF|rLy6igkIm+=58@9c`pG5 z>@)lB&0K_>`k-QEKU=ix=dOcj^%atbpCy}~_OZ1@S#u5SKrK~$ zE!*+aV(onX0h|j;vYM@io4v!)32e5xj&JR-+xP4!V%`YZNalr~?tb<1bf3{%QJbCR z>7l1_akd-VUPaki{^Jaiwbepc0i*f7mA<#@zDkrtO`iYB$UR~D*F~$3(k3VUd}E7j z>sfM)&-dp{E)n=WbyNR{3wh;9*>6UEnSa)Xqvnazu;AMKuWs|Tz`3J(cMXSk)j8OG zxwkX<2nmIa;yx5vRa4d7KiPQ@e&RuCOc%eH@ZvM4_6M044sRC<{Fkjc6&0xR1VG#1 zfN!n?Py_f->UKuP#tVbk+2Q^dePK&|Rg#O*>Is`hLGAwb^Q6hc;hS?ub2d;B?OydZ zbajk)CiY;c;e6)oS@i|P(uu-#V<8Xq5l|{z5&Y|ajvEHhGExBGo`ZVs+K>l_>y)PX zj|1})bKYBPm`2o5<6~a+ivIc0nQH%b>)>K<*=;hHUcQic_G%KwgQiUn3@)FO$&W>t zlJYaLewz|>RP9=^q3c%&AQe>k3(r$3D>JhY>~X?em3&j3srZ)$GePAfqRIh0ew6kCkI$xG~Y~Frg z>rR4&N?BPMG=-l(KO!it zZr9`jwgSKfO8l08=F-(#;)trH>VTmd-slxpA}ec8s@$gvxejV zh4uN;F=J!nbL0Ydd83BUlZ&|61G5#L{0=}Elq4isgBsS>3qYBGOc|4bhPmKB?}C|1 z3^J9Pg`M3|^z4~4;p)(f&a$)pQAgl6uA^q{0bU!|h12uyT5mv}2=+x2eFme?+4U;y zXZsZYi36U}Ve~jq`kL|P?dWj*wrTnX#3e|PUY>pxOE1Ovd65(bJmuT|)!`5nkU&OO zfcNb-fTR0gxZ6`RGWvJS-Q0EoN>;B#*I&^j7qESA$=BlK0tN;`_yF+q*Y49rTp}iZ z!Y&&|(PYR4-b+mqkj+&%&ZB0nMPW7={4Ma=Aa!4kx&`S@5QWHLF8GAeOu4PO8J#Wx zn8mcckeNWlmioCaEfiQ9v86%wqXGr84bn26dU_5xK082U zn0PCC^X9I?i-<;1`^8ZaMn;)^;zBLfWpFq~CMO^-&(B4uysit`Yx^vU>97|Uz80mF zmX@xYo0*vLjZ zD=Wtf(J4bQgMXH^$K_fvU>~4@hx-N(MS#78rdmYYfw_#fzxusuynl8LWC0fl ze!|L{JE}=1Fp{TJN;K^xPu+(AzW^%Ex~m`g9wfG3R`(9U565;V`N@ExQ(_V{rvqOg zK)kHn@y~1nhL0ojr(mH1E))?3EHLxDyF><9^N3@MQ|$=_-P4F?4MKaH1RQ7)6ptZy zD=fZ4*H&3qxyg*}-*Wr)_m>1&41&`JGizDE6+!lSgV1Cm7 z!eQhYfHVRLQj(H@PwAnjvPB}u1|X5N8m$_DrFX3`_ubQjeHAv~yk)7gu_^W0+#sG< z4Ys>wT?s&a+9U$iUqCU9Yt0zQ*9WilH=~22FmhofA029dTPcVRmET)k7|}WWlJNxr z4UfD+HU9-}1wS4|fSC7Yn0;(pDh9I(q%{*4UZ6Gt zDG19&fNBRG-Y?kQ=GTrgO3QsFv#FxmIcPE1SBa(RTtc`=i#0p>D~X25P;8H4)ipE# zwO;~Ed{E}X?Z8#AlG=q|rsjV+NFLU-3N%8!+xu;4a&mH@rrHPFmOU_bAqE2(^NNZg z5wOnky}|;D@V8*Not`TT+bs`;l^Z=iMXsIE6PjD~Od>3@t6Mx4#%~auK3$^43Tz0I z>|b^a7SJb0*XpzEhzoY9)mx1p_5$oN4-5>G`{V(TgguI;xA37kJRWX7$7ss8WGKiC zq4RRRAv6OFMjRkDMQ)}&-<#79u_`S+b|1xMJq&_;`mAzlJ@L_06bkKJs?U{?zh8zMHP(Q7yX z&DlvVi;dMacHHbN88I>AVmhmS&iO-vplL1UTvA#SX2JU_l)a>u7Og!V4v}GDs(0^R zASFd@m>B0t55C`69OJkItII4TF!QknvbXOB0XvyO#D&K!1VHkP)Kq~=5rL~%DZjfW z6uNgZx<`O56Q$=k08Bohx~K!q21ta!KPq)6+}Z~hEXF8A0ojhQdAwEZT z>54$=a9tQK|J${$pk_Op)dQf?a*i{nPw#Bc766?obKc+59zcF{|0WPOaR*V(Ps6W}6So zh(RrN^@u(_iLm7};1$T@*;3raYQP_#90A@-vSBsru~O03`ID_~Xu#6R$cp8ed1o&) z0$T!jp;7WZVi1C0K{RuIm4>N13U68`f!x6SIbZ}#zy>OvY&bYLn5L(uoYJqHBffFJ zGg%VQl&FV50t?A#?qqwGD@P9z$Tbh0Up^Tl&r#h2hReR-ZlDm&C8?t;A8UGI;0HLh z(YP|Q*qcgnx5^UI@hhn`>a$04$nWm1Q+!xxd&VlCtgud&4yY*RC&yNxHL# zHUe@Hh$st?*A&mO9uXdDnuFw03LV;=BB1jfR_&NajXM8XfQiF#{Q$pY{}izhq(d9 z1Re-|Sd&8=MAt;})(kKbd2DqYcr1`eI_!j*mOOhC4|5T;FQQ1j6im5ER8z2=;V1C$ z-e$pf38x`fNNlW*zJ7iy7zXwLE0?sSto|Vk)bvK%U+gS;B&{9MH}5qp47<7qYluR{ z@af+%HT_v`az9QT`zcyK;u?_Pe}nEQcv>66wRH^N#Uz;W_k1 zI?4dNFUXauvrfSGQENB`^vee&14oV=p$C2+NW)DBsL&QUMm88aN_?wCf!w!(iTwBs$YfCT zn8=AfuzAAddIMjl$2>M7qpO0QL-rX$G{T%i^eXS?WrkgvLg}!^4WBl5PYz+E4AoV|4jA+ZeSP$k>-WG$F^)tL%xB58i92$ zP2M`wi-?S@sSgBzi=t^ajFcpU5NS?b&H_~GUX9qFiLF7tz7=3cgmLYIWslH@fUN8> zQjcrv0#`-sl`OmRB5=+L*O`GF7SqLs9j=4(Xu$Fv_;><=Op2XuF%jKkVlnpfpPcO0 zPzPyI5T)3{?CemEW`RrP)8M`yINId7i~FRqnHU-G26pnyoGa=qPGu5iV^dsL-1(rx z*7aP(ur{DX6ilqs`hdxe1JOux|#5^YEk2elYT2a@^xW%3lKCMV6uO&g#8d-O{}E}bga1FiS( z;$CTQFvJ#TGrIC)qoNotf&a)F>M<|M;NscK9cY@%sI$nK|0K7tun=S~)j-^Z1R4H3 zRBIE$k}zmK7~Vcf9<4iBZjcLb{m?vmk+I$b7((E}GPdSu3%u~tMi1sdPM@;EMz97jx%rrs@a zxU%QV&)owat3&!bZL6Bgjm^znuSzqAVotS>(=DApj%V5)NFl-;w6KoNt2g-n*VNf- z?lA8TidP!x!0=$lFd|@CJ^=>zv25V2arNfU!9woMR_A&QzttYiEuAC^RS__j=epA5 z!9vlTYETHY2p|g?v?a1TI?*6PL-WbFqzNe!aVfVJ#w{X>hUSae@)m<(NLu*~9pOEa ze=fQ$3d&luqNq2|S4s`BGB3=Hjnn&bNiSZ!xA=?bYWUoorSsfSX@NPx0!eA|XK2_e zrQm$u3Ov5O5Ep~FFDvVVwtt=G$wzBq34*C%TnmW~5UYx`ptc0*33gv>qHWY18yOjC z{u0;j3Gp)c%0IdDdsV3CWL>k?8RygfsgFuFPMWc@v9j6+-m>B$ZSqCBT1f6Z!3P=C zPoP?6Yr_gm|5lE^W(bb5P5>piRO|DOAVy+6nAlfMBJR*Tjw^+_1x4?bsonsaQmJin z{>DG|in%&y(}X!kC3g*yXg}_(;zC2(54~BjJ-?=n{!49#2IQKTz7@;T%cz zKRis3_lkQ7y(UZ|v=6QcJ1V@rIRF_H_F{K~G`aT0S3jdyCKX66duGii2lFDIkCQYV zKXJHQkUt*us$`IYmS7V^171x?4Da0wxjBi$kpx)vHhoO03y_|u&D55sj3HcJv5X(R zPkw=0@}C%m{JAIJ4?xr48JsRt~O{#7_7#P;V9$+%I6Xbx4vbwt3{WhmCnnk1T_1-4!*1&X2DT}t< zM@IRXbY2U7w}^X|nxaDEzsv{-mhQRy=MLV#e6M(k2C!oF9dJvFD9#Q~jqm&VIG|CS zQAvMq_th#ox;R!$r{w!Xi#}DdE*5M?OTRxV;f4lp5R>~#41b?x+y1n3+DKgS!ZWYj zmn@eaHU;3}rF}8BL!rQcJz`xgqx&qSXcc6O+0$@}f-7>I^3kJ5IVyfqgVyWcEAd=u z9&z4AmH2hc|`4>dWKDDp#Hb zvH9fmp>Wg7lnLqSCYePc=9V9~*9ZcCq@O)~HMhln^~B?MUOxWk`wbb5h();{EQJ5O z5Rcoz%2N)#xfh37|HM?(Fa6(Db@Q6f#k}_nmXj||w{Ea27k^bu$crmo+bS&THdaa? zBy)VV>n(T1u6s`Fh0@so4N3-WzdTO6ryk}_+$_Djw67Yof<)}QgYK9RziLCdsSaK% zNQ*s)dgHP;XL=kj69@rtwz{QjLN^tt3Xae*jRl8A9By%u^5R8Es?J9{vJqXnl%i-_ zefQ5sFT=Na*>~St@yUMuYipmgr!z_3f5h00EFb3|ExW(fu*kM{`CLGPbNRl%a{Dun z;oBw}bwNA4H-!}TOVUjYS@7O#tHZpoj0{SsDuC^P^!uQQe*<3mHPY^f#WY^oeSmt* z-OhA|UCn>8*LsyQf!pkE>wQv3)#X9y1>M!8EXStI#>NwG-yXeF@N1BS=;C0r)w?^V`Zh=#is*`dypkZGqSPe z<)-fZ!_$O4=p_A6f^69*usn0}X-;o;TXe6vW~(i&NS?7W^`{CJyj!0zJ@^p$Ah~fi zFC9`Tycln@ke%euX*4N}G$zsShohPy1QBexDlP*39)56B+-wTuaBlubgqdb2hvf#mXy7 zDB2+FM;U`=_aVWvea7_o*V587NOPej54`%D5nCXM1B%X{k6Z|-^N!@V)pgS~Yu5aH zYEDwjfi$U`%>MzbA)f?Ni<=uYq^m^)EK!mL1|^(KpVWr$M_m+(FCNNs=1npA`TS!t zy+X9Rm2N8VJV|M;Ux(2~8Q{0T$Y}cO+XqnA4er9UJdhWGHn}C|KOfr)F^`rgO>u6x zTorrFgeT`LaYI`ix1({2Z=j-9t!Pq_vfeb!xV0WnwnCNI+tQ9Op7o-gWtgFHhllri0DH^4dKZ zDe=3|&IPR=1Va$rg5Cg19)~}`2vU8Pn+08jZr$U@kKvqzZ;LQQrIl_rJ-Sgmb{eEIP>e!@=nyml2A>F=jTfMEj1X=RHXL%;zB zb77?1f#qt8o0tfXjGVC-O6mOhr@-O?5?NF&44Q!vGhN^4Tdh~gzH9t0f;>;FKyAkN z{De025s=sW@-QhrGxIP4Gsmz7{^O;8%SLRUbrn;eIdSyxw{H0br}LTFs*3T}d{9Kn zOc)lPh)Hz-)b#heKnM0h-iH7Rnql9+pO1L)(ERexsi{MMY~;s^7H%(MfA?ST$`b!` zk8EBi`1$Mpb$kDPRsUB7IS8>64==9(cmdD={;f@FQvH2kzJ~;-Ipr`AU`RK9XY2oP z4q>RzjyV{cfXwi68)ZvUxSAi;cCyTiAo%@TN1;{MWXKHo_D1jf_wS*B12cRMlSR|x zKy`vZx(6zF2%hm-w?Nz&P6E2!<-5R&WPLJ}+Q6YJCZO$JhM=LBAeDeee<;F^n2sw)bjZ81~`JXBA6&&xJ zfMfOXoreQnwQSKptfkKYcjp91)^&l-cu6Xy2w0>wH5nrw(EA^;E=>TJ69$IQmV7Y2 zaqSNxh=&S?O96Q)Px@EU*RNXar@M>*=>r5(-Sn1zb9#H1V)NI=A0big{-YH_z2^S0 zoLNc!ukSRGsc@-z2|I%RW2(NSU9=LK3DBp5p#rTA9@^Ri(B}bUY0-@dy7M3KDZ{n0 zO8k{FW&ub8yJq&9&4-}i?XQP)aTA8BK)W0~u+(ZcFXL_4!bt|q0|SFGQ0Ic^vuKoS zFwN=)G2B=j%tlg%1Sbnw8_0|8vyQV60qZpTU~g>fVBaaWH65?4^y9~m&?1B70aDLO zV@Wl2^=nSS1XEw&2wa;V(uB^jzymBQVu(Ao_0cuM+aDgl+!Sc(*MK8~uH7K10eXLT z3!FX@+?IWWC_(WlI8ZV7;>b*j-tq(Xd=T0?EYuEtPpboaJyHJAY|u;U*;;x(17Q0S479cn9Q7yGTFG1QQBp zXraOZdGXREZV+W2f3GL|g_XO+*bobytDkEbbfL{yH>d`1#JZob8&}I0BLoTEzce?K z3fLwtvm%c3} zpA5-AMOt)7x%G!thc%9f(xqqR7TpoP(HoOLe1z0z?~3WTjIS^?GthsJsK0dNGM?@? zT2Ge&qo{efBXIDCElI<9#MUG&Ee#-NNODFh9CFq|A-lPIH<<6@2? z5)ziLtB}EbmbY$>@mQMDhA4ZMB|&RXm2cxZh95*9)CDh zU{Da?WHwlM|ASCiOrfp&ZOfys!h8?*w!J7d^(#vWGLUdEj+M=O?SmRoij%r3%q}&r zcyFiFswI|(t`2uZ>rvWaFW`#&^1Hp|1doqiP*2-}6+h66Lg_aV_Bx(*E(W7UfmKMS z50Qj46jR@+4~Z`Lf9=AoR)07H=mK~9h2NpR(Z8Sb|5Z*Y@@Ga zzmbGRqc!#d(Kkky`r*yL0t1ZSgb#HDB&d`eFpDg$bgwrTyX#c!UKL`p&OCw#3kRb7 z51>nc4Cf~tI^dy@hF8W}S)I;M=t46F`+acs`XvVgfL%2Mf0dgvK)nDS47@PP;>K&3 zYz9K^shly79V>`zMjmQvJ%GI#wZVWN(#anHBbA`?6q%X67_WRSdSs*oQiRz)Fx9{q zS%hr60rbsLK0!D&`06~R2e@#6#JtD#E)palzYhmW&7wMuOws&MDS$^F&GIGWPFB#OTP7XqARG{4Q;@LCArGc_epx}Xa0KXa5&%uYKI=MWF(GcX+|SQCK| zD?F|@u2yf1=EQfwIp4Mg=0FFZ#r9#^fu<=wdyoo2g8O>(Y$Y-)t#KeWG;|pl4J}@l z8*rH=1C}WD#%K=p@2Gpl6xtHZ(lZ9uH!ylgh-l{&$>E(*70lm5W_-cHJLpUZmN8L| zBj**$y(f&$t=z+oh`!*XUS-gDej3ALP=_=L(pdz zv5EEyht}P#72F+V(QV9m#`3Reg{*79ZtG!V-J!Rs&TV$CN6tNi>dK6Wp1$<>+hqLK zxjQ6Xsd@aek49;xd>Dl3EBWCtnZK!xF%79#+1a2fo)ccIN{KK_6ver3{qW@~mH zd^-?c#`b9NOC#kJ>fL;%nSfu#cDBrMysH>oOO$X%b#*mj<{}0|p-?6}c*Bu>tgE{`( zHUSYSX?CyrxV(@o;~rv<^s_*LET94As{khwMoScEmrQEbZby{7@ge|6r}flS+PpW% zxBvFov`xgsn`i}YQb9#$YB`s;3{n(!vLqPcp7{L>{z#e?u3xO ziqAvuyVw+-Mgu7te8iR9@IDM6U7j}Xn$``nTSw#SC%Xqp0cuY8Dr=d13-$y6k z3b-0Qh3gz=e<=ELyVyb1u}&kDYY?W?68LVd6i4V87)&O=M8mu*;gE2eciHn9arXg5 zc4TA4rz=u+mQ4rH6kLL7gPC5^1s{NenqWK0K=f7pC*n#$kn=QQsv^LOV;^`*6Vt$c zqGM+fe{7<*Q+u#ikgLk<20R_e`SxI)w`0~CEWQYR`t<24hd%4tE)3d&X&q^8Tg5rR zMU9-xmdL7v{&{QoCj}Xqj^y&eXjbeh7|@K`cPj#wqSmryi=t^@2Vz7mK)Gm_mQ_GD znHj3ci*xVN8^!}QhTzmG^ui3-H?RVc-~UXOvUW+X2D^EA4DvaXBQ_W*_lkUtoWBHh zz^eecVkrrU-Q}oSd!jI_J(wB8%EA)HJTp*|(E}rdA}@!v({0&8#{Rk_)lFYky+tlH z)obd}!-t3+hsA7En6#+WOzWM973n}+vL8DskXJ`E$!Z;_>L*_O%*uEhdPNS`BFStM zJiOUNvIAsX;js?z>>Eb6u%Uj0IDQ*^Z8(w#<78k!p!4FyxLQ8b7VQ?WlW@l>;r?*l z#Tum2G^L}o0d7G&%SlwdSYVG1aL(6-h4BGDnR#rBV7hA5XajOap{><@Fm^F~x!lmS zHSIzwPqLM&5*Tzm%bAJEKo%B#a=1aMb-b=c_Ot;{z*t4D;*541BW|-WLSA|D1~U_M)jXurjlK zFp{)SQU;Iu+?T~$Lkxd_%e%fX5(_?I5YdtZ2%620pEyfO`E@!? zY3ta0B^ay`NnnsqqsiO&l9k@W5`X+YNbo?Nl6j(h`>l$Cx&Dvz(?qPnk6^6Y=QN5KR56h@e4%1J#niMh`YcaxKg=h* z8F^s`pVIC6V?|hZdE_ysTiTg6dAEHaM=%$bl6Z;oZRiB_uzR~2c0 zVj$a4Y35seM@(QQb5U4xIQff>+1w?}6_m(&?ep#>+zyn~U}5mA%fRl1uSf(+2I^Hx zcQtMw!0u|Sr#{>BL+F$MJG6qxj{E%n38g zTaz&oUx9COg+-&$5$Dw}Iwc0go5I2y1AhsA!g48YC!6i|rA@$yQ$|YOVx=w7P{o$) z36X8c1Co%PhPU8V=e^Qw*lfGI*zdjZA>F~ltQ57(irv?q2SKG>Z)yyuXs)bm*5H}$ zDIZ?5>nZu!BO)j8bf4r`%rKiJMx~D;-i2LXn7=oyFRP-z-A>;d?Bz`yl0g-|`yPlt z+>H1tacaIuqK{Vp=*2%`ABL8YYUh!Y^s~|Xp*0v(nAT+t9)mtPviB9JAGC1|CK3Q6 z4|sWP(S(nH(EX@d%qKD>*f!p)>nY+{v(^4o!-VDm9|1G4k$8D{R)^)~POd;jTuO8< zY9#Co#H`SkBAp5#Akt0y2X#f<#t9kxc5ey z@pN<*RZ#ImV+L8L;D*(<3`4)-I3G#nDO}Bx61+13bK~7;(Oa_y2QDyosW`XC$150n z0ZU$R%pd0s!FCei!|2?V7k|TLZb6s6s5iFX`t1yi6 zo2~|pGy@%7G0W?e){yNGMIgrOCGTKQTo2~|sr+<13<|r;k$cdW`3XeSiL6|Se8qm| zE9l-_ol>PA3xhF`TwkH2EFgD2s#uLP4cJx-d|y&GXN2v}P>w>OjcFU17)oWKQSKD! zHXgul$bx>=;=HhXJz~Wm|A_OL82ES~7@wM;)dXQ4cUWVm5)h>8sqLd~P8*%4v zDrF1(b+F%n64wWuM3|@b*_m^Fx?B2fa~(vnyB5LT4VKkQqz4p&O#^7~C=>bh{^($l zgtW8)oTbGSg8F%$Zr)~QLP0l|z3pBuJFI}{L45`Zt&pME=d;n%OYzOe*$~6ecGs%Gn$(IGh;Q;p>t=0=`z9W!Vb!@^ z=&#kO-L8$ynj|Cx+%)^7|?rce#f6@HFuNM1c5?r?E%77W4TcfQkc_I z<#h&8;F!^5=H{y9rNCiEMTIR%rORcvx&+V*VU5TvDeW-JSnME%96M(_(h~sOEC6j~ zPO3gE&1brD=7SJtC!&g|y=|hi}YI^Q4)gC9< zy(X~@>HpX*CskmAI$XPQd);|=bE&!Wvk%XetaM~u@`^Fum^m0olXg1=;`*`gpzdW9w zlOXCzo^E5YfVqdujQzPQhN5A0b#-v60_n6*u9_5BxX>#={JCOdhkEi(Ys*=Sf9^?| zf1^q>Mx&_`urk%|L=;Jo7e-;yo$B@xnP%IhJxjaTn-k?G+PL>io0}p|@Ih%)Z@~ppXx9^PJc5YR4qEZ%-!0uU?P>= z=j{D^YUzi)fCfbpW&LA#$|=12ePqTR4ZhZiy*fu=oNYkpn_wO{#4NIvY=`95P%vZo zF=6QQ(rNTSH$aL#%^`K{gE$sn^xVwNtV)Ni`#qCo^in|o*aGWLcd&Wu6SAKlT#EsF zHSmtr{nXG(|CHe=d?|=o;aKfczwjQ9@=;H4nr?igrKL3@Q2`YDW^INdp`2dk0=}A5 zI}a6=F4*R@W75!iajF*c)(lMi2DKsGTjtj*5YRPh`Vkjmq!NnKMK_hlogwUqSa}Nm zuRzI)APSFIlq(s~W#N~Uw+i{`@QAt~KMPN#Xw9*XTHJ+AcmgR%z)Nmce(>96fDfVf zr8sjYg=F^3`SS+gy9&eqQr)15K;ic512>Kn*f_Mprt!rx0`EpYFkwW`$B|Nah;p*Vt`ZlzSpomsj~9F{#;<&oA{8nwca@~vW+tJg)=TwQ4gEG&V-x))Wuo5ok7 z!Ou{9|C2C1DkUA_#Mak-#>ey*5wgV%%C2C*4OKsP(Pn5tWs(ERg&hcO)P6P z+1Q8((*w&e*BAl6;F!y2!$Mz?Ug6ipz6owSk;dw5mgUS`{9T;W?cumblJej~#ewKJ zb2%>glrNhEol|+y*YHq&b<)V>XtVqXGS>bbHlID2WAcNo5KEoYjnax7;G`tP4pul= zfbDlljy~RkEOk7z>M&ZY*yoi%3m9Buxs;E?-MMwzqIZvqD<&KG>uqKPRjmnP2T;33 zc_MSJA+cW#{RHmqV34ZKs1K>zpz`i4DQH|U7cIf!8IrJJ82m`|8k*?xd7yB(#T&0ngABsNomPrx05%u& zgjCqFvu4BJR775+X5+wik@66ZBC0F88wMM6^G@q*O39P?8_WUyq-)NBsn*zpzv6i} zGXFw#=(Qa{Z<){R1JQsBjr;6fCyx>_=ZPH)P?pT>g6DR4P)rF?SgCPaoFFXUY)M}9 zEOH7BUVZxX0KP%f7e+FdK0_ck3Ph(?S#aadTTLlEA$-*(Po!A(=NUW4{jGEmSg94rEUe;EQuzcF{r#zy-&_F><4g6&j7+u2ApvKAD|Pl2485L89(h4 zF&M^+)KOrv3!<87NHEC9L+RvatY>o#l_}sn1gHyQq!p|INHpnRLwCHea8Lwi_Sk4Z zL*AXBd4QVX1$i4pFT?C0Hv@i$-A~53s={nWKSJf%Ib&P>h}c3apQCcz!CV}d8j&4Y z58BD>JZ4ayL8l=*%}gh%JvsfvvQCO<1Wo25xF|E&eM<3><M5{+frBRP&+dAoVT|aa>HaslqVa~1AMlbj1te|_(P>w#YeU@pW zNwz}4>*FW^hS+&M`qlWjIgdM{{4nU$a2934*LDOEE1Bmv*i=KHUe?-pj||V-_83~QV6;(hWv+Gg)_=t>hu=9u24QIZ1i_q2N#} zi#8i)4_o+GCjCj9p0t2dIGR7ixeiNFmwQv?qf;JZh3V#Pf zV+DD6GGO9EtS4P~txM$Z=NHCBIFvKA8xs{(`ef;cSp32>e2UB=`*Vp_5HO_u5@dgA zedHs=%hzczE|K+DCCk=*ZVvRL=1YS3<(Xs)R*p>-zUNGW(B#Z5%eHC5~q)6-scO{Bw_pwReg=9O2(c+@aLQs2Nq z@l+7oah+@sM4zne23pGvg0=W`NAxyAk=f}JOJIQ=l_P~cCP=}1`dgz@z?Ze+@` z1Nl*~S5-v?^XwVvbxKk6qni)wyur;BAi~x;b#zIU{EyVX zkL+sqXZo85Kkk&)NxmepNBu<^PsM89#dbc=MTAN!{?gu8FLmYCXdXs|vE*vkSBg6C z%$L4=^$?r4ePJ~I!$SezC)z$j{4Y=ZP{*&J8-``@smp$Lem)+Q7iWvR!rj0N8wMx5 z7z}D5qZg+!qb?}z_69Ombb_l;G|kEt&lPcYyK>{RuVQv$K(YeuSdAY~39E{taocd=@s5wmmh)F=OD*OJP0gY zz&*a7BeA(z&SyYgeFJ3t)+Ts>JhEu!hf5lELys)CN)da?)cs834?>L|4VG@`A_vc8 zudz7eWF~`K>MZ%jz%QRS1#f=>MxVelcxNfk8)CT){gN>GHRxBmz*E#6A6RavULUkT z)bEu&r#Y&wPer&@H%p9o@Wx=2oYw&MRg{wpJrx!E3-Huz}UQ?>qq5 zZV}?Q9%i&DMOTTd6hZmX>B3~oYdtLB+&}TK3PgdrJIv6!|61j2XK~&dIzE}Q6L;p| zGzsB&jtHWrU$i;Mx#B>f{5>v3?;5KA+#q=t#I7f|n6pQD`TyPxF^hxP9JjniX?N@= zu)t==QqhU52_sC-U&L+0C(Xn{#0(7|!ZZl*&MNF9{kBdnSef4AL1edpGVAH(KIvyr zBU-am@6bSC7p3^db^A*Z!E8T6kLuUY7et)f9)+oYLV!xKT7nhcZPCXiQFX1Np3*90+7-T(C%VoI-kLC(y9{z6GIkpAi)I@6!UhkOAY;qpRUQ1$ zo>p)lFHbs|7X)ZwCj%rbXob`#?&kOpX93*aAAoiyCMc?fza_K)jLl6(#(Q1fe#^oR z?AEc{Y^H{?St?sYYw&#{-GR%IiQ!%pCg4Hty57D~qB2ED7FNqdTWkv6V)rJI!6lyy zo;}^D9P1rXt{hoVNDZ#_ZMPQyJ+r`*Ux^aMG}P2;FGvlFIVaAiA-2k(ha(h=yj#%| zq?7>!3H01@eGwYh49lAbYp6%~Hfj(WG_k;Pg;Q0dK%WhpQN4=Th6BKI_y6PWy`!qi zzI8#WtTLmbB9cTUD3Syb1SFISh$In3f`XDWf`XDUBT+#?vP#Z5Cj&W3maHTtOV04V zebC>%eeb)Y#~Y*X>wbOys2alIoW0jxYp%KG7pBMM1J*{`CT)WKyutit>YqZH&L`)H zGW$C95Pda#)orBSWmo!ec+cpw-7!s8`bN~}s0qAKgXqK}vVZ$V>q2ySXXaZ7=w6mM ziGEle8mp63&pf+E54OMBoC)3*eD1#__abDsyic(>wL8jmR#0bxu+JchhLw(JFrxbO zFb)VW`NxRbk6mYFwy?EDb+>~>n8h9VvJ(hWcphDPqt~PBIut6_CvvWuGn@TDg__gX zOUA4{V-)>8ENgf9IijLs(9rg`S70ETuAehGe^5ZGuimIWnLk?O@gu)}Sq(rTmo|-B z00wVSdjo;*Wy4Fyettu#XC%2a?6s9mnRL1co&Pz*dB}ubWlGr!)r6hQ;0&?AkdlIw zMP2z*ug0*zWwf*b(igd6!Zq$|JdLdFUg;sUkV%mIeng#iTKzK?#Dw;mFFFc9@Cf{o zD$6Rr(jalBpE1DO^UwG`z@_~kU(~WK9Dgxdp%O-K35$uE#@s5ELVcRT85})Vft%rHu=WR8!8|pDOMeI&@Lo zZm9Z^dY21n(q~isPJ$P%e5MzayWNRi^DcjxVFNo^^r1KP@Jq%HHtrd~YSQ;>B2SrsMy%6i*CH=w|D!rg{zuuMhWm~RcM4L0 zY{Q|1i?i1ms4yLAg5QgT2VLukWrg)pqoRCy5vIDYD`!qw_B@X7916Dt@|kNEk?R

f?Etl|KCR ztT%2_vdbBTusp}LRr0+??(vnEu zgf1#6@jQIDFiCrD9#qeZ7r2uHl@{gk}9O* z=O#hrcqQw$9xbJh_V>~oe|T~vfL;Za>gpR|U*VUc7tfwK)0fy9;oa^1yP4@F$>An26caN-e}wTwx%(0eBm&;>*UdD=NM*vdagOJ!$2*Q6I!|RD$BQ- z-|12MkgTb`3GxF1cfqC%iq-9iC^bdtKTYI6mY{uFkv%fS??HEu1%3cu1Tj$rsSltB zbwo50fA=eeF<(3SmZ&Hxv2gGa?f?RlX?c04j~~AnoKfaPGaB0;uQS&y+^b|N`0~k5 zh#5dtd?0xuKljFmc9!po*9%oVs~On{p5z!TmTaJ{Qsw%a{JS7;0TWrKC8+EK__mI2 zrjgi`_a5QIhm!ltSFhkOUlC&4wsQmxM?$MX`r!&X@lC4Z&QbDfH|{JZMM+Iv&Cj`W zVgEyYeEfTNm^GQUrA6bhqv#|By3^MT0sw>J*q|W-JaZD0R&432g2LMw%D0v~zR5T} z-(r32M0&?&)`+hv9hs$@uWkMq5w9#tvhf)ePgKtba@d{%no<1Y9qZ%4dPz|cwYC|X z6?CC8B=S&PM5l`6tka!%h0X(GoFrayUBmZw^^486ppG!j5Li)>f;_<&{7K`DTmxmT> z!UyX&-M_|-T2GT9+??PrSgNzsk2{(@an6ZJz3)Jsl%-uKUpj4Xh1vD8pExLeM^pH1~HER#aMi@7U z%Ft~K3;4BitWP7t%nMidg7VuFQs)9P&O4Kl{>vYfU}2)JZkpNtix*E)RRrU{-paY6S_x7vI1YfW)!F2uD|2=zYn;QZt(X%zb5~m`)fN4$LKlOn2;g_>5lv# z{0Bh=A+i?BrJ$pW`+dh`pDl<66p^9-L2LT|p>e3ZnjMR92Z5}!PJM97@8 zQ!hxDd=F^0_kZnBrJ3GR_4#k=>5?+=p9802%i11Sp5QA?(QOF+>1Q-hL?WsGy6ew8 zFm-#Ele0*4(n9-Y#rvqyv7WG-zttZcSI$PoE}s&}SF3KEyf>1`$}{!|_hBv_IO4MC zT*e2yU${uJ(P8(r$|aSS@H73bL2^`}l4IutMYt5|A`B``nak&}@bHEC`R(+Am$T{r zZzQEz-Z&LQFaLY3sEq8WFWUzzE>N7l>Jk@>7kBZj0PnR3oH7_C+LB z;#HPDT!qmrr-$V~H(!MI>Z*$}=O~Hp1;ck=+=&GlVCB^8zgN%+;)<0Z>h zH62Fp$P->Em|o~iG10oDxybF>l&oZb{@%2iZgs)Xw5I|H&K57@MMQq z&cv&9T16iA6a$8!x3y)l2|*`y;uHww#MgbuNU_aW3I^5bPlGp!pAj#AbY!jUhFApm zYjDe3mw(ay7TZ|x{yJ>uw+%wz+yWA*S1EREgP|)XXKU_;#~oufh&*W(sGj~Nu&947 zQ7&Wo^e1)W3v0%sUhx4(IMn%U?**A$Ii@x+z`Qe2%5v8AnyH+%ZTW)-Pt~)97b8_7 z$mh6}eFt-1cl!IjSZ?#`TTofbD5{MR!1S~a`!?&$PMyY?DJ(lRA3 z8+qkd>=I@?bki{HL%Y{vb3HSIuJT$Y_e8{xtPsw#F#ohFc_|gDxk=)OrN~KZ3Tm~h zoYsemZL~Z6YkLpm^n9;5%G1mhU+%Km#cyi9)4bEjqrySEw_dU(Vjo-Kmb-=b)EaBm zGFTGgV45r0J^8t({Dtb@$^{y^)5-4CYQBkdixoYUQpBEgsuul99)1w}?RWk8a9Fe~ zO-CB{$@6Zv7`iGrpnr{>tt82Mk2HquA*p)rPPuPWGCt4O+LWDaS74>(acS|(W43*A z(dD51=JRcTeOTToMs>fwCoA%3rakc* zf5>8U+sg~#g__^ait31O{`6VJ)hvcJa5AKt1q;||Dh`fLD_^>Q`Dr-$ygiv^;BIzn z58*03MybSS6?xd@Z4+V(*^M7eDFEyx`jCPpLtnVY_#$y>VWs z;-&`vXv^jVPuY9=%?Ew|w)@D)NVn%z%*~)&nxU!_RDI=IU*1PG*t|dfNU-E6w_mD5 zu&;k!=dr}1>(tkcD4%?*yE&<$E79C)MNGW-YSToiu9>N+-zEU6&dpyV2)R?%(nXrl z*Pe%LCO=YokNRwA@4B9Q$h@%C^n&_Q*;Of$-S=z5l(@Jm|Fw6ahldOHQB%fW_Nu6= zxHL3mHzz7vN?TMO3JX~_=t)I)JG}Z<6`#~x{q0sCpNg!(pcUopZPQ20 zkrA|8nvP6<7p|;1pV^$3V$e$8ZYQT98J^L_u9z|6ikY>@!LvuRJTgiiYD{0wg*p?)Tf`lT0Io$UuKw|A@;(CO4{C_&TGw&R)I%wY-{hp z&T3Y((?O@^OY3+?B>6;ELU&wlVs!i3S(01#;J$y`@X2ni z-eXIn4*Bug)o@kxcI^%&qXoZxJ6zqO7Pw9dhmILVcSklax3IBaJNe4KeRl7Hykqgl zrx7cGl;#^F$Q`?HTw455sl`a1!gnD2)o+`)a!8 zi9u+Oe5K#-Z^i%Lkk@IQtCY6ByYPe~ntGpW(`o~I?roXZ(!Xl~O`rhIbb10vsW>te zqtRH-wt4@lq=>Vdje1h0_joSn1;&;|PjHJ|VzOT7c_k(4ldM+InWX(;2&-|iD$m-k zVe0T@W#vTwHTIBrXqtY~k; zOB^0?xpQMp&o)(Ane2M*Z*#uw=kf+=kubI`|90tOYUpp|qgQ!Bea>n!$3~+;yhJqX z-lg-MR3BNYUnflrG8vgy4B48gjRw*~F*7;O&~S9xe2eReeH@*}HFB!fX7vWrv@Gn) zYA1wro!vvIvyHAlF~0l3UDT|lbeB-Y>pcFIw0Bg+vOG*C8QR7UHgy9HSKpmD=dnB* z*Lqc)HgM_qomnmZ@a`pvC!H^|7FUa!B7HscqNxSw{_P^kc&TArop-;tr&seZ`Js*Z zCl(VMXg|K|(Ph6jGnC@@5H^P43;{_)(E{EZ9}m_Bo_NC`V%s#evpVPWG4>y&X9Uk` zk8teFpSL>`r+!lL+_Dzi?w&wo;%za@F2FBOuNOkd80<7cDG zRM>oF2NTHBlF@Co0zJK>ERMk6XYvcI|C)9~#m4Rl+VmANC!bG|zkEzS)3jZ!RI40| zU-u+-*Opr3Elzm(ZIU%oM?A{kl$kQ?&1OZ}+h84~ zzs2WeQKLpT9sT5#6T@s?qdS)wU-@PII3EUNXihoMwBRI!yamUl(}=U)wvFJRT11i# z*mzR$6-Y86F%NUk3JW`z{)ixfZ>6kxcC$Wi-hHRZaXnLYp1Y}AkME!MXjO6zzh*0J zGpnH|L0nX$ZnClr3(;maKXD`a(>;Ft_ohw1ZCb?GVA1mLeT5$&Pi(rD5)9|7KQ?SU z8kqaXiL1g40rL|%)oLeF!YoB=xfLV%r(IogEe5U>I`hsSCBDJ}hw_e&YyDX#$t^zH zND}g2cptK|va+!Wp(b6Y@8<0M`@HGoLwLu0L?1wOV%=(5yo>toN>A1>ak``FMd1@? zKpwbe*iQfWHf-BAdKY=>sMQiUOvv`&GXj?-7$*KY3zEGN&nEfu27d>D-ig8}Q6`WL z7!WLsi!+8n3?xw+S+{N)8^@(;U%dGF>`vi6nxiWq@1qgxNk3%>lt7KVcJ&fEp4u%C ztj4lwh#TSj!kI-)bppaCUJmSp8EMT<*IlH%gBP>zA%*VWY(Gl(Y!7V4hwTl4es z;IPMg@8?$_8p&{3h_Odrs#fS=4<|oV1^0et2lI;U=+U1uGovku8u-UBM<{&jW`=bB z3;ATEz=xg4|M>77u%HN%H{okXtKV>0zz2Cs-*9w*NYbDo<&qod=*^-djOc+XH}j0hK8#N*Ho@u zqdRaw#Hg8__3QWVda11hBO7wkRIR)9uug zm_j8*MQFNJZf6Y&?oR+FdZU|$Wi3#?!!Zm-nN_d3KlxD}g8dOX_g?=_M)eYBGmiY| zF?}8j%fAH5&c*xY+#TmU(Ld?C^N(M{`X*fJQzv9snDBmE%LrEHi-9|T*PbC>IB__c-U!C!^L~W~n-U3Cv}=N;tKsoQC0bws7`&*lQDA zEp;p~xHBWI_-D$Pf~~sLOv9$cWeyH$G-{>UzHz}VhW}991oQg&_HztaE>FSAF*w6; z((vVM!#`K+k21N}*QarslwA`0@bI%1%)7^oP%Yn`x;EQx)-NJ69B_z_53y3psX9H3 z&*RCtaj>meZrVQU4v=AqKjIjP^#hldOU;A+%C|fgVLSbnU@I86rAhtiKu!fcJE3M- zoy{yP7uLCRXBwVzfZ*oQ^Os#U?WnMDzS2#BJ_3Iui1x4x{3BcVmCf@~;I;$ky&e+~ z3lGCgs7*1<8XgMGthr20GZ2&r3bpI^H8amr)6sP_{ZmN~Go10E!%R%)9{6uPMLW9n z)oq!RFEY-@Z|e{)|1Jg5Bf1g8h${V|Oqrq|E0?vERR8|=^CIZkej&}X0E@SOV1RJH z-RBzKN{rUewbtA{r(!E|%)jb6Q9m&eQ_=Ai7yC#2;O>qY4&RRYGbbv$Fj3b`4We}t zqW#`R8*oawE-9JnNJPJ3VPf*jI_S#2<6!0SPgO}(Yu|;fx(zno+PIO9vwQq$ZGXq@ z;MA_$H62UK4&SZG$oMj&=sW~xqZ~aJ{b)urO4|2Rd%qLgD_zE6IQz$&x@Yel&n;@* zfX=zwB(pQvadpA(gq~dRX@N5{&}0wiSx*_htep+zzV-Dzc({lr#B^wHJg3T1P+uJ^ zEVR+8%^Vf$D!97zHEOwYG zT76s&6Rr%)UpGOAAT2HN^(TZM9v3yios}0FO#{9sJbLHGw~vo8fblCoW(hqoj9;-d zAtr2v$DoH<0w_tNKp9torU#)*v!#YDY(8rRz6Yi)W1qPLr6ruOmZ9&Hc@tcpG2d*> zQ8Y*&X}-Ov>3XhM;G+pu*zEF}Vm~twQ5u!v=3yC4spQO7<*5o0bwtDa^wba7LkR)l zcyj51!SBk6Uf3eZjQ>!eJpuYiTB;j#>db~t4U1@tEhU+uUw2r@>)N~G&17Hd4}dG! zu&VZG3hO(Frnn7^Ty*P&WLA9t3^q#l<}+#Al^Akh|jt4O8S z#LjFOjMwd9va(@1xQ;y!dsW>c~Lg7X5fW&3(A~AnT3U6)kJ|=jl zB!!C~H?DJ3%e!a3XlHFgSjK`-0ouiJ$JJ#(%nj&QYyw%i9f#|#>$857)2v7}g(S=G z$Sm%iTz1nY9O7HS$yk9~`ee}_d1zcr?C#ouL|k)vs)`VcLf6=;2`_?73VCvuqP(zW?r27($FuQ7sR&u;>3>E^Hx2hB zuktdfA=aSqKLRXUWqi0a3JP+SybO*rZtXKHhqrwj{o-ZcQO3|QQY8H1^={P!QdMv^ z++2R3M|JqgdWGwBjI@qTbhMIJX>jlE)F%dBYk5SAupHLAdfl=K8Ow_T4j^sq0_S-S zt-=3P3vR!Vajn35$dHSp-LnL8W#lwL9&R@r@zgXEP)BPnZF#A z?V7>+^>wUt%+MkjaD@H{0i4y+G{RIerv5^9K@lbR!59^ zXvYxW(sr{U9bpvqDky$(zQ^4*naULMLrEPhfcPlwifmtd$?JN={0|+rz`iq z1AmG&hb0$rsC~b0ALR%#Oing7=_MVHwh_!Q@#>5OUW+T&8EpR~%Xl5*#zLJQ8Nt0e zU!TFkI4Y@S-=o$E?oh)wu!GS@zyUH@@Uw1J1sltO!=7wX9l&2ZJ66Z4g=C%B8cS;m z;J8~fjKmuajGps8vWXXd#iAD`T#KP7o2{{6^1Xc&VI zm<~&`&=DM+0&6?6yANl9Y0C`28?#iBG zSJ(o^cn0#Dp;3Ga6=9=#Gk8<=8s;(7tA4j~* zic0Mb;5Dc}8ET_>F0kGF8*647y}`f~GWmUv^$ zb=QDd@K6Iqv@iY|KWc?f%NW0N%yyS++z6V6#P%X$m*;!8)xSiZ2sl?D|YKNndBJw1BhTnAYt-v7zp*?DkvvLq6 zX>$4C@z1*y1IFGgIDmKKUTk`9%Y3%OvOUcJTJmvV`NiY{B9P`4lgA__-3ndbw6eoh zC=_&jb;Y%XYR=zgtbg?Ep6ni$-4@P>6km=N`=&x-D(}x59TQ^+yXs-Pifq*Lk!<^+ zEez&3PL!{-bDr)$p<9J@0Q%&M%?pv$Oy}6Ga4vazz(#*`#Kn{HpCV9Uh`Ei$ARTbi zIh>rDrw>DTfX`Uj{i5c%KWb0)x+yPdc?$Dkuluq(UAKU&=R49UxA!+^K0?O}=lqdS zPZ2@lp-}tcVR#{ojN>OZy}`)|Ep6U1Vnn2Lz@|ua(ukyeu3ax#ugmv_vxm-gey+;z z1ksuYl%-QI+O&&W_g^(#UQ~sS1wBRTKf;Pae$Q*Kc*&6)-EJmH+CN^`C9Q97aqlut z5B0yx5HL(iRiTK!Cxk>O%94wX%~ez3;Gw5|1~fD`jHnKEG3~h{MdQ8s4;H_g&0bHQ zTTLWU+_ZHnxq;||V0v9+j~xfrFtRylFjI=Nb4mGvEUFbtP}HR_jpc&bl9>8F=1OdY zTu=@IlCdUNl-kv5wNIudy>4m-gufVH;wVp#WDBmi0*3HxY*Uky(8Yr6hP^WXnP@Vx zIXMX$f^-j)TE2@1MMa5%#})xe!u!m43&)Aw#5>3`;#hvy3&lK$O>6zt$Nn#uH?f-k z&L124@IGp~QeJW83XX(IiL%W~%vZLM4g2^q$xeFd%6fg&wdR;<=@*RQ0f%9b<+Ld&RD_3$q<|!?B{c`_%^UcIg^PE)w(^|nJWXAqk-khw7s%o#&SfA7W8V&L| zsT73^SIb?<^v|0sax`&JkcB)tX7Zl+wb&7MX zb`j}Qo)TC(#HEXEkYekoui&S7<}T%?tbVBY?>FDB=$IyLAv0!$>~2C8trtkQNX`_0 zOPZ})pJ^y)e{#+-)`l-a?*}OOmE9$fQeug*sAKA?!ts#w?f~|fws#*n7UcVB-OuIk zVN|McA^Q^8q5H=dO-zM`5IsUVLb}l#d&HU5E~hj5#ck%0;5}CDWpiwf{lxo$y_v0i ze_P`+D8N~}mZ~d@6aa*Q( zeE%ciFG>Z##XRgi0ohdE5u_p}GI$HTQr` z*JC|~`t${xeW^M3meV7h^lW`ZX3ir&I5ohjzXM>3G z$9HeOABt38^5z;uVK2%(tg>CFQX6}V6DY*xNPuu^~ z)+jMG`*7#NB()x$P)uQ$)UUDnqVJx@=8gr!Bq@`tGk$<^)9n0*`RP&H6S|GZczQF; zw$s{w=w#3le^l|)m0w3m05 zT$^nZ40xd|Y(4VYwV8Wx&}daC^^jJZPK(I3Yepk#g@rTGsta3F9W94LU#(fE&aZkG znospHsdR4)r%I!AM9;u5HIU_T4>SMnd&{`XWniQDdKM`HOyGrxjeJl#6Rid z-E#Z)jJ?tDBmB)<%5)=dCRcCmfst0J`r8w?Y8@Oor-Y8A@-Mv0tn)cS2 z@9DMq_7J)}MTHMTE`EigE5qHjOuR2UR^Ctf?rbfbH543m?9cZ-P*?aydy?Y_!%VD9 za8X$IX~A*V$UE`Zt$q&jcUlbm96eT|k@fv=PaS{ld%7RP`l1xLlWcl|uF5P&DcANo zEW1|DjW?W*J{mk7&`?`wrK!7NEPv|Tl!Se@;&#r0xs*+!h7IrZ=dBC#rYl3+_~no3 zowgj!lv}W8VboldHw(D)vHz1%h@xMg=OBYgRq@?x$&SNAih7=F!yR{`)}(fdSPp%a z8K>8&{9gU~XNyMn@l1n1pQl4!`D;*y&bm?rNEbhqJ-Ao?-hik(H@lt9q+pxk>)FN) zgI@+pSC=ywt&SaY{-9fJ>$sZXx??G-D2z2-?dcEekyZ$<{sH9fd9 z9l(VREY>(6G@)=f_mdExyg%jWT5+i8F~66N(`!YN2bQCj+-`n%&z=1QQ_9TnhM$R^ zxg%u*gO6H*7b<&pu7#|WN{Y7mKInC{ZfFs$a+$xCReOl4%fWoyb9MoeAtMv9lv_Rh z-3#)QlEzi6`9|7uX-9{C)_qpnxq4@$h}w_bP^HoG=OK-p#ptQo->d6J=*jwhj4@vE zN-R~PC+Il?PObLuq%}Sj-RoXRv)25`*QK!Wri%Ze<8Sn8cdn_OGHH_(R=j+AzUjcu z1S4x#s>Y#Q&B(;y<0(JZx^_^DoX!?%82M!DO2sTyyLN1;mCcNdQt^7Faxjg;#9{*r}dHK5@ z>%lNyMxFjiafZyi2YliTitlvV`DkCOmNxowHu2?_xSi+PTCsz3E$ZEvth zu5Rl7R|q}EVs(0Efy=#IvulMEl&MEL9b5k{-O+Aa*szv$@K@^NMaK_TDk| zr{f}7Mx`t5M;i96S${Oro4qFAsz4>;*iAw2?ar;$Hm&W=anEt$Y4w@qkct!?2J%tf zusKJ{AmO_=-K|)CxYQ==K0Aq=yqh$ql1aZ%#i}K0Y@*rrg*$R?wK9jsUBB62O?qu| z^6%n?5Zmbwwqp*9{jIMUOqxPPPvx1kP;oKzoc;w=+z8d@e)sKUZC;JtR7NC2)OoKJ zNlzKC51YmqwAjY%7qeZeisXdC1a@7w-9E1$@ywAC{_!L2-{)Aw5P{iYvgm^7?%`_ms^bQJM7 zso%LnVA$i?)P?%0XD*c6y8Z9e>U4LF=RHerNwP7JQc;b$S5L1cmpc>M#kN(%@yGKp zhpi%(KYn^{EM5Ehda9&0YFB9*cu{)V_ooSUEha{%ju(85{k}3bXfU;pb1mwv z^MJ`F54t9i-_t}k-1R|q#Jj^Em-FWqj=mSQ3t90lEje;qk83sYOtt7zb%W!CjKA{5 z(-Upnk{W7Stdc<&ZOc!XE>|4jZ>DQqj*_lD@T&1@X>Y+ye`Uc$KtIEd+JdpO=Ow>yX@kvTMJ=ErF5#d6R@>Mp8D8Z7s?CPIxl)UhSuXqx_ShEPG?p zt9RvOj{gk#@S!_@CFd+(y5%FjP)@tPl9hHQ+M8v6dj@B>+eFL=^he~%4f@-+_h-eL z37858v>7ypd#Y#2Pig17%og_fhOFps>(0@s8r&o8C5W(U(oN54OV|eB<>b!H{qDoe zNavjB!|I)_Mn4^&2zk)tD`v>F^Kq=1J(+#lIoszde|^45Azx_qNb(yMg{2Qmj)Qsa zCBkdo#%#N;i#mSttQG1{Wn9Wk^dYOusf}W+p`9z+Hb-A~r1gCDqT^seCIf6zLpR=C zl$Vg4nzfg(AJlWSUY(=bxi+rt+PtK()aU9MJXfrcpW54ghvrsaKfkc(#3G`=Ys&Q2 zwRgiFMnOA#Pun!#9b1W-a0}MRU--~ov#gok=}BoxeR?R(s5Jl7x4akPr2HN?WgM4> zM8~H3r+Rst_EdmivO8q4#}D;|Y(RmHRUq0HVG_xpyzba-?)ztP_^OXn2aU z5y}o}VPV=(*P&`6r7uJJ(+nd(J@`{t697Rq?8>ty1&v1H%BI|i&!VD|e5`gk*MR?> z0_hCY9)?O#+9vXK5AdYHcU~MZZJGyTI^RulysaadfVW5Svb{r$ifJx)A(Mu^S{FNE+Zqi5u z_`tuM_&FK*xyNdZVQl22e~^(K)N2yrK4Y=%y>36>w)LNpM|C};kbQ)M+z}k)NH2Y{ z896uoh$(WX>T(m34IPLV7xR0~9#@~P+@3_8UA-PK#Wvu?c+S<1LddDQ?BCwFl3QOU zt-7`C590&o51VfMN_%+UxDQqoL|F$X(ThE-tn9e4XZ_3Gd^48OJeQgmcKz*Vda(_z zYOw>P(ZG1zJSok0A$B=0{YrU?OUz$RPd;Z@tFzHl{?V5PBPbOAiIxRQN+s<$0`Eh) z#=a0dkdVcsK32ij>a8~5D2Or z3B-u>T*|H!?QrWZO^S@DFs?F_z27K2{rN0WfE7IQ3w4sBao?;>c$=;EGOXPLlIV$E z%zq3S0OXMNVK=}C!yl8VpVjbSDT0n;+>+1J^N?A8EdMICt@b$9-b zTPX9>YxWT}_)#-Q+o8s2Xt%lm9(JL6!X#Nd7O6skd2niNd5UQ62S)`?S#oRCK2eAD zCQVW`rB6fFD$WY&qb6m?h4hM3STbsPedLF=z z_8%_;&UaGYo`M-bPKFvHYYCJX!;B2lbW~~sVfUea@7v=q6X4!(R=aG5c}FkQe~wU- zilDepIIqCTtBgs~otB@|N>ro)j$nEiFL_Bw)6y_Wz6aixBh5-NW*i@oO4Acryg$sP5ISFyHUfMX)vh9g0D zE{!U9BeOs182P@!NHK)ZMAiMHd67DVgT{U^qY1g&Wo>@AiIbSVXbG&@ z7^Tn}I{hlqP6to3l?U=7p!vpvGXNUgxRa|pW1hvkn6x{m>q(c;Xyp&q_nZwu_ioZa zh0t-}QHpIqJvMgTssh2lNCp*JXKKlaIuA58=nxXuJvrI9x-hE7$`t0h#rLt)n)*xZb8Fe@~)nTds3}? zu^B2$x=*NJqxx^{rjlW-GHL=$P++D}5x&F>#YFg-XD3V!(2;!J6EaI$k^m*iup}lji=XauO+P#eS1K+!V%dD%!;C68 zO%USE@()Q-z++tokwF=Vf>%QJ)be02 zp4}n9^wFY;QH{dbHS5NsEd=zR*<~|K@G#0$*x$k-Mg#87X!jnl&o!zGb{+@JQ%2mt zHn=`xLNp|uE11hiTwr={6IQqA%&8|-S!URlHYkTVUXwjJHKmqrn66pu@>;m3xxATm z>_(+8ml@F5(Xi*cmMAlWfY`tY`!a(gd^by0I82SqAA(aA2=oWr!5UzI8R8ZqMP{Oz z_LzGLeZg}*4Wd|pX%4H2>tWpm@G=-OD~4QMyslm|FNTnG4mQ2UH0K_zX?-&fSuU4% zuqbEtZ7jR6@Fl&a6KjB)b{B)WdovH;S8yO~&@k&RgwTi>>1YN4JgG1qY<0}2^g89*?$n(y`O zhM;_DBvqd7Il@@UEme^n1Ft|6X;hGON2X-2raYHk8uB(|bvjak$EOf6GlCY(t~dh9 zAx;usmV?XB4~;wW?6&Yt;3a!g*NT~C1^4~^_u&0QEGqe9oSY8uMPp17gb$MOjYRaJ zCmdxlnG_%wM(fkfz2Y}4K?I-}c9A-{?|}E=OZ&aMAnC?D7dfL3UV&AfJ>o|FpGd)s z5bn=q_neFf4eo=SK#1cZF|j8@Vu6r5*?aADq^}_Nss0k z+lgg&zV^|nV8DNKAiWhXb&l%>=s8~ryi+fQJt#=T-sWW$C&%goyQzR~H*p>QgZu6Q z{whf*)_9JDhGpjRT)OYemmRQ`=Dr0&);Rbrt>pUXGQO-MMXV^kLib9u=ak7D7ttrr zU7@ItU_>D_>S1>TNu|=m5lI4UoIAkg0i`iQ3)|%sC{K$pGAFnswQvH*M$hc`qfy>r z(i^YuU;K|N`;$qwvh{#KT?VzkRNHC&%au6Q{#YAc>yiVQuyH54L zR6MNjOJy$+)JFdVVlU70_J=m@ZET_;2xP4rc5g69JCXrI1L$TEU8*)=LsXqCgx365KB*z-tw~hy)OvRRKpj} zIw?%PdAP%7s+yni(*DZCu9=NVb@j$!yfOI{d^RN|Z!nK(^$*;DcfhdBl0LXZ?%5@} z+T8>}&86j^ha2sUrMDXdkW;*ceVl8or$)Nr6)CB5SOPTsIiqT8uXCGb=pD>$ZRg~Q zZPdAO>g$X@H{2qJ(*b(2phwK|n5mZxr4|OK+bZpt)bN zUjX~?=9zS`H2_$)dcjwxkg+kd-88r9M{NP{Q|=Zd*;MSx7lpYGKYGG;B^#AMrxd6iUM@h=51-aL8f51I}zhKTmd zENUHy+Itg02XJFdqOgxPCXm+y0Ixkcp#HT30$+&k0#XlSdfSL7Me{7DPom7_O9WJ_ zPV(;obQAm@a$jl~pYA|91mjk$EnCpEr6L&IaZZD|POME_a#|X%`uExpM-UFLhS($g zC}h2Rhb@A#sg&QKK5R_5djoAGhQ0ibp(3N!pcaQl!D*o-rDLWS;mYL?RtM0(l=!b< zFi8=H+4lbZ+?wa?_b}E=Z0_+<)>?+;nxUIi>Lm{->_H$fuk0Sf((1%v6nq`*%=X5K z43>@HAAq24HCW$ISY7<2rj(qAFOD@b?4HCD^m1t^bXvM?uCjIbNaC&u^0!Z__`;z8MVcYjr^Ir_Lt>9l@$w}mK?cJ;U5|Oel zEp@LQsEd}jA5u&|Yfmw~IP7SPKyJiOwbPi|fQ<|L&hQAIroB?aHNOZ!ac$vN!{P!@ zIsu-I$T)&&RJJ8z=!o3{Qrw3-1dm2XBI984L=0XeGFS>hCiP>)1w3k`r`dPqAe$yF6Oo1_ zf^wFdl=Kr}0nETU(AV-Y3jpxLGOEzVFHO-6oR29GW^x^`*KcM{Vg?UN&|bs=vB)xn zjr>Sv)%grvurxZ5I*Eb+g5>N}PtRZ(7DabAIKGTzYuFDgae_EM#5!g{FL>wPV7RXX zetT7CnK%R?R4@i=FkUtGy>3N)(y$Q>hg!kmI1(#IvK(7*KY!tZY>Gg!@WM+)Io4yx zY>?=~S>r2m{v*PF;-UGSG-~#Am<~1XEn%K%#2Es%Bs^9NutQ7$%VWEOoSNa@*ZTx{PLN6je74uagtgRU`H=<{KATY-qn4*5Md=wP zI5Imfp$MX_dcwt1NF+Tz=k9(iryH?KLYvMg6=g_)nZT=#q<65pa1GofY#=i@59hFZeJ>;lz8m=e*Y9@DAc`UjXukQB-U>6$^xRG=bJ67i{zB>x z^RMlF-S)_xISwr?KuFKuR{R0v%BV_KYFReMbzQk|Z!8&O?5?QVwURpqTS!0?jMGVEr&Y zmlKvI=5-%d}3N&`WBS%wr&7405U(aU|v4Pe!>l?A9UUD?wPtZe8IfX1X zMrtaU*LnsGwP%j+1Vipf@IBHgB>B{Z?xn6d!YX(AsCe?J2CN8%;=28iSP1%FQ&!&3 zP$5ory%A4sTKO?{6BPBD?~Y2bu=c?|4E@T4d(1wAK)C}+2OO^lKj4zl`wxQ zJM^@1KXqM^vq3mT1ESy$JgJ10Fv~~R8I@n_iW8+etOu;%XU_>W1X1uX1Mklu*?Aj5 z9Od4{ol4}sLQ6P8*ntX61iX(1+-5V(rLC4o1WVs(hJ(RxaCMqu`%=x_f<3v<$!Pbs zd@aQM!{)_w+t*{4W!s#rC51z$8m zgr#zlI;4{_1F9jxv)ub-m)3L80nK_GJj%sW&gwKw1RH#VGP@I1#S#G?ArfyWYM_ zz)Mcm|F{zGC37;Vw4z3O#-vV=r-|QLy!@Bn$3ZhUDlC}_4@FaJf zKHXa2f={Zb>K`X!7X;=jEIET+NQ zR9H%67vY>6h8#3H3VENT(I)nF*W|nI(dYNc$#r5PfX`- znmwcolqFd5zztB%^wC|vh!Vqw2=_Q=iSr~%+i*{$>hcZ9s#v+Wh>Vt0kZF{}J-3<1 zAK;}qLVS$arPu3^sW0&VUEbS&C#UXz?XwMi$lfbyg7r!Q0-&aRy6+b=j?5`A9D0rn z8mw0m5`fu$3T}&17D4~+Ekqq={Z&TnDeEt%!2eT!+{FHelgSlqO|Y;8(AbSe5;;(6jZ{W}Lu9v>zWOi(j#LJh~k##UJnBwB>#CUGs4m}OFStjF+81ftWJwg>YeWz-ddl}!QU4H@$u}~4>snT-px#>Kl zLomBhV186BR*$x@XFM^k`NgDW{!%e7;0Tx1IOStX+fO8ya2O}dJ zdIOp;>R+<@bf{Oqx3Mh$H7AC~wQL*8P=J>IsEg)^>t9bs(* ziq8o0Mm^M*L(M12?_V*|sX81r5&Zu8_b?smEdeUtq&S2>JSh3EH{Te=$*;djU;97)!RXM-7rc)!Y`?JOCR84@A?$)4Lpkr>gy1%` z&pGyD>g(IzwE%U1HvUNh|GF`!Cs!|DPD2Lk;zmv-{UwmV14u8iPs2DwzyP}$vGP6- zp$x(~=Hmcy=vaTzsC%=>qVxCbpHfEu`^l02Ymw&vk$10$D{S!pb-23f&Q-ZXV`{B~vkNq(j-}5Cxkc+->>R01cUy-h5=0!+|hO+V( zoXYRX>e~?)_CCWDcrXsfr0Y*oP|`WatcFKVJm$}3gjbf6NgIr8v5jiJ!Lo_R^g4PJ zwnH$a!0&Rv&X0j}I|m0KW&;#rf7 ziO=HX^w^piWz}GMF0`HrYa>GnS|fvNwhWU1(uF2blLoz7AJtO)wF@}7d3@9a<2xfS4?9UevPDGczH=#Pc~%STA010fJSfi<*iEU+Tvm-QZa;RG-`0fL;)0pjbapP8&XgZdq}J^ zwHhENL_Y@ID#+~wA{OUS1Xj0fx&mp5gjGE-wOhadB;$D1SkOEh6)~JN<|9Q{2C=JL z4k4=LgpLa!h9%1HCTM23<@2d3R8Vm(s9X&LU_xE3MTI3l4NP%Zg{hq+#aZOCv7t(m0XB1K_{O^FgasNa)h*>}nD$Bx^Q8S{xT)5oNMSdkEnZOyL zk#s1cki3Kb)Ne0%O@W2)DL53hhX?Roh;{&#h6RDL5$5_pa*1gq_NngGMlxf1l&e!v z3nc`%A%uc!u;H=%8}9!MBpQL0B6v~j5@7XxoY%5YKSUS+M}g^SQ5{j;=;=y_f5ekx ztx-jr=1>PHz$OkEqfwNX@wOhBc@$Gac8C)2j_};I6mnQ)plq|$+cp1~%kHhpiC2WP zh1l78#6;thhcEi`l_j!~>-XVV`DmXBmi2F3E+9-Pf_OCFl!RfAOtXG=$13BnrDIj+ zhKVE*q8}<;%#-klPPtJOrltUUC7R81&*k_&GLgM?$A zP#nw&n3zgCNw90$PUO^-5l-nx^oqnrqe)=Fw<&G5WK{kEdkvyiHSRM(FaTihTqQ@c z?**p5zpz10C?Cae?tw6Gxgn)$NS@Uo$w>5io0T=M7_xZT4d;sJg4qo_P8|%&d;%B- zGa7cIDbnr84T+;NcJR2{kp!LtU8BST0o6*;hk0hhZNdgcxz?9n=CPig0#MJPi1f-- z59%?`Q$5aEQ!SheK(K-#;U>~-SK_cdp{E(db{**q41R3^o`pZw`lhi^aW%$Krd5;h zh()E`Kf%VHgon?E^-Q@m*$=CAU+~SwLRf|+Kz!$tR8CNG;K%{MvHuVPPQHJx&)Nf_ zn#kmd0L&TRR9dP{dAnIfFTC`& zeTag6)BNlDPEW<;#jzu60-}Y};apclFPwB~8a~=Y(gRNSjJQaf+3WN?nL@vbo4^{S z_z%{+w+x=;=HdJ~o%9rqs7mN>1kE+&_{JTwIqO~4wM5iN& zK<9yo!CZF%L6cx+C)%73vIPPm%^fZk@1jMa$}9Z^UASPp@t+zEx4B^0F5 z*m%g3b-8~n9-+CEeoaLTVw!C@sn}n}hbY_QzbdjRgsm{6Si+L!;oy<{s=9P(} zJK$WJrz@yrwjr>}IJoxKncTbp&vvG);K(E3ad_2CwG7p^a82)}?&5-5au|$_-I%2oOvzw>f z)ec8ntc=rFgj`R8`zI*7{Jno(e%>O>cDlHjo(17<{e?BRWgn5G1sMQ@&w4PJ+$$hU zDr8)aq**si^8m~@LyOlk?ecqnvqh>>(((oy#nL6;tyWMfk62vo>h`4(6vPnPDB+2F-G^hv|)qeM_Novd!QJGxfy-;$T z!ZlmqzU~+?L$4Uuuyl1UZ%JSj>b}H-SSE1hjE+yWuAN;6kac!J7%qYyL^&c2u0J>! z6)EeXiINlMWe-Q*?eoq!!M2nQT`M_&ipg%CpcnVK4`d7np%}8wr5}g0;Ot50G*muG zh+-Ji^VtfF!9n2F-fH5)f}ax)IU@31PMsqpa8&XTVzXib_ki1vrZ{gA#rK`{|wuJQ-PHqZixbJ_oFAML4_XV`Ieg|jV8 zK=gCUl8lXpf6rc3U|Rl%XVYAh*ZJeXfWat-(;5X8HZ~AG#b@htSe0)iKDorJ#RX#! zbCVLXe@dzWNhrFb)w(HY3`13A@(XV0ls2)_Ie+%=o`5cHt$jKLh4VOB_L?1=G$g-)(0LD@PBsV!^zKbpbgQSv zJ*PHh`A0TSJQ=DoDBrh5EE3k?mJ}qIY;3~LJNP(Bb={KicUT9DiyDZvs^S}$(~~~KPVSQ|bFn;GZ2swMK3pq@#p@3tv7+h`y3Z+)^%}kF zNm_t{?0&mOl0S2k7r(!+`ZC^V?O=AF;PyM}a^(nToQIa(+5>#do>EqB~o zcpF*IZD!mR+I&ki(D_mluHsbEJV}@~A$|YhyBWLI4>v>IGFcI==!6P~?%2WtH33JZ zW|mOZNRTW4-jWcRO$bR0liOvOHa3cCMY}gJ^4YTqQuBNnJ%w*%H+>F1fC3blm{rWv z_nw%H+LxS-S=h7&DOQx^26fBY%p8=V{19A7Z~BCz#825(5glu@-Hz!gj75zs1)VUiBs>Lbbd8N?oHpwhRlwdASY+> zgUg2MMs)Ws=G}Zm`P_I);on%mj7OeBaVGGZchM>wSZgC0%UQ6hxd9_5pyC*r++gx; z4{ANrhpgY}BzHmP43xzxO{0#_a72WnZ0M6-x~R>KFRtT{7CX|S;NbjnvJe%~IPOCM zw$`q5JbK%oG^-|QGU+J!u;nB)+GQy@12mNH-n1Zadte_qi!R5FX0-SftvCllr)RIp z*nwwJ4rXi>NPlBEwuD|Yk6L=d*cy|>h-)OUKw8-_XjKeeus?F1G*rY~X6+=gomkoG zz|B`hztSO|CS6i5>zXW6Cacxb;J0N0{NSG-_&SUqKa~|Affi`K{HT0!H3xUSBwMBw zOsZ8K>3y>EnXlBSgyciXA-wN)=FMC%@Fhy=NJ2Ba!+4bN&g*p__T52+?>D8bx#S;bUrLbatix7c z(bTOwjufPD{wH{N1-2LRb4IdyQ8^}x?e+Wk1vKah2rVqfId#LIZfi9z2;f}cr{EQ1 zbKzS{`UtUydK(36IhFjjm=jH@sOaa`<=Wr4y?OSHf=%C0FCIa?TR27ob~t3GoH}D+LFY%}hc7$OA`0FxRA}X||5jz-khj9!ZYPhEPNF-;W}e&~ z62BZbEe^+VaFBFzAr9wHIWAKh))VIjWR4jb`ChT$z5mU8 zRobfcX{H}3=_M&tcBeC{W!X~j$9jnYm3h%uEOzA{cEd$f@!FKOAdeCBqn`4UdMqEd0G;`G@Id@F%-riHTnztio#)zQN3MeKL?xQqcIDep^prO;4A}0Il$I-;2 z=l2{3i>(yG*)&m8H`_>O6Zg?^B!{f7ooG%xZ0Ba@*ix7uSDlR*yWf({%T7kt{f6^P z4Ano&y!!Uya|7mEtWb6i^>R2Z%OrjKT3@x$Re*57vb8ftt}LQnFk_tG@r}4Z$d06U zK#l?xXAUN9Rp{KnEkAl5v0=C>sOn`)ydfj&Z1|iJX$ZLlvlIt7n!__t5I-y#g#eeW zNQ)EKc8RDb?rWJ8G_3rMck5B`{7rJ)(BbJ z_ry-#h#;#wI!JkRtF2QuRSB@Ra>sE7vHUk|wF8Ykh37;!iVdgC3xf545szdKRi(}!j z1QOSmX@;{W7d2O*zcOQ5_6?x$D%+I>#VfTAWpA4u+ym6!jn;g1o5$R2HqsKKh$6JJ zVWehs%!5(rS#l*Pi=nelD!#W|T_Pbl_f|PtDDpV*uIce0SfIs>rf3Iha9t9aza#WW z<@nI%WGQOLG$ATQD*LDgsLmcvMK}|s`cX`v0+cn7 zPr=S$@yfTXz-JcUaph~5Yd!!-wo&(G<&mHnp>2m6HW@vY{7G>RC-2_y{r)RQa7>T|nJ((Gw6l(B7CZLgkxl(L);ytx;XP zZJtgz-Z{PY;d9?J^s8%2zeKTqBQ>wjxzU5hjUCrz9U%AR3*XIm?`bItaR+|Lo;XVo zbh|sC-Db733sORX&ecCZfgBv-)^zJ=ikG_^U!iQeSs_%tT}T0YtR<`&I*R+Wpf
yh1*MC2jV;lh`aBc-2c~YJdVgFf08!wpB~vb$AI(mVv0EzkLqlNYo+99btBZ(4%wabyL! zte3lI%Bg1vT@dzQOC7~0<=z#Vw(O?OVk-!rklDtw@6ylnHh7r#V3&)3Ef4>G60)Fq z2OeK!y_iC?uAgdCc{6)3vg=hRXTKW)O>MT#6DUyf?Ty+HyXsgGnP;f!W(9pX-QwG6 zVDw(VG106L)ZVVwIb*&GrVlxj{f)lh9!?WK3*8Z^G_|_^5~)dx@tQTyZUDN)wE68O z+exB!7y?f8dC#z+Yx@w8NE$7i#%1YH_!Lo{gF73pr;kw0Xs9xbo|7d40fMDaKT-J{ zUUATFfM9W5iy8jqOY-IrTqfl=F}8l$y_$J44GU+j(pEqWX-yc<&mF0~eOqrkmTXOu zXDafY`Er*!evE!xdh^p^9V6O?7T&*cF`N6jHV#cD*!;jPOye8Kw zeN%hGyKFaKO-Hp|mnPp=o^G4m!dtCj6<-zttUbHWP+CUNW^=QQ(XYP>C>m<3%rAen zhQrQUYl{c;rpGegU=t9ATe(6YDQR{GR8CqqW~Z-KZs8KICJ@z)34J8O1aE6asN*7f zidy|e-s)&~>|77@-9q~Tn0|rECwkwTg2ZBc(uWM&8BQCyFG+f2G6u77Z)nL1_HdRE zZXm=65#=hFz*sBtJ_vc$qT4_1D{k%mGw1t>m&>yEyUGjg4%N8NGRf<#4;vI83B

  • DS*UitxR7FT1!hkY;`! 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%0AV#9uC69M@_dFahq4NZ-_A!E}~<;)H50f}Ly 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 a!Ep&s+V}O`^EgKjQE|J{w$Lql7ybv;kHq5u diff --git a/docs/screenshots/04-feature-flags.png b/docs/screenshots/04-feature-flags.png new file mode 100644 index 0000000000000000000000000000000000000000..a70041fee738808fce92d3a96ac79a452ba0b251 GIT binary patch literal 120764 zcmeFZWn7fa+XjrHq97nGAaElR(ji^a(z(>aBGO$;mq@otcXu}|u}XJ`)FR#8OTCx3 z-v9gmzR&Od{(N}m%kEy+%Xtr9phfA&W2SHDV+!l*>#M7)i;Ih!nsolW zxY&-~-rkv+naRmX1OoB>y9je!sKV+8ug#%28D<@ZX60h0p?lyoMxP zvP7K-NCX50YK5tS?tHwwPma%AWo{da%*_^CZn1p#l}@15U$nqapwu&!M@15KUJaSI zx5-;wJ4>Y0Mq>eukE@B;B~jkyNp(I>@9P~Jf;;Ud4hM?!@bTed-}}3dJ*2mCHCFI9qv zhtfsV9)x9c`<}!;i?PA3M!o-cSEd2I9~T!lJ3EU<@aL(R6<`uH^K?;vN;lZb$Kk#| zAVa?w&)P)&^xvYy;gYIqYOk1p9{FXTfRx_HF$a`OOwb<+0fq41d`$AZ;9FlNycgvMal8_ZLUUY7`VijFsd?N?O@;V&lnx%m}BOc<3s&O@}~k|$odHhrvEOE zl5SG3Yh3U62!-?6bKtRud!pkw_Fw$Isf1>oaxXus=1(Izu{-UFMxAhKht+2XU zjc@kTr%%ApG1KB(|Mu!S{@x=z_e#Z;BL8U^+NP@lF?;NdEx6jx1%^C6TmOg5^ zZ_T)jx|>Wz;BAQa_VvZc7+G7Fjw_H%YJ$OyFxc7N{Ot6!);|qm6jfFp8Of4@-`!sI z#j(hyc#e{6s@tXsdG0lzBYyt;X*~~{pu6j#O%ph5$IIlPV!i)XEc?-6QCSQ7N}#DG z1cD&a^QiE?yA8&pMK}xzwkE&R^%TB75R;LSF*eRsFXAj#qr>;UUZ!~X9;%vfHjij- zJnQsaZeF=4d^WO5@JdQh&{IsN#?jnJ`+7EXc^SQBntvAjEi*bgI+@RLYi%GYm!Yq> z_vmD9ejW|$g{jp5qvfC04+rZuyPX~n3E!aR2X#CTF>)Y&(*(H&8>&2 zKm8IG5fKp{PR*KmYC1u@(6NIc!8=wB7-eM!Jzj_0`b5fk9R(kJ_CeP-M)wMWoSmQA z(b5l2G{lwN)dzvRu}_8IuGjJ1VIe9}wW+$KFJZ5?GLEmdiprLjm&38GEG?_Gtz2Cj zsy)_IoMnW)Z!b+Y^I~FRk&_UsD(j{&R z3K7+i0=3xa=y&08-n@r@rWDGXzu4Fgck32Pad4G=C9|d*o%g@{qTL?x4ZMUs%I&=!ffdR1h@$3%qFiO>h3|M zQsB?E4EA<2em|x}A23R|x?ZlQdEd@EFA$T<%)kHs{kxEmkjgCW2@YvCG^ree&dq``P%HWnntH?x7(?lzhb{

    f= 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 m1cTk&l*)dm32t^lXniM4!j-gV4L*X0