diff --git a/MainCore.Test/packages.lock.json b/MainCore.Test/packages.lock.json index 66532936..9d84f192 100644 --- a/MainCore.Test/packages.lock.json +++ b/MainCore.Test/packages.lock.json @@ -127,17 +127,17 @@ }, "Ardalis.Specification": { "type": "Transitive", - "resolved": "9.2.0", - "contentHash": "bggkCJU1tLIV/hSK5s0lbyFAOLsNpiafFPfrg2/0arWhmst8Y90CWQFTNE5aVJJLV1Ja6Jdf4rogsG9mYiRUSA==" + "resolved": "9.3.1", + "contentHash": "GWrE6BA0smWFLbN+XPU2l5rDF9Uzelfbb3w35jJ0CGIat+p1ChbtLcbkvYRMEculBHOAo12omwAAOm3VFWkoJQ==" }, "Ardalis.Specification.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.2.0", - "contentHash": "0cy8NQpPemf870dwyk8orhIi5LSrvxtqUWQeJ+VfrK8eaUifGpXRKRR7rFHaIQRl4kzrU5Mz6RN0OsKs8fgu5w==", + "resolved": "9.3.1", + "contentHash": "QbOo4E6HWdKXZ9QUrqcgiGN4EKtzt0kzGzqr2zc32q5QESzBrceJ3GX1ymWVdCCOzJO1+GPm+/a/5ovSkfrLoQ==", "dependencies": { - "Ardalis.Specification": "9.2.0", - "Microsoft.EntityFrameworkCore": "8.0.16", - "Microsoft.EntityFrameworkCore.Relational": "8.0.16" + "Ardalis.Specification": "9.3.1", + "Microsoft.EntityFrameworkCore": "8.0.19", + "Microsoft.EntityFrameworkCore.Relational": "8.0.19" } }, "Castle.Core": { @@ -148,14 +148,6 @@ "System.Diagnostics.EventLog": "6.0.0" } }, - "CP.Extensions.Hosting.SingleInstance": { - "type": "Transitive", - "resolved": "2.1.13", - "contentHash": "9MyyTqdZ1J6OQMAZLEfiwEPIiulKL3Wfv5TAQSfnyOD/vRp+kiYZOGSANhDdJhkpodIS39GEc7kTr/feWVDPkw==", - "dependencies": { - "Microsoft.Extensions.Hosting": "9.0.4" - } - }, "CycleDetection": { "type": "Transitive", "resolved": "2.0.0", @@ -197,22 +189,22 @@ }, "FluentValidation": { "type": "Transitive", - "resolved": "12.0.0", - "contentHash": "8NVLxtMUXynRHJIX3Hn1ACovaqZIJASufXIIFkD0EUbcd5PmMsL1xUD5h548gCezJ5BzlITaR9CAMrGe29aWpA==" + "resolved": "12.1.0", + "contentHash": "FqWEn8BdbbFEHGanj9K8SVo+LyBeFWy2rolaE+e1TNUbifr8M7Iss+I1AqTSc8kjKtvjl/WN4XIHiRpslh42bA==" }, "FluentValidation.DependencyInjectionExtensions": { "type": "Transitive", - "resolved": "12.0.0", - "contentHash": "B28fBRL1UjhGsBC8fwV6YBZosh+SiU1FxdD7l7p5dGPgRlVI7UnM+Lgzmg+unZtV1Zxzpaw96UY2MYfMaAd8cg==", + "resolved": "12.1.0", + "contentHash": "p9ZnpVCUvkelSfqFYZP9aMtnuRlDRkrAAPqjQGG+1mVVn8zxE0bc1/RAFRBZKsPglbMBQOx8wXOZhg2fGstacQ==", "dependencies": { - "FluentValidation": "12.0.0", + "FluentValidation": "12.1.0", "Microsoft.Extensions.Dependencyinjection.Abstractions": "2.1.0" } }, "HtmlAgilityPack": { "type": "Transitive", - "resolved": "1.12.2", - "contentHash": "btF/9sB65h0V9ipZxVfEQ9fxDwXSFRwhi4Z1qFBgnXONqWVKZE3LxS0JEMW73G3gvrFI7/IAqLA1y/15HDa3fw==" + "resolved": "1.12.4", + "contentHash": "ljqvBabvFwKoLniuoQKO8b5bJfJweKLs4fUNS/V5dsvpo0A8MlJqxxn9XVmP2DaskbUXty6IYaWAi1SArGIMeQ==" }, "Humanizer.Core": { "type": "Transitive", @@ -221,15 +213,15 @@ }, "Immediate.Handlers": { "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "lwmd0BjpMX5iHLvtVTmllhaC9U3/gebp4O1CPFYYBgEODG3flBt3WntrpZ026eiPorFmZqifQMrhm1F/W7BMCA==" + "resolved": "3.1.0", + "contentHash": "/v047E5HPSaPQUe//UzpbAnx9WiOr3Bcj34rX1Dqb1bI2UsndJ6iepHyIvphpfuWEmtK/Bvr9uhpfCWP+vm0JQ==" }, "Injectio": { "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "vobNqxNLUSri8ESae2FSzPuuwJGsQ1s1IAhCE/Orxq+uyvoW91dS+GP4EX5hRRFuu2QXIaSgVzrMb0AgFjfIQg==", + "resolved": "5.1.0", + "contentHash": "tHtbV+XCGYy7YbOsSteDIjbsQvpM5GM5Gj+6ecw6QxywelN6F6rUZIu4Pd6QiuAu+zJm8V6aKCEbQcPi7uurWw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.4" + "Microsoft.Extensions.DependencyInjection": "9.0.9" } }, "JetBrains.Annotations": { @@ -244,385 +236,385 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "AQr1nLGi1riN7XA2c8uAKAr2fo7bvZ++VRnvKyh/rhsj2f4x0Nmgk2j8+Rw9RaJrzZMcv0Mu4nYNpAdSui/FHw==", + "resolved": "9.0.10", + "contentHash": "tWbN2uzG4uBxxMjcHA3Oa9ecAYjyRTfDwRbgQ7ueyx7eEgyYbBiKADY2rllF8wO3dHUvN+/8fgylwSGMfiCtVg==", "dependencies": { "SQLitePCLRaw.core": "2.1.10" } }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "bNGdPhN762+BIIO5MFYLjafRqkSS1MqLOc/erd55InvLnFxt9H3N5JNsuag1ZHyBor1VtD42U0CHpgqkWeAYgQ==", + "resolved": "9.0.10", + "contentHash": "WjjxVyOTVs85V7SUe+lZjtGOEeVzF4RO8amrqL4adgbyThNq7vGCFzPw8buZj44gHeQYD5V/uZ/6XuqG9Jq+kA==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "9.0.8", - "Microsoft.EntityFrameworkCore.Analyzers": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8" + "Microsoft.EntityFrameworkCore.Abstractions": "9.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "B2yfAIQRRAQ4zvvWqh+HudD+juV3YoLlpXnrog3tU0PM9AFpuq6xo0+mEglN1P43WgdcUiF+65CWBcZe35s15Q==" + "resolved": "9.0.10", + "contentHash": "I3TWAs5Lbzmzu8S0T6qXhzBiO3CznYLrfE59W0npkqNHfWGH8CgA66LrHMWxWOXVTD4145QwYqiWNCdLwpJ1Ew==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "2EYStCXt4Hi9p3J3EYMQbItJDtASJd064Kcs8C8hj8Jt5srILrR9qlaL0Ryvk8NrWQoCQvIELsmiuqLEZMLvGA==" + "resolved": "9.0.10", + "contentHash": "mXNl0Gg3l3zGrClLCHepB+b7rYVuFfB9qQJwya0dUSHFuR1T0jMD8KxuNVyhQSfoWIepanhzjcG8TUNGXOcU0Q==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OVhfyxiHxMvYpwQ8Jy3YZi4koy6TK5/Q7C1oq3z6db+HEGuu6x9L1BX5zDIdJxxlRePMyO4D8ORiXj/D7+MUqw==", + "resolved": "9.0.10", + "contentHash": "IJNrG5vdmFUvHR8FLLFg9AWpuE8qW1DTEN+fNLGbNTu6cnpZzzqU6+aknAGtTSAEVWosJ3BZ3TOO9wpifUvv3A==", "dependencies": { - "Microsoft.EntityFrameworkCore": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8" + "Microsoft.EntityFrameworkCore": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "5WZ3k3s2LcuyR5kBjcK2pkEa2l9Yo35WzSdyitfk5Y9GBn2jIFs8uNhYGpD9ZZ3g+feIMHXUFQ8psee0tst6Qw==", + "resolved": "9.0.10", + "contentHash": "7fFF7FYlISZYhmeTtpjMZIEBxykqpKp2boZpuHTbIitN6am2QlmfVctrJRHHkI5u5Oh5E7uT1DMI68cpBAP4BQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyModel": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", + "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyModel": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", "SQLitePCLRaw.bundle_e_sqlite3": "2.1.10", "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.8" + "System.Text.Json": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "9CXB4OoU6xqZymiRRvxEy6+almeSciSKOoPhr8CHlGgBnYHWBZeGhEmqzpXyv2ohF3XC/sNxEcZ6948grKrWew==", + "resolved": "9.0.10", + "contentHash": "6+ee+erdXSzxqB6Piys2ssldqhR8cQZJHjIPKWrh25YTYJhFUmTwB0nC8l/f+U69NoGg7ZIOwdg4+Qk2YV13Ug==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "9.0.8", - "Microsoft.EntityFrameworkCore.Relational": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyModel": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", + "Microsoft.Data.Sqlite.Core": "9.0.10", + "Microsoft.EntityFrameworkCore.Relational": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyModel": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.8" + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "4h7bsVoKoiK+SlPM+euX/ayGnKZhl47pPCidLTiio9xyG+vgVVfcYxcYQgjm0SCrdSxjG0EGIAKF8EFr3G8Ifw==", + "resolved": "9.0.10", + "contentHash": "cL6iTxgJ4u5zP3eFOdBiDAtmE/B2WKTRhyJfEne7n6qvHpsMwwIDxljs210mWSO1ucBy7lR1Lo7/7kjeZeLcqQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "grR+oPyj8HVn4DT8CFUUdSw2pZZKS13KjytFe4txpHQliGM1GEDotohmjgvyl3hm7RFB3FRqvbouEX3/1ewp5A==", + "resolved": "9.0.10", + "contentHash": "2iuzwIoCoqZJfH2VLk1xvlQS4PQDEuhj4dWiGb+Qpt1vHFHyffp497cTO6ucsV54W/h4JmM1vzDBv8pVAFazZg==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Caching.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "6m+8Xgmf8UWL0p/oGqBM+0KbHE5/ePXbV1hKXgC59zEv0aa0DW5oiiyxDbK5kH5j4gIvyD5uWL0+HadKBJngvQ==", + "resolved": "9.0.10", + "contentHash": "UAm3SLGAMlJdowbN+/xnh2UGJkdJoXVm4MsdhZ60dAMS8jteoyCx5WfIab5DKv0TCYpdhVecLJVUjEO3abs9UQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "yNou2KM35RvzOh4vUFtl2l33rWPvOCoba+nzEDJ+BgD8aOL/jew4WPCibQvntRfOJ2pJU8ARygSMD+pdjvDHuA==", + "resolved": "9.0.10", + "contentHash": "ad3JxmFj0uxuFa1CT6oxTCC1lQ0xeRuOvzBRFT/I/ofIXVOnNsH/v2GZkAJWhlpZqKUvSexQZzp3EEAB2CdtJg==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "0vK9DnYrYChdiH3yRZWkkp4x4LbrfkWEdBc5HOsQ8t/0CLOWKXKkkhOE8A1shlex0hGydbGrhObeypxz/QTm+w==", + "resolved": "9.0.10", + "contentHash": "D6Kng+9I+w1SQPxJybc6wzw9nnnyUQPutycjtI0svv1RHaWOpUk9PPlwIRfhhoQZ3yihejkEI2wNv/7VnVtkGA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.CommandLine": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "vB6eDQ5prED5jHBqmSDNYzlCXsTSylYY7co9c7guhnz0zhx+jZ8BTHgO7y/Wl1dV2jAO15mKNWuyHRIRtWwGQg==", + "resolved": "9.0.10", + "contentHash": "Sg400UyKl33kOpqklEg1MIM3lpY/aWi7QZTB2JfFpKgxnSRQl9J6tHiKYll+Rd603P+71YsDy/zqBYUE/3Xeag==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.EnvironmentVariables": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "9qileEYXDodlPN9DfPd5sHSfU2nSrI1r5BHVqLaLyb/7mPi335cy4ar/0ix4tXb2Aer/Pu4e5/zdwxt7lrtSyQ==", + "resolved": "9.0.10", + "contentHash": "Nje8x5JDRi7uzf2q3NpXiBleRRJAxJMnHcJTi0tLyqd6eGIICRuF6qxgZssMS1r8xXDoaUr/2ZLQ6Cui1Io+Qw==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.FileExtensions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "2jgx58Jpk3oKT7KRn8x/cFf3QDTjQP+KUbyBnynAcB2iBx1Eq9EdNMCu0QEbYuaZOaQru/Kwdffary+hn58Wwg==", + "resolved": "9.0.10", + "contentHash": "kYWY9VRoCKQJCLKAA4Wqn74FVnytqosF7vFq1chJ8st9mGZS6SQrkoZg7GmcpqrRRUWmWDOZI4nFdoFnxsI/Ug==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Json": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "vjxzcnL7ul322+kpvELisXaZl8/5MYs6JfI9DZLQWsao1nA/4FL48yPwDK986hbJTWc64JxOOaMym0SQ/dy32w==", + "resolved": "9.0.10", + "contentHash": "bn+qnwuOaDelax8PUw30UTjLOuEd0lGWqUG4Z+oVr4D/gEWouCWOyvCVkyn+PWbftPlnmAmWxd4J+7ljwE8wVw==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.FileExtensions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Configuration.UserSecrets": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "UgH18nQkuMJgxjn1539I83N6LhnKQlLhQm3ppe+PGsFpYsC6eGpF/1KvDRm/bmqsrg0NXhurrv4k2r0e8vWX/Q==", + "resolved": "9.0.10", + "contentHash": "l7em+qNfEdGlwRm8Qk2rkzqjT8xWb/EosoQeTvJ3kZYiRo5inMj0nNcZw51dUKwGO/LW7uNMdqNNU3P0pB5JqA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Json": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Json": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "JJjI2Fa+QtZcUyuNjbKn04OjIUX5IgFGFu/Xc+qvzh1rXdZHLcnqqVXhR4093bGirTwacRlHiVg1XYI9xum6QQ==", + "resolved": "9.0.10", + "contentHash": "iEtXCkNd5XhjNJAOb/wO4IhDRdLIE2CsPxZggZQWJ/q2+sa8dmEPC393nnsiqdH8/4KV8Xn25IzgKPR1UEQ0og==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "xY3lTjj4+ZYmiKIkyWitddrp1uL5uYiweQjqo4BKBw01ZC4HhcfgLghDpPZcUlppgWAFqFy9SgkiYWOMx365pw==" + "resolved": "9.0.10", + "contentHash": "r9waLiOPe9ZF1PvzUT+RDoHvpMmY8MW+lb4lqjYGObwKpnyPMLI3odVvlmshwuZcdoHynsGWOrCPA0hxZ63lIA==" }, "Microsoft.Extensions.DependencyModel": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "3CW02zNjyqJ2eORo8Zkznpw6+QvK+tYUKZgKuKuAIYdy73TRFvpaqCwYws1k6/lMSJ7ZqABfWn0/wa5bRsIJ4w==", + "resolved": "9.0.10", + "contentHash": "qCIWxEPt6Y9Z/Vx2R6JsfX7pwxIHC2GYlkcFbTox3MpsiNexyLkvPFTNsfmAaKpjTZ6FhNmvY3BdrwLX4+X0cQ==", "dependencies": { - "System.Text.Encodings.Web": "9.0.8", - "System.Text.Json": "9.0.8" + "System.Text.Encodings.Web": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "BKkLCFXzJvNmdngeYBf72VXoZqTJSb1orvjdzDLaGobicoGFBPW8ug2ru1nnEewMEwJzMgnsjHQY8EaKWmVhKg==", + "resolved": "9.0.10", + "contentHash": "01x2vz0AbIdfNUzEVYFq2HSeq1BmrSDpiG7nTmwjfd0d39sahQ8T7dhSXhH+YnZyaLWyMBudOq0vVa/voyNWjg==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.8", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "UDY7blv4DCyIJ/8CkNrQKLaAZFypXQavRZ2DWf/2zi1mxYYKKw2t8AOCBWxNntyPZHPGhtEmL3snFM98ADZqTw==", + "resolved": "9.0.10", + "contentHash": "iwVnYi+gNKrr5riw8YFCoLCN4s0dmHtzfUmV99RIhrz8R4d6C/bsKzXhIhZWDIxJOhVzB+idSOQeRGj1/oMF+Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Diagnostics.DiagnosticSource": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Diagnostics.DiagnosticSource": "9.0.10" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "4zZbQ4w+hCMm9J+z5NOj3giIPT2MhZxx05HX/MGuAmDBbjOuXlYIIRN+t4V6OLxy5nXZIcXO+dQMB/OWubuDkw==", + "resolved": "9.0.10", + "contentHash": "3+cLxZKUWBbpfIXLLuKcEok9C91PsV1h5xxfUsEnLSXXLNMiPDfrhpb1xajNFcejFPs9Ck/Fi3z71hYDqFBwYg==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.FileProviders.Physical": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "FlOe2i7UUIfY0l0ChaIYtlXjdWWutR4DMRKZaGD6z4G1uVTteFkbBfxUIoi1uGmrZQxXe/yv/cfwiT0tK2xyXA==", + "resolved": "9.0.10", + "contentHash": "Eg3YOEMpHWZzAgPD9YvGkQSv97AtG3II6maRQV/voDRORh4bRiyl0mVtT2PKnu1JoD9rJeYgjGCwRvVWMBaqgQ==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileSystemGlobbing": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileSystemGlobbing": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "96Ub5LmwYfIGVoXkbe4kjs+ivK6fLBTwKJAOMfUNV0R+AkZRItlgROFqXEWMUlXBTPM1/kKu26Ueu5As6RDzJA==" + "resolved": "9.0.10", + "contentHash": "KdZAM2YMYBipVp/4tSEWPLnrocd17SL4iaXdgXjR5/nheBXbfR5QfPWYoTyh6C6IW3uKR7TRMwQr2qCvtaCTiA==" }, "Microsoft.Extensions.Hosting": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "O2VlzORrBbS2it203k5FOHrudDdmdrJovA73P/shdRGeLzvet4e4yXhGx52V2PNjYBQ0IO5M4xiNcL+6xIX6Bg==", - "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.Configuration.CommandLine": "9.0.8", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.8", - "Microsoft.Extensions.Configuration.FileExtensions": "9.0.8", - "Microsoft.Extensions.Configuration.Json": "9.0.8", - "Microsoft.Extensions.Configuration.UserSecrets": "9.0.8", - "Microsoft.Extensions.DependencyInjection": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Diagnostics": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Configuration": "9.0.8", - "Microsoft.Extensions.Logging.Console": "9.0.8", - "Microsoft.Extensions.Logging.Debug": "9.0.8", - "Microsoft.Extensions.Logging.EventLog": "9.0.8", - "Microsoft.Extensions.Logging.EventSource": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8" + "resolved": "9.0.10", + "contentHash": "63yDlitelCBNl1unJsnEWVUCZHOtxbVTbTODi7cszQJBG9bIfdPYIpB9w0UIcoqVSP1C9P6THXgukx8APWRzMw==", + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.Configuration.CommandLine": "9.0.10", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.10", + "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10", + "Microsoft.Extensions.Configuration.Json": "9.0.10", + "Microsoft.Extensions.Configuration.UserSecrets": "9.0.10", + "Microsoft.Extensions.DependencyInjection": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Diagnostics": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Configuration": "9.0.10", + "Microsoft.Extensions.Logging.Console": "9.0.10", + "Microsoft.Extensions.Logging.Debug": "9.0.10", + "Microsoft.Extensions.Logging.EventLog": "9.0.10", + "Microsoft.Extensions.Logging.EventSource": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10" } }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "WNrad20tySNCPe9aJUK7Wfwh+RiyLF+id02FKW8Qfc+HAzNQHazcqMXAbwG/kmbS89uvan/nKK1MufkRahjrJA==", + "resolved": "9.0.10", + "contentHash": "spfXydiEQENFwxdgr3Y57wwys/FRjfmq5VjHGPh6ct1FJK7X+qNEWYbnZJCMqq0B0oJTMvnItAReOv4mi2Idog==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Z/7ze+0iheT7FJeZPqJKARYvyC2bmwu3whbm/48BJjdlGVvgDguoCqJIkI/67NkroTYobd5geai1WheNQvWrgA==", + "resolved": "9.0.10", + "contentHash": "UBXHqE9vyptVhaFnT1R7YJKCve7TqVI10yjjUZBNGMlW2lZ4c031Slt9hxsOzWCzlpPxxIFyf1Yk4a6Iubxx7w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8" + "Microsoft.Extensions.DependencyInjection": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "pYnAffJL7ARD/HCnnPvnFKSIHnTSmWz84WIlT9tPeQ4lHNiu0Az7N/8itihWvcF8sT+VVD5lq8V+ckMzu4SbOw==", + "resolved": "9.0.10", + "contentHash": "MFUPv/nN1rAQ19w43smm6bbf0JDYN/1HEPHoiMYY50pvDMFpglzWAuoTavByDmZq7UuhjaxwrET3joU69ZHoHQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "System.Diagnostics.DiagnosticSource": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "System.Diagnostics.DiagnosticSource": "9.0.10" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Us4evDN3lbp1beVgrpxkSXKrbntVGAK+YbSo9P9driiU9PK05+ShhgesJ3aj7SuDfr3mqqcEgrMJ87Vu8t5dhw==", + "resolved": "9.0.10", + "contentHash": "qwTRpxrmLOXZrbgQHRZ9wS2AtVa/61DFIYk8k1rBCCgA5qW0MBxxQC4BjkaI0wSoHHOv/IUXBeFNK+Y59qe/Ug==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10" } }, "Microsoft.Extensions.Logging.Console": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "mPp9xB9MjiPuodh9z/+6zEGNj2kSVeXQtdbIBHlhUYqxX22gzJkx0ycPY42q4/OT/SzFV/TJ989Pa3sA/8ZBeA==", + "resolved": "9.0.10", + "contentHash": "ponA8k4E4S0LlQ8J4ce4Yp1NND8rxww0lbADK9yL3omRpnnawiENb7W/CTgZUIZVJxKcmIwhm1IbUCRk6RLocQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Configuration": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Configuration": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Logging.Debug": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OwHQFVITsONEoizShc1yNYTUvMq0kT9j/LhwAKMsA7OZqtrBXuqjosbSvzkJZ9o+KWAozDh5Y1Vtpe5p/8/1qA==", + "resolved": "9.0.10", + "contentHash": "Uj4YMaMMLawIkpHYnDWsR2/pufV/8X3dDT1/RNhkmt8RRf6/SriyA2gxH6I6bj4gFx6yMuFWZhCgFLy3wcSGTw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Logging.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "/gMwlll21UJcaXlitUqd+rs9jH36EJz5BpFVPshyOqz5u0qyV1pFnTWm5vhyx+g6gwVYENSLgpazR1urNv83xw==", + "resolved": "9.0.10", + "contentHash": "Son+9zr7gnuYv1CcuZ8b6XhZK/UQRG88Ku1iSUvAQSZ1cFjYC+lDYRD6nBVXF2QIQyv0jhjt/MPKD7sA+323TQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Diagnostics.EventLog": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Diagnostics.EventLog": "9.0.10" } }, "Microsoft.Extensions.Logging.EventSource": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "aGMFc/1P+315d07iyxSe6lEoZ0JjOPJ+Mfv9rrV2PvR2DFu1/pSi/SItHw1iChJOZgslNKJE97g1a9nLX3qQYA==", + "resolved": "9.0.10", + "contentHash": "qhqkUWsf/CVyQ9V98n5uWSQcvy7HbyRkhyhpK75OKojWuaNKoEIfBmrHRiahmdGJDuh2Qz/nDpFOjQOi/ERtZQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Options": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OmTaQ0v4gxGQkehpwWIqPoEiwsPuG/u4HUsbOFoWGx4DKET2AXzopnFe/fE608FIhzc/kcg2p8JdyMRCCUzitQ==", + "resolved": "9.0.10", + "contentHash": "zMNABt8eBv0B0XrWjFy9nZNgddavaOeq3ZdaD5IlHhRH65MrU7HM+Hd8GjWE3e2VDGFPZFfSAc6XVXC17f9fOA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "eW2s6n06x0w6w4nsX+SvpgsFYkl+Y0CttYAt6DKUXeqprX+hzNqjSfOh637fwNJBg7wRBrOIRHe49gKiTgJxzQ==", + "resolved": "9.0.10", + "contentHash": "wLsf2TyVFFxWQPv0PRJj365it1ngIt8utlHJWSZ9OJ2k+NDa/PtBIRsGlF/NkoLwm1m+1vOePNl2MiKfk6lYfQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "tizSIOEsIgSNSSh+hKeUVPK7xmTIjR8s+mJWOu1KXV3htvNQiPMFRMO17OdI1y/4ZApdBVk49u/08QGC9yvLug==" + "resolved": "9.0.10", + "contentHash": "3pl8D1O5ZwMpDkZAT2uXrhQ6NipkwEgDLMFuURiHTf72TvkoMP61QYH3Vk1yrzVHnHBdNZk3cQACz8Zc7YGNhQ==" }, "Microsoft.NETCore.Platforms": { "type": "Transitive", @@ -671,31 +663,31 @@ }, "Polly": { "type": "Transitive", - "resolved": "8.6.2", - "contentHash": "+irkpMJQ29+o8+u/SdN+1+AP4rB4TGoKZ6gXhD04dPKG+DX2grvKJ6Z6UAK3vYkSQQcbATt+YPt+ac6/X2wVAA==", + "resolved": "8.6.4", + "contentHash": "uuBsDoBw0oYrMe3uTWRjkT2sIkKh+ZZnnDrLb4Z+QANfeA4+7FJacx6E8CY5GAxXRoSgFrvUADEAQ7DPF6fGiw==", "dependencies": { - "Polly.Core": "8.6.2" + "Polly.Core": "8.6.4" } }, "Polly.Core": { "type": "Transitive", - "resolved": "8.6.2", - "contentHash": "ImAKLH6qVDjj0vzw+QxMYxxT/NhQrHK+sZE4GT5JbIfDBOrMDbE4we3BR6SqUQCJuKdjOKf3smUjxIgOUUfNVw==" + "resolved": "8.6.4", + "contentHash": "4AWqYnQ2TME0E+Mzovt1Uu+VyvpR84ymUldMcPw7Mbj799Phaag14CKrMtlJGx5jsvYP+S3oR1QmysgmXoD5cw==" }, "ReactiveUI": { "type": "Transitive", - "resolved": "20.4.1", - "contentHash": "HMgCWEya3zMfFfrvmYz4Ec87acq+9mo92pLfNZ3GLbUFZeI6TBc2aTPg3UT+1AjPtwfacJJeh7wCwz0y9wabpg==", + "resolved": "22.2.1", + "contentHash": "P0ZaWZdRVoycwfcEpkC8C/b9mbEJmueTPkBA4PON9NiopGjUY2YhIP5Dm8lki/FLH9aiKt18NXsDwv/mgO/1Dw==", "dependencies": { "DynamicData": "9.4.1", - "Splat": "15.3.1", - "System.ComponentModel.Annotations": "5.0.0" + "Splat": "17.1.1", + "System.Reactive": "6.1.0" } }, "Riok.Mapperly": { "type": "Transitive", - "resolved": "4.2.1", - "contentHash": "UZeQSieVlHr48t64J4k2s/lvbMeCXvzsXqV2A/0wyNdPpW8Cyn47+9mfWFJjouPxoSFfEhDbxg+WRbFIHvq4Zw==" + "resolved": "4.3.0", + "contentHash": "9M60fNhHAx4Gzm3ebavQn60UT8uuFBM9kSfhepEWlEMoPhd/4mAdJAtBZmi+6RZJWTHil/VC/DrzihhPq39xhg==" }, "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { "type": "Transitive", @@ -797,16 +789,16 @@ }, "Selenium.Support": { "type": "Transitive", - "resolved": "4.35.0", - "contentHash": "K6DiLdDQNDSWI/zh14bk9vRjW8vEX2mhMI2Cq8bD72FM5rOnLhQwZABJHrWCZ3U1wb7KFFd7iQeUhvpyHVt2AA==", + "resolved": "4.38.0", + "contentHash": "FBxJRTpXZePi/gbBAf7RzN147sd6vo/TEaxQzxd7NbSxJCbTI2zu0wLmwnv3mmJAWrFDwjknJq0mB6s0b94jIA==", "dependencies": { - "Selenium.WebDriver": "4.35.0" + "Selenium.WebDriver": "4.38.0" } }, "Selenium.WebDriver": { "type": "Transitive", - "resolved": "4.35.0", - "contentHash": "C9OrObS2KLyUQDJNRY883JAc4n5q58pBYmY954hf+lGMQQcsz4Ias2mk91lHkLXFX+2qMttya4df9lGP1SLiGQ==" + "resolved": "4.38.0", + "contentHash": "3cYBndxLgPifEttQ1+k+KhKp2XBTdME3pUp4PC/eHb/hvHsefeT2WN2JJymzs+5mkqaXUp64FBnj2EG/Iyrh/A==" }, "Serilog": { "type": "Transitive", @@ -860,24 +852,57 @@ }, "Splat": { "type": "Transitive", - "resolved": "15.4.1", - "contentHash": "nWDquiKJAJ+H3O5/kzUfVKaFZ2iS4K9GkOrqw8SGCm28wMLWWP82bq5sWuFZq/p4IgwqpS8u2ZhClUPY4OoF+w==" + "resolved": "17.1.1", + "contentHash": "WwSoJ6aPHlXwWS2jfUtKQIgzQQDSuE/iGbqEFRcM1DKVQelf+XSfnaur6oAqzECobuJLC9nqUMeDH19gU6JDag==", + "dependencies": { + "Splat.Builder": "17.1.1", + "Splat.Logging": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Builder": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "xlA5ErMwa/mg//uC5Ajv4ns3HbWXE0VJiyfupdsLfC+1HPf2MIUUk9ViYxwearB9nkZ+mAmteVD0keBhg/LYsQ==", + "dependencies": { + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Core": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "sRNcO9EcnrCMr2OF4IxD8gcHtIAfCi98GwVZEK9X294RQEBIsy7sHwy8fndlxLguIHvjDJMz85v+qd226pwdNw==", + "dependencies": { + "System.Reactive": "6.0.2" + } }, "Splat.Drawing": { "type": "Transitive", - "resolved": "15.4.1", - "contentHash": "7iw929LmnXruYFfV5kEs5/6AgTj/3ZJH1U5ND49bqijImz6+RGkfLNpcDVKXe/fquVOfVrc8ib/egRRcLhuZAQ==", + "resolved": "17.1.1", + "contentHash": "jqCdHliVlpDtROHza3TtqP7uL05EA97ApJ7JzkJQ/oWMiBHiYT2UU2H0PRGPSFwXuOxDx7YfkLq6yACpbyMMJA==", + "dependencies": { + "Splat": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Logging": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "OSkQVj6/hYVHa0taPasaknuOLw4l8CH9oTFRNuFayDowhHtGg6+UQb2LeSJXV+EXRmUL2E/TFz2ucitnQyTXJQ==", "dependencies": { - "Splat": "15.4.1" + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" } }, "Splat.Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "15.4.1", - "contentHash": "9Bi2sQ+ImWjJyWTRlKaJ3tkpYeYwl95k/Pas1H9qUv3od/opsutBldndoWNGaImbdZ6F2sbsQr9ZXMUAzVffQQ==", + "resolved": "17.1.1", + "contentHash": "WQaWNyaoB9HCL2PmpZZPL+3rEkF/MpyUpV8GL6CmPUe88ZC0KSbzebtIKqB403MGbZOSjYe7tNv9E25XXBoRwQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.6", - "Splat": "15.4.1" + "Microsoft.Extensions.DependencyInjection": "9.0.9", + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" } }, "SQLitePCLRaw.bundle_e_sqlite3": { @@ -964,13 +989,13 @@ }, "System.Diagnostics.DiagnosticSource": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Lj8/a1Hzli1z6jo8H9urc16GxkpVJtJM+W9fmivXMNu7nwzHziGkxn4vO0DFscMbudkEVKSezdDuHk5kgM0X/g==" + "resolved": "9.0.10", + "contentHash": "uIpKiKp7EWlYZBK71jYP+maGYjDY9YTi/FxBlZoqDzM1ZHZB7gLqUm4jHvRFwaKfR1/Lrt2rQih9LGPIKyNEow==" }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "gebRF3JLLJ76jz1CQpvwezNapZUjFq20JQsaGHzBH0DzlkHBLpdhwkOei9usiOkIGMwU/L0ALWpNe1JE+5/itw==" + "resolved": "9.0.10", + "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ==" }, "System.Diagnostics.Tracing": { "type": "Transitive", @@ -1053,8 +1078,8 @@ }, "System.IO.Pipelines": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "6vPmJt73mgUo1gzc/OcXlJvClz/2jxZ4TQPRfriVaLoGRH2mye530D9WHJYbFQRNMxF3PWCoeofsFdCyN7fLzA==" + "resolved": "9.0.10", + "contentHash": "lwI0mhHcCxMtNSxB5ate9Gc9petWovRBUprtjz2yiIDDZPGBIaUiqNzQHJzjPuzTnvNbEMilpAXjDguKsU/2Fg==" }, "System.Linq": { "type": "Transitive", @@ -1127,8 +1152,8 @@ }, "System.Reactive": { "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "rHaWtKDwCi9qJ3ObKo8LHPMuuwv33YbmQi7TcUK1C264V3MFnOr5Im7QgCTdLniztP3GJyeiSg5x8NqYJFqRmg==" + "resolved": "6.1.0", + "contentHash": "M5cCC1ZMkZr9jbSQGTHnVkb5TDN67qWCV7AP8TAHdGkvDlu0puT5NzemESNn9+HkYIDpWpocP68/i+/ame2/2w==" }, "System.Reflection": { "type": "Transitive", @@ -1381,16 +1406,16 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "W+LotQsM4wBJ4PG7uRkyul4wqL4Fz7R4ty6uXrCNZUhbaHYANgrPaYR2ZpMVpdCjQEJ17Jr1NMN8hv4SHaHY4A==" + "resolved": "9.0.10", + "contentHash": "znmiJFUa0GGwq7t6ShUKBDRlPsNJaudNFI7rVeyGnRBhiRMegBvu2GRcadThP/QX/a5UpGgZbe6tolDooobj/Q==" }, "System.Text.Json": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "mIQir9jBqk0V7X0Nw5hzPJZC8DuGdf+2DS3jAVsr6rq5+/VyH5rza0XGcONJUWBrZ+G6BCwNyjWYd9lncBu48A==", + "resolved": "9.0.10", + "contentHash": "XM02ZBnzxk7Ti6l9YRy8Bp639wANqJzJzw4W4VYiCh+HXY9hBOWkGB4k89OLP/s/RxgM02P4a/mWcJTgFiLf1Q==", "dependencies": { - "System.IO.Pipelines": "9.0.8", - "System.Text.Encodings.Web": "9.0.8" + "System.IO.Pipelines": "9.0.10", + "System.Text.Encodings.Web": "9.0.10" } }, "System.Text.RegularExpressions": { @@ -1473,30 +1498,29 @@ "maincore": { "type": "Project", "dependencies": { - "Ardalis.Specification.EntityFrameworkCore": "[9.2.0, )", - "CP.Extensions.Hosting.SingleInstance": "[2.1.13, )", + "Ardalis.Specification.EntityFrameworkCore": "[9.3.1, )", "FluentResults": "[4.0.0, )", - "FluentValidation": "[12.0.0, )", - "FluentValidation.DependencyInjectionExtensions": "[12.0.0, )", - "HtmlAgilityPack": "[1.12.2, )", + "FluentValidation": "[12.1.0, )", + "FluentValidation.DependencyInjectionExtensions": "[12.1.0, )", + "HtmlAgilityPack": "[1.12.4, )", "Humanizer.Core": "[2.14.1, )", - "Immediate.Handlers": "[2.2.0, )", - "Injectio": "[5.0.0, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[9.0.8, )", - "Microsoft.Extensions.Hosting": "[9.0.8, )", - "Polly": "[8.6.2, )", - "ReactiveUI": "[20.4.1, )", - "Riok.Mapperly": "[4.2.1, )", - "Selenium.Support": "[4.35.0, )", - "Selenium.WebDriver": "[4.35.0, )", + "Immediate.Handlers": "[3.1.0, )", + "Injectio": "[5.1.0, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[9.0.10, )", + "Microsoft.Extensions.Hosting": "[9.0.10, )", + "Polly": "[8.6.4, )", + "ReactiveUI": "[22.2.1, )", + "Riok.Mapperly": "[4.3.0, )", + "Selenium.Support": "[4.38.0, )", + "Selenium.WebDriver": "[4.38.0, )", "Serilog": "[4.3.0, )", "Serilog.Expressions": "[5.0.0, )", "Serilog.Extensions.Hosting": "[9.0.0, )", "Serilog.Sinks.File": "[7.0.0, )", "Serilog.Sinks.Map": "[2.0.0, )", - "Splat": "[15.4.1, )", - "Splat.Drawing": "[15.4.1, )", - "Splat.Microsoft.Extensions.DependencyInjection": "[15.4.1, )" + "Splat": "[17.1.1, )", + "Splat.Drawing": "[17.1.1, )", + "Splat.Microsoft.Extensions.DependencyInjection": "[17.1.1, )" } } }, @@ -1706,8 +1730,8 @@ }, "Selenium.WebDriver": { "type": "Transitive", - "resolved": "4.35.0", - "contentHash": "C9OrObS2KLyUQDJNRY883JAc4n5q58pBYmY954hf+lGMQQcsz4Ias2mk91lHkLXFX+2qMttya4df9lGP1SLiGQ==" + "resolved": "4.38.0", + "contentHash": "3cYBndxLgPifEttQ1+k+KhKp2XBTdME3pUp4PC/eHb/hvHsefeT2WN2JJymzs+5mkqaXUp64FBnj2EG/Iyrh/A==" }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", @@ -1750,8 +1774,8 @@ }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "gebRF3JLLJ76jz1CQpvwezNapZUjFq20JQsaGHzBH0DzlkHBLpdhwkOei9usiOkIGMwU/L0ALWpNe1JE+5/itw==" + "resolved": "9.0.10", + "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ==" }, "System.Diagnostics.Tracing": { "type": "Transitive", @@ -2120,8 +2144,8 @@ }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "W+LotQsM4wBJ4PG7uRkyul4wqL4Fz7R4ty6uXrCNZUhbaHYANgrPaYR2ZpMVpdCjQEJ17Jr1NMN8hv4SHaHY4A==" + "resolved": "9.0.10", + "contentHash": "znmiJFUa0GGwq7t6ShUKBDRlPsNJaudNFI7rVeyGnRBhiRMegBvu2GRcadThP/QX/a5UpGgZbe6tolDooobj/Q==" }, "System.Threading": { "type": "Transitive", diff --git a/MainCore/AppMixins.cs b/MainCore/AppMixins.cs index 4157d82f..6a4bc3d5 100644 --- a/MainCore/AppMixins.cs +++ b/MainCore/AppMixins.cs @@ -1,8 +1,6 @@ using MainCore.Behaviors; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using ReactiveMarbles.Extensions.Hosting.AppServices; using Serilog; using Serilog.Events; using Serilog.Templates; @@ -82,14 +80,6 @@ public static IHostBuilder GetHostBuilder() { var hostBuilder = Host.CreateDefaultBuilder() .ConfigureSplatForMicrosoftDependencyResolver() - .ConfigureSingleInstance(builder => - { - builder.MutexId = "{hcmmn304-1975-4a2d-afed-615d4a318283}"; - builder.WhenNotFirstInstance = (hostingEnvironment, logger) => - { - logger.LogWarning("Application {0} already running.", hostingEnvironment.ApplicationName); - }; - }) .ConfigureLogging() .ConfigureDbContext() .ConfigureServices(); diff --git a/MainCore/Commands/UI/MainLayoutViewModel/LoginCommand.cs b/MainCore/Commands/UI/MainLayoutViewModel/LoginCommand.cs index 05b7ed32..d4cb70a0 100644 --- a/MainCore/Commands/UI/MainLayoutViewModel/LoginCommand.cs +++ b/MainCore/Commands/UI/MainLayoutViewModel/LoginCommand.cs @@ -24,8 +24,9 @@ CancellationToken cancellationToken taskManager.SetStatus(accountId, StatusEnums.Starting); await openBrowserCommand.HandleAsync(new(accountId, access), cancellationToken); } - catch + catch (Exception ex) { + _ = ex; taskManager.SetStatus(accountId, StatusEnums.Offline); return; } diff --git a/MainCore/MainCore.csproj b/MainCore/MainCore.csproj index 72676fb2..dfb0489b 100644 --- a/MainCore/MainCore.csproj +++ b/MainCore/MainCore.csproj @@ -26,26 +26,25 @@ - - - - + + + - + - - - - - - - + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + @@ -55,9 +54,9 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/MainCore/Services/ChromeBrowser.cs b/MainCore/Services/ChromeBrowser.cs index 0f304bc2..af32f14f 100644 --- a/MainCore/Services/ChromeBrowser.cs +++ b/MainCore/Services/ChromeBrowser.cs @@ -1,7 +1,10 @@ -using OpenQA.Selenium.Chrome; +using OpenQA.Selenium.BiDi; +using OpenQA.Selenium.BiDi.BrowsingContext; +using OpenQA.Selenium.BiDi.Network; +using OpenQA.Selenium.BiDi.WebExtension; +using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Interactions; using OpenQA.Selenium.Support.UI; -using System.IO.Compression; using System.Runtime.CompilerServices; namespace MainCore.Services @@ -15,6 +18,11 @@ public sealed class ChromeBrowser : IChromeBrowser private readonly string[] _extensionsPath; private readonly HtmlDocument _htmlDoc = new(); + private BiDi? _bidi; + + private BrowsingContext? _context; + private Intercept? _authIntercept; + public ChromeBrowser(string[] extensionsPath) { _extensionsPath = extensionsPath; @@ -27,18 +35,9 @@ public async Task Setup(ChromeSetting setting) { var options = new ChromeOptions(); - options.AddExtensions(_extensionsPath); - if (!string.IsNullOrEmpty(setting.ProxyHost)) { - if (!string.IsNullOrEmpty(setting.ProxyUsername) && !string.IsNullOrEmpty(setting.ProxyPassword)) - { - options.AddHttpProxy(setting.ProxyHost, setting.ProxyPort, setting.ProxyUsername, setting.ProxyPassword); - } - else - { - options.AddArgument($"--proxy-server={setting.ProxyHost}:{setting.ProxyPort}"); - } + options.AddArgument($"--proxy-server={setting.ProxyHost}:{setting.ProxyPort}"); } options.AddArgument($"--user-agent={setting.UserAgent}"); @@ -46,6 +45,9 @@ public async Task Setup(ChromeSetting setting) options.AddArguments("--no-default-browser-check", "--no-first-run", "--ash-no-nudges"); options.AddArguments("--mute-audio", "--disable-gpu", "--disable-search-engine-choice-screen"); + options.AddArgument("--enable-unsafe-extension-debugging"); + options.AddArgument("--remote-debugging-pipe"); + options.AddExcludedArgument("enable-automation"); options.AddAdditionalOption("useAutomationExtension", "undefined"); @@ -53,7 +55,6 @@ public async Task Setup(ChromeSetting setting) options.AddArgument("--disable-backgrounding-occluded-windows"); options.AddArgument("--disable-features=CalculateNativeWinOcclusion"); options.AddArgument("--disable-features=UserAgentClientHint"); - options.AddArgument("--disable-features=DisableLoadExtensionCommandLineSwitch"); options.AddArgument("--disable-blink-features=AutomationControlled"); if (setting.IsHeadless) @@ -71,11 +72,31 @@ public async Task Setup(ChromeSetting setting) pathUserData = Path.Combine(pathUserData, string.IsNullOrEmpty(setting.ProxyHost) ? "default" : setting.ProxyHost); options.AddArguments($"user-data-dir={pathUserData}"); + options.UseWebSocketUrl = true; + options.UnhandledPromptBehavior = UnhandledPromptBehavior.Ignore; _driver = await Task.Run(() => new ChromeDriver(_chromeService, options, TimeSpan.FromMinutes(3))); _driver.Manage().Timeouts().PageLoad = TimeSpan.FromMinutes(3); _wait = new WebDriverWait(_driver, TimeSpan.FromMinutes(3)); // watch ads + + _bidi = await _driver.AsBiDiAsync(); + _context = (await _bidi.BrowsingContext.GetTreeAsync()).Contexts[0].Context; + + foreach (var path in _extensionsPath) + { + var result = await _bidi.WebExtension.InstallAsync(new ExtensionPath(path)); + Logger.Information("- Installed extension: {path}", Path.GetFileNameWithoutExtension(path)); + } + + if (!string.IsNullOrEmpty(setting.ProxyHost) && !string.IsNullOrEmpty(setting.ProxyUsername) && !string.IsNullOrEmpty(setting.ProxyPassword)) + { + _authIntercept = await _bidi.Network.InterceptAuthAsync(async auth => + { + Logger.Information("- Providing proxy auth credentials", auth.Request.Url); + await auth.ContinueAsync(new AuthCredentials(setting.ProxyUsername, setting.ProxyPassword), new ContinueWithAuthCredentialsOptions()); + }); + } } public ChromeDriver? Driver => _driver; @@ -111,15 +132,15 @@ public async Task Screenshot() public async Task Refresh(CancellationToken cancellationToken) { - if (Driver is null) return Stop.DriverNotReady; - await Driver.Navigate().RefreshAsync(); + if (_context is null) return Stop.DriverNotReady; + await _context.ReloadAsync(new() { Wait = ReadinessState.Complete }); return Result.Ok(); } public async Task Navigate(string url, CancellationToken cancellationToken) { - if (Driver is null) return Stop.DriverNotReady; - await Driver.Navigate().GoToUrlAsync(url); + if (_context is null) return Stop.DriverNotReady; + await _context.NavigateAsync(url, new() { Wait = ReadinessState.Complete }); return Result.Ok(); } @@ -264,13 +285,24 @@ void wait() public async Task Close() { - await Task.Run(() => _driver?.Quit()); + try + { + if (_bidi is not null) + { + await _bidi.DisposeAsync(); + } + + await Task.Run(() => _driver?.Quit()); + } + catch + { + // ignore + } } - } - public static class ChromeOptionsExtensions - { - private const string background_js = @" + public static class ChromeOptionsExtensions + { + private const string background_js = @" var config = { mode: ""fixed_servers"", rules: { @@ -302,7 +334,7 @@ function callbackFn(details) ['blocking'] );"; - private const string manifest_json = @" + private const string manifest_json = @" { ""version"": ""1.0.0"", ""manifest_version"": 3, @@ -324,49 +356,39 @@ function callbackFn(details) ""minimum_chrome_version"": ""108"" }"; - /// - /// Add HTTP-proxy by and - /// - /// Chrome options - /// Proxy host - /// Proxy port - /// Proxy username - /// Proxy password - public static void AddHttpProxy(this ChromeOptions options, string host, int port, string userName, string password) - { - var background_proxy_js = ReplaceTemplates(background_js, host, port, userName, password); + /// + /// Add HTTP-proxy by and + /// + /// Chrome options + /// Proxy host + /// Proxy port + /// Proxy username + /// Proxy password + public static string CreateHttpProxyExtension(string host, int port, string userName, string password) + { + var background_proxy_js = ReplaceTemplates(background_js, host, port, userName, password); - if (!Directory.Exists("Plugins")) - Directory.CreateDirectory("Plugins"); + const string path = "Plugins"; + if (Directory.Exists(path)) Directory.Delete(path); + Directory.CreateDirectory(path); - var guid = Guid.NewGuid().ToString(); + var manifestPath = $"{path}/manifest.json"; + var backgroundPath = $"{path}/background.js"; - var manifestPath = $"Plugins/manifest_{guid}.json"; - var backgroundPath = $"Plugins/background_{guid}.js"; - var archiveFilePath = $"Plugins/proxy_auth_plugin_{guid}.zip"; + File.WriteAllText(manifestPath, manifest_json); + File.WriteAllText(backgroundPath, background_proxy_js); - File.WriteAllText(manifestPath, manifest_json); - File.WriteAllText(backgroundPath, background_proxy_js); + return path; + } - using (var zip = ZipFile.Open(archiveFilePath, ZipArchiveMode.Create)) + private static string ReplaceTemplates(string str, string host, int port, string userName, string password) { - zip.CreateEntryFromFile(manifestPath, "manifest.json"); - zip.CreateEntryFromFile(backgroundPath, "background.js"); + return str + .Replace("{HOST}", host) + .Replace("{PORT}", port.ToString()) + .Replace("{USERNAME}", userName) + .Replace("{PASSWORD}", password); } - - File.Delete(manifestPath); - File.Delete(backgroundPath); - - options.AddExtension(archiveFilePath); - } - - private static string ReplaceTemplates(string str, string host, int port, string userName, string password) - { - return str - .Replace("{HOST}", host) - .Replace("{PORT}", port.ToString()) - .Replace("{USERNAME}", userName) - .Replace("{PASSWORD}", password); } } } \ No newline at end of file diff --git a/MainCore/Services/ChromeManager.cs b/MainCore/Services/ChromeManager.cs index cc050531..b1153434 100644 --- a/MainCore/Services/ChromeManager.cs +++ b/MainCore/Services/ChromeManager.cs @@ -1,4 +1,5 @@ using System.Collections.Concurrent; +using System.IO.Compression; using System.Reflection; namespace MainCore.Services @@ -48,20 +49,69 @@ public void LoadExtension() foreach (var extensionName in extensionsName) { if (!extensionName.Contains(".crx")) continue; - var path = Path.Combine(extenstionDir, extensionName); - list.Add(path); + var archiveFilePath = Path.Combine(extenstionDir, extensionName); - if (!File.Exists(path)) + if (!File.Exists(archiveFilePath)) { using Stream input = asmb.GetManifestResourceStream(extensionName)!; - using Stream output = File.Create(path); + using Stream output = File.Create(archiveFilePath); input.CopyTo(output); - _logger.Information("Copy default extension file {ExtensionName} to {Path}.", extensionName, path); + _logger.Information("Copy default extension file {ExtensionName} to {Path}.", extensionName, archiveFilePath); } + + var extensionDirPath = Path.Combine(extenstionDir, Path.GetFileNameWithoutExtension(archiveFilePath)); + UnpackCrx(archiveFilePath, extensionDirPath); + + list.Add(extensionDirPath); } _extensionsPath = list.ToArray(); _logger.Information("Loaded {Count} extension files.", _extensionsPath.Length); } + + public static void UnpackCrx(string crxPath, string outputDir) + { + using var fs = new FileStream(crxPath, FileMode.Open, FileAccess.Read); + + // Read magic and version + byte[] header = new byte[12]; + fs.Read(header, 0, 12); + + if (header[0] != (byte)'C' || header[1] != (byte)'r' || header[2] != (byte)'2' || header[3] != (byte)'4') + throw new InvalidDataException("Not a valid CRX file."); + + int version = BitConverter.ToInt32(header, 4); + + long zipStartOffset; + if (version == 2) + { + // CRX v2 header: magic(4) + version(4) + pubkey_len(4) + sig_len(4) + byte[] v2Header = new byte[8]; + fs.Read(v2Header, 0, 8); + int pubkeyLen = BitConverter.ToInt32(v2Header, 0); + int sigLen = BitConverter.ToInt32(v2Header, 4); + zipStartOffset = 16 + pubkeyLen + sigLen; + } + else if (version == 3) + { + // CRX v3 header: magic(4) + version(4) + header_len(4) + int headerLen = BitConverter.ToInt32(header, 8); + zipStartOffset = 12 + headerLen; + } + else + { + throw new InvalidDataException($"Unsupported CRX version: {version}"); + } + + // Skip to ZIP data + fs.Seek(zipStartOffset, SeekOrigin.Begin); + + using var zipStream = new MemoryStream(); + fs.CopyTo(zipStream); + zipStream.Position = 0; + + using var zip = new ZipArchive(zipStream, ZipArchiveMode.Read); + zip.ExtractToDirectory(outputDir, true); + } } } \ No newline at end of file diff --git a/MainCore/packages.lock.json b/MainCore/packages.lock.json index 2ed9eac7..ff05e6c7 100644 --- a/MainCore/packages.lock.json +++ b/MainCore/packages.lock.json @@ -4,22 +4,13 @@ "net8.0": { "Ardalis.Specification.EntityFrameworkCore": { "type": "Direct", - "requested": "[9.2.0, )", - "resolved": "9.2.0", - "contentHash": "0cy8NQpPemf870dwyk8orhIi5LSrvxtqUWQeJ+VfrK8eaUifGpXRKRR7rFHaIQRl4kzrU5Mz6RN0OsKs8fgu5w==", + "requested": "[9.3.1, )", + "resolved": "9.3.1", + "contentHash": "QbOo4E6HWdKXZ9QUrqcgiGN4EKtzt0kzGzqr2zc32q5QESzBrceJ3GX1ymWVdCCOzJO1+GPm+/a/5ovSkfrLoQ==", "dependencies": { - "Ardalis.Specification": "9.2.0", - "Microsoft.EntityFrameworkCore": "8.0.16", - "Microsoft.EntityFrameworkCore.Relational": "8.0.16" - } - }, - "CP.Extensions.Hosting.SingleInstance": { - "type": "Direct", - "requested": "[2.1.13, )", - "resolved": "2.1.13", - "contentHash": "9MyyTqdZ1J6OQMAZLEfiwEPIiulKL3Wfv5TAQSfnyOD/vRp+kiYZOGSANhDdJhkpodIS39GEc7kTr/feWVDPkw==", - "dependencies": { - "Microsoft.Extensions.Hosting": "9.0.4" + "Ardalis.Specification": "9.3.1", + "Microsoft.EntityFrameworkCore": "8.0.19", + "Microsoft.EntityFrameworkCore.Relational": "8.0.19" } }, "FluentResults": { @@ -34,25 +25,25 @@ }, "FluentValidation": { "type": "Direct", - "requested": "[12.0.0, )", - "resolved": "12.0.0", - "contentHash": "8NVLxtMUXynRHJIX3Hn1ACovaqZIJASufXIIFkD0EUbcd5PmMsL1xUD5h548gCezJ5BzlITaR9CAMrGe29aWpA==" + "requested": "[12.1.0, )", + "resolved": "12.1.0", + "contentHash": "FqWEn8BdbbFEHGanj9K8SVo+LyBeFWy2rolaE+e1TNUbifr8M7Iss+I1AqTSc8kjKtvjl/WN4XIHiRpslh42bA==" }, "FluentValidation.DependencyInjectionExtensions": { "type": "Direct", - "requested": "[12.0.0, )", - "resolved": "12.0.0", - "contentHash": "B28fBRL1UjhGsBC8fwV6YBZosh+SiU1FxdD7l7p5dGPgRlVI7UnM+Lgzmg+unZtV1Zxzpaw96UY2MYfMaAd8cg==", + "requested": "[12.1.0, )", + "resolved": "12.1.0", + "contentHash": "p9ZnpVCUvkelSfqFYZP9aMtnuRlDRkrAAPqjQGG+1mVVn8zxE0bc1/RAFRBZKsPglbMBQOx8wXOZhg2fGstacQ==", "dependencies": { - "FluentValidation": "12.0.0", + "FluentValidation": "12.1.0", "Microsoft.Extensions.Dependencyinjection.Abstractions": "2.1.0" } }, "HtmlAgilityPack": { "type": "Direct", - "requested": "[1.12.2, )", - "resolved": "1.12.2", - "contentHash": "btF/9sB65h0V9ipZxVfEQ9fxDwXSFRwhi4Z1qFBgnXONqWVKZE3LxS0JEMW73G3gvrFI7/IAqLA1y/15HDa3fw==" + "requested": "[1.12.4, )", + "resolved": "1.12.4", + "contentHash": "ljqvBabvFwKoLniuoQKO8b5bJfJweKLs4fUNS/V5dsvpo0A8MlJqxxn9XVmP2DaskbUXty6IYaWAi1SArGIMeQ==" }, "Humanizer.Core": { "type": "Direct", @@ -62,114 +53,114 @@ }, "Immediate.Handlers": { "type": "Direct", - "requested": "[2.2.0, )", - "resolved": "2.2.0", - "contentHash": "lwmd0BjpMX5iHLvtVTmllhaC9U3/gebp4O1CPFYYBgEODG3flBt3WntrpZ026eiPorFmZqifQMrhm1F/W7BMCA==" + "requested": "[3.1.0, )", + "resolved": "3.1.0", + "contentHash": "/v047E5HPSaPQUe//UzpbAnx9WiOr3Bcj34rX1Dqb1bI2UsndJ6iepHyIvphpfuWEmtK/Bvr9uhpfCWP+vm0JQ==" }, "Injectio": { "type": "Direct", - "requested": "[5.0.0, )", - "resolved": "5.0.0", - "contentHash": "vobNqxNLUSri8ESae2FSzPuuwJGsQ1s1IAhCE/Orxq+uyvoW91dS+GP4EX5hRRFuu2QXIaSgVzrMb0AgFjfIQg==", + "requested": "[5.1.0, )", + "resolved": "5.1.0", + "contentHash": "tHtbV+XCGYy7YbOsSteDIjbsQvpM5GM5Gj+6ecw6QxywelN6F6rUZIu4Pd6QiuAu+zJm8V6aKCEbQcPi7uurWw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.4" + "Microsoft.Extensions.DependencyInjection": "9.0.9" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Direct", - "requested": "[9.0.8, )", - "resolved": "9.0.8", - "contentHash": "5WZ3k3s2LcuyR5kBjcK2pkEa2l9Yo35WzSdyitfk5Y9GBn2jIFs8uNhYGpD9ZZ3g+feIMHXUFQ8psee0tst6Qw==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyModel": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", + "requested": "[9.0.10, )", + "resolved": "9.0.10", + "contentHash": "7fFF7FYlISZYhmeTtpjMZIEBxykqpKp2boZpuHTbIitN6am2QlmfVctrJRHHkI5u5Oh5E7uT1DMI68cpBAP4BQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyModel": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", "SQLitePCLRaw.bundle_e_sqlite3": "2.1.10", "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.8" + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Hosting": { "type": "Direct", - "requested": "[9.0.8, )", - "resolved": "9.0.8", - "contentHash": "O2VlzORrBbS2it203k5FOHrudDdmdrJovA73P/shdRGeLzvet4e4yXhGx52V2PNjYBQ0IO5M4xiNcL+6xIX6Bg==", - "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.Configuration.CommandLine": "9.0.8", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.8", - "Microsoft.Extensions.Configuration.FileExtensions": "9.0.8", - "Microsoft.Extensions.Configuration.Json": "9.0.8", - "Microsoft.Extensions.Configuration.UserSecrets": "9.0.8", - "Microsoft.Extensions.DependencyInjection": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Diagnostics": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Configuration": "9.0.8", - "Microsoft.Extensions.Logging.Console": "9.0.8", - "Microsoft.Extensions.Logging.Debug": "9.0.8", - "Microsoft.Extensions.Logging.EventLog": "9.0.8", - "Microsoft.Extensions.Logging.EventSource": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8" + "requested": "[9.0.10, )", + "resolved": "9.0.10", + "contentHash": "63yDlitelCBNl1unJsnEWVUCZHOtxbVTbTODi7cszQJBG9bIfdPYIpB9w0UIcoqVSP1C9P6THXgukx8APWRzMw==", + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.Configuration.CommandLine": "9.0.10", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.10", + "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10", + "Microsoft.Extensions.Configuration.Json": "9.0.10", + "Microsoft.Extensions.Configuration.UserSecrets": "9.0.10", + "Microsoft.Extensions.DependencyInjection": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Diagnostics": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Configuration": "9.0.10", + "Microsoft.Extensions.Logging.Console": "9.0.10", + "Microsoft.Extensions.Logging.Debug": "9.0.10", + "Microsoft.Extensions.Logging.EventLog": "9.0.10", + "Microsoft.Extensions.Logging.EventSource": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10" } }, "Polly": { "type": "Direct", - "requested": "[8.6.2, )", - "resolved": "8.6.2", - "contentHash": "+irkpMJQ29+o8+u/SdN+1+AP4rB4TGoKZ6gXhD04dPKG+DX2grvKJ6Z6UAK3vYkSQQcbATt+YPt+ac6/X2wVAA==", + "requested": "[8.6.4, )", + "resolved": "8.6.4", + "contentHash": "uuBsDoBw0oYrMe3uTWRjkT2sIkKh+ZZnnDrLb4Z+QANfeA4+7FJacx6E8CY5GAxXRoSgFrvUADEAQ7DPF6fGiw==", "dependencies": { - "Polly.Core": "8.6.2" + "Polly.Core": "8.6.4" } }, "ReactiveUI": { "type": "Direct", - "requested": "[20.4.1, )", - "resolved": "20.4.1", - "contentHash": "HMgCWEya3zMfFfrvmYz4Ec87acq+9mo92pLfNZ3GLbUFZeI6TBc2aTPg3UT+1AjPtwfacJJeh7wCwz0y9wabpg==", + "requested": "[22.2.1, )", + "resolved": "22.2.1", + "contentHash": "P0ZaWZdRVoycwfcEpkC8C/b9mbEJmueTPkBA4PON9NiopGjUY2YhIP5Dm8lki/FLH9aiKt18NXsDwv/mgO/1Dw==", "dependencies": { "DynamicData": "9.4.1", - "Splat": "15.3.1", - "System.ComponentModel.Annotations": "5.0.0" + "Splat": "17.1.1", + "System.Reactive": "6.1.0" } }, "ReactiveUI.SourceGenerators": { "type": "Direct", - "requested": "[2.3.1, )", - "resolved": "2.3.1", - "contentHash": "d0F13STHGTsSRhQKq39GzKM3lNzZul7R2WzhpcQ29awFXWB5bARwtrwrBcMFo67ESGK7Eulc8oJhKJ50aaUj7A==", + "requested": "[2.5.1, )", + "resolved": "2.5.1", + "contentHash": "Yrfj8eIjKCpME4zopLMAGoqvmdkjvJEmm7Y5XnvZfbmIrliCYmf5mZZ46nXahDYwNZO+vZeY19bq9EIc1nn9ew==", "dependencies": { - "ReactiveUI.SourceGenerators.Analyzers.CodeFixes": "2.3.1" + "ReactiveUI.SourceGenerators.Analyzers.CodeFixes": "2.5.1" } }, "Riok.Mapperly": { "type": "Direct", - "requested": "[4.2.1, )", - "resolved": "4.2.1", - "contentHash": "UZeQSieVlHr48t64J4k2s/lvbMeCXvzsXqV2A/0wyNdPpW8Cyn47+9mfWFJjouPxoSFfEhDbxg+WRbFIHvq4Zw==" + "requested": "[4.3.0, )", + "resolved": "4.3.0", + "contentHash": "9M60fNhHAx4Gzm3ebavQn60UT8uuFBM9kSfhepEWlEMoPhd/4mAdJAtBZmi+6RZJWTHil/VC/DrzihhPq39xhg==" }, "Selenium.Support": { "type": "Direct", - "requested": "[4.35.0, )", - "resolved": "4.35.0", - "contentHash": "K6DiLdDQNDSWI/zh14bk9vRjW8vEX2mhMI2Cq8bD72FM5rOnLhQwZABJHrWCZ3U1wb7KFFd7iQeUhvpyHVt2AA==", + "requested": "[4.38.0, )", + "resolved": "4.38.0", + "contentHash": "FBxJRTpXZePi/gbBAf7RzN147sd6vo/TEaxQzxd7NbSxJCbTI2zu0wLmwnv3mmJAWrFDwjknJq0mB6s0b94jIA==", "dependencies": { - "Selenium.WebDriver": "4.35.0" + "Selenium.WebDriver": "4.38.0" } }, "Selenium.WebDriver": { "type": "Direct", - "requested": "[4.35.0, )", - "resolved": "4.35.0", - "contentHash": "C9OrObS2KLyUQDJNRY883JAc4n5q58pBYmY954hf+lGMQQcsz4Ias2mk91lHkLXFX+2qMttya4df9lGP1SLiGQ==" + "requested": "[4.38.0, )", + "resolved": "4.38.0", + "contentHash": "3cYBndxLgPifEttQ1+k+KhKp2XBTdME3pUp4PC/eHb/hvHsefeT2WN2JJymzs+5mkqaXUp64FBnj2EG/Iyrh/A==" }, "Serilog": { "type": "Direct", @@ -225,27 +216,34 @@ }, "Splat": { "type": "Direct", - "requested": "[15.4.1, )", - "resolved": "15.4.1", - "contentHash": "nWDquiKJAJ+H3O5/kzUfVKaFZ2iS4K9GkOrqw8SGCm28wMLWWP82bq5sWuFZq/p4IgwqpS8u2ZhClUPY4OoF+w==" + "requested": "[17.1.1, )", + "resolved": "17.1.1", + "contentHash": "WwSoJ6aPHlXwWS2jfUtKQIgzQQDSuE/iGbqEFRcM1DKVQelf+XSfnaur6oAqzECobuJLC9nqUMeDH19gU6JDag==", + "dependencies": { + "Splat.Builder": "17.1.1", + "Splat.Logging": "17.1.1", + "System.Reactive": "6.0.2" + } }, "Splat.Drawing": { "type": "Direct", - "requested": "[15.4.1, )", - "resolved": "15.4.1", - "contentHash": "7iw929LmnXruYFfV5kEs5/6AgTj/3ZJH1U5ND49bqijImz6+RGkfLNpcDVKXe/fquVOfVrc8ib/egRRcLhuZAQ==", + "requested": "[17.1.1, )", + "resolved": "17.1.1", + "contentHash": "jqCdHliVlpDtROHza3TtqP7uL05EA97ApJ7JzkJQ/oWMiBHiYT2UU2H0PRGPSFwXuOxDx7YfkLq6yACpbyMMJA==", "dependencies": { - "Splat": "15.4.1" + "Splat": "17.1.1", + "System.Reactive": "6.0.2" } }, "Splat.Microsoft.Extensions.DependencyInjection": { "type": "Direct", - "requested": "[15.4.1, )", - "resolved": "15.4.1", - "contentHash": "9Bi2sQ+ImWjJyWTRlKaJ3tkpYeYwl95k/Pas1H9qUv3od/opsutBldndoWNGaImbdZ6F2sbsQr9ZXMUAzVffQQ==", + "requested": "[17.1.1, )", + "resolved": "17.1.1", + "contentHash": "WQaWNyaoB9HCL2PmpZZPL+3rEkF/MpyUpV8GL6CmPUe88ZC0KSbzebtIKqB403MGbZOSjYe7tNv9E25XXBoRwQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.6", - "Splat": "15.4.1" + "Microsoft.Extensions.DependencyInjection": "9.0.9", + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" } }, "StronglyTypedId": { @@ -256,8 +254,8 @@ }, "Ardalis.Specification": { "type": "Transitive", - "resolved": "9.2.0", - "contentHash": "bggkCJU1tLIV/hSK5s0lbyFAOLsNpiafFPfrg2/0arWhmst8Y90CWQFTNE5aVJJLV1Ja6Jdf4rogsG9mYiRUSA==" + "resolved": "9.3.1", + "contentHash": "GWrE6BA0smWFLbN+XPU2l5rDF9Uzelfbb3w35jJ0CGIat+p1ChbtLcbkvYRMEculBHOAo12omwAAOm3VFWkoJQ==" }, "DynamicData": { "type": "Transitive", @@ -269,351 +267,351 @@ }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "AQr1nLGi1riN7XA2c8uAKAr2fo7bvZ++VRnvKyh/rhsj2f4x0Nmgk2j8+Rw9RaJrzZMcv0Mu4nYNpAdSui/FHw==", + "resolved": "9.0.10", + "contentHash": "tWbN2uzG4uBxxMjcHA3Oa9ecAYjyRTfDwRbgQ7ueyx7eEgyYbBiKADY2rllF8wO3dHUvN+/8fgylwSGMfiCtVg==", "dependencies": { "SQLitePCLRaw.core": "2.1.10" } }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "bNGdPhN762+BIIO5MFYLjafRqkSS1MqLOc/erd55InvLnFxt9H3N5JNsuag1ZHyBor1VtD42U0CHpgqkWeAYgQ==", + "resolved": "9.0.10", + "contentHash": "WjjxVyOTVs85V7SUe+lZjtGOEeVzF4RO8amrqL4adgbyThNq7vGCFzPw8buZj44gHeQYD5V/uZ/6XuqG9Jq+kA==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "9.0.8", - "Microsoft.EntityFrameworkCore.Analyzers": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8" + "Microsoft.EntityFrameworkCore.Abstractions": "9.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "B2yfAIQRRAQ4zvvWqh+HudD+juV3YoLlpXnrog3tU0PM9AFpuq6xo0+mEglN1P43WgdcUiF+65CWBcZe35s15Q==" + "resolved": "9.0.10", + "contentHash": "I3TWAs5Lbzmzu8S0T6qXhzBiO3CznYLrfE59W0npkqNHfWGH8CgA66LrHMWxWOXVTD4145QwYqiWNCdLwpJ1Ew==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "2EYStCXt4Hi9p3J3EYMQbItJDtASJd064Kcs8C8hj8Jt5srILrR9qlaL0Ryvk8NrWQoCQvIELsmiuqLEZMLvGA==" + "resolved": "9.0.10", + "contentHash": "mXNl0Gg3l3zGrClLCHepB+b7rYVuFfB9qQJwya0dUSHFuR1T0jMD8KxuNVyhQSfoWIepanhzjcG8TUNGXOcU0Q==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OVhfyxiHxMvYpwQ8Jy3YZi4koy6TK5/Q7C1oq3z6db+HEGuu6x9L1BX5zDIdJxxlRePMyO4D8ORiXj/D7+MUqw==", + "resolved": "9.0.10", + "contentHash": "IJNrG5vdmFUvHR8FLLFg9AWpuE8qW1DTEN+fNLGbNTu6cnpZzzqU6+aknAGtTSAEVWosJ3BZ3TOO9wpifUvv3A==", "dependencies": { - "Microsoft.EntityFrameworkCore": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8" + "Microsoft.EntityFrameworkCore": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "9CXB4OoU6xqZymiRRvxEy6+almeSciSKOoPhr8CHlGgBnYHWBZeGhEmqzpXyv2ohF3XC/sNxEcZ6948grKrWew==", + "resolved": "9.0.10", + "contentHash": "6+ee+erdXSzxqB6Piys2ssldqhR8cQZJHjIPKWrh25YTYJhFUmTwB0nC8l/f+U69NoGg7ZIOwdg4+Qk2YV13Ug==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "9.0.8", - "Microsoft.EntityFrameworkCore.Relational": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyModel": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", + "Microsoft.Data.Sqlite.Core": "9.0.10", + "Microsoft.EntityFrameworkCore.Relational": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyModel": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.8" + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "4h7bsVoKoiK+SlPM+euX/ayGnKZhl47pPCidLTiio9xyG+vgVVfcYxcYQgjm0SCrdSxjG0EGIAKF8EFr3G8Ifw==", + "resolved": "9.0.10", + "contentHash": "cL6iTxgJ4u5zP3eFOdBiDAtmE/B2WKTRhyJfEne7n6qvHpsMwwIDxljs210mWSO1ucBy7lR1Lo7/7kjeZeLcqQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "grR+oPyj8HVn4DT8CFUUdSw2pZZKS13KjytFe4txpHQliGM1GEDotohmjgvyl3hm7RFB3FRqvbouEX3/1ewp5A==", + "resolved": "9.0.10", + "contentHash": "2iuzwIoCoqZJfH2VLk1xvlQS4PQDEuhj4dWiGb+Qpt1vHFHyffp497cTO6ucsV54W/h4JmM1vzDBv8pVAFazZg==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Caching.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "6m+8Xgmf8UWL0p/oGqBM+0KbHE5/ePXbV1hKXgC59zEv0aa0DW5oiiyxDbK5kH5j4gIvyD5uWL0+HadKBJngvQ==", + "resolved": "9.0.10", + "contentHash": "UAm3SLGAMlJdowbN+/xnh2UGJkdJoXVm4MsdhZ60dAMS8jteoyCx5WfIab5DKv0TCYpdhVecLJVUjEO3abs9UQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "yNou2KM35RvzOh4vUFtl2l33rWPvOCoba+nzEDJ+BgD8aOL/jew4WPCibQvntRfOJ2pJU8ARygSMD+pdjvDHuA==", + "resolved": "9.0.10", + "contentHash": "ad3JxmFj0uxuFa1CT6oxTCC1lQ0xeRuOvzBRFT/I/ofIXVOnNsH/v2GZkAJWhlpZqKUvSexQZzp3EEAB2CdtJg==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "0vK9DnYrYChdiH3yRZWkkp4x4LbrfkWEdBc5HOsQ8t/0CLOWKXKkkhOE8A1shlex0hGydbGrhObeypxz/QTm+w==", + "resolved": "9.0.10", + "contentHash": "D6Kng+9I+w1SQPxJybc6wzw9nnnyUQPutycjtI0svv1RHaWOpUk9PPlwIRfhhoQZ3yihejkEI2wNv/7VnVtkGA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.CommandLine": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "vB6eDQ5prED5jHBqmSDNYzlCXsTSylYY7co9c7guhnz0zhx+jZ8BTHgO7y/Wl1dV2jAO15mKNWuyHRIRtWwGQg==", + "resolved": "9.0.10", + "contentHash": "Sg400UyKl33kOpqklEg1MIM3lpY/aWi7QZTB2JfFpKgxnSRQl9J6tHiKYll+Rd603P+71YsDy/zqBYUE/3Xeag==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.EnvironmentVariables": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "9qileEYXDodlPN9DfPd5sHSfU2nSrI1r5BHVqLaLyb/7mPi335cy4ar/0ix4tXb2Aer/Pu4e5/zdwxt7lrtSyQ==", + "resolved": "9.0.10", + "contentHash": "Nje8x5JDRi7uzf2q3NpXiBleRRJAxJMnHcJTi0tLyqd6eGIICRuF6qxgZssMS1r8xXDoaUr/2ZLQ6Cui1Io+Qw==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.FileExtensions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "2jgx58Jpk3oKT7KRn8x/cFf3QDTjQP+KUbyBnynAcB2iBx1Eq9EdNMCu0QEbYuaZOaQru/Kwdffary+hn58Wwg==", + "resolved": "9.0.10", + "contentHash": "kYWY9VRoCKQJCLKAA4Wqn74FVnytqosF7vFq1chJ8st9mGZS6SQrkoZg7GmcpqrRRUWmWDOZI4nFdoFnxsI/Ug==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Json": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "vjxzcnL7ul322+kpvELisXaZl8/5MYs6JfI9DZLQWsao1nA/4FL48yPwDK986hbJTWc64JxOOaMym0SQ/dy32w==", + "resolved": "9.0.10", + "contentHash": "bn+qnwuOaDelax8PUw30UTjLOuEd0lGWqUG4Z+oVr4D/gEWouCWOyvCVkyn+PWbftPlnmAmWxd4J+7ljwE8wVw==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.FileExtensions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Configuration.UserSecrets": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "UgH18nQkuMJgxjn1539I83N6LhnKQlLhQm3ppe+PGsFpYsC6eGpF/1KvDRm/bmqsrg0NXhurrv4k2r0e8vWX/Q==", + "resolved": "9.0.10", + "contentHash": "l7em+qNfEdGlwRm8Qk2rkzqjT8xWb/EosoQeTvJ3kZYiRo5inMj0nNcZw51dUKwGO/LW7uNMdqNNU3P0pB5JqA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Json": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Json": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "JJjI2Fa+QtZcUyuNjbKn04OjIUX5IgFGFu/Xc+qvzh1rXdZHLcnqqVXhR4093bGirTwacRlHiVg1XYI9xum6QQ==", + "resolved": "9.0.10", + "contentHash": "iEtXCkNd5XhjNJAOb/wO4IhDRdLIE2CsPxZggZQWJ/q2+sa8dmEPC393nnsiqdH8/4KV8Xn25IzgKPR1UEQ0og==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "xY3lTjj4+ZYmiKIkyWitddrp1uL5uYiweQjqo4BKBw01ZC4HhcfgLghDpPZcUlppgWAFqFy9SgkiYWOMx365pw==" + "resolved": "9.0.10", + "contentHash": "r9waLiOPe9ZF1PvzUT+RDoHvpMmY8MW+lb4lqjYGObwKpnyPMLI3odVvlmshwuZcdoHynsGWOrCPA0hxZ63lIA==" }, "Microsoft.Extensions.DependencyModel": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "3CW02zNjyqJ2eORo8Zkznpw6+QvK+tYUKZgKuKuAIYdy73TRFvpaqCwYws1k6/lMSJ7ZqABfWn0/wa5bRsIJ4w==", + "resolved": "9.0.10", + "contentHash": "qCIWxEPt6Y9Z/Vx2R6JsfX7pwxIHC2GYlkcFbTox3MpsiNexyLkvPFTNsfmAaKpjTZ6FhNmvY3BdrwLX4+X0cQ==", "dependencies": { - "System.Text.Encodings.Web": "9.0.8", - "System.Text.Json": "9.0.8" + "System.Text.Encodings.Web": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "BKkLCFXzJvNmdngeYBf72VXoZqTJSb1orvjdzDLaGobicoGFBPW8ug2ru1nnEewMEwJzMgnsjHQY8EaKWmVhKg==", + "resolved": "9.0.10", + "contentHash": "01x2vz0AbIdfNUzEVYFq2HSeq1BmrSDpiG7nTmwjfd0d39sahQ8T7dhSXhH+YnZyaLWyMBudOq0vVa/voyNWjg==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.8", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "UDY7blv4DCyIJ/8CkNrQKLaAZFypXQavRZ2DWf/2zi1mxYYKKw2t8AOCBWxNntyPZHPGhtEmL3snFM98ADZqTw==", + "resolved": "9.0.10", + "contentHash": "iwVnYi+gNKrr5riw8YFCoLCN4s0dmHtzfUmV99RIhrz8R4d6C/bsKzXhIhZWDIxJOhVzB+idSOQeRGj1/oMF+Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Diagnostics.DiagnosticSource": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Diagnostics.DiagnosticSource": "9.0.10" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "4zZbQ4w+hCMm9J+z5NOj3giIPT2MhZxx05HX/MGuAmDBbjOuXlYIIRN+t4V6OLxy5nXZIcXO+dQMB/OWubuDkw==", + "resolved": "9.0.10", + "contentHash": "3+cLxZKUWBbpfIXLLuKcEok9C91PsV1h5xxfUsEnLSXXLNMiPDfrhpb1xajNFcejFPs9Ck/Fi3z71hYDqFBwYg==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.FileProviders.Physical": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "FlOe2i7UUIfY0l0ChaIYtlXjdWWutR4DMRKZaGD6z4G1uVTteFkbBfxUIoi1uGmrZQxXe/yv/cfwiT0tK2xyXA==", + "resolved": "9.0.10", + "contentHash": "Eg3YOEMpHWZzAgPD9YvGkQSv97AtG3II6maRQV/voDRORh4bRiyl0mVtT2PKnu1JoD9rJeYgjGCwRvVWMBaqgQ==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileSystemGlobbing": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileSystemGlobbing": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "96Ub5LmwYfIGVoXkbe4kjs+ivK6fLBTwKJAOMfUNV0R+AkZRItlgROFqXEWMUlXBTPM1/kKu26Ueu5As6RDzJA==" + "resolved": "9.0.10", + "contentHash": "KdZAM2YMYBipVp/4tSEWPLnrocd17SL4iaXdgXjR5/nheBXbfR5QfPWYoTyh6C6IW3uKR7TRMwQr2qCvtaCTiA==" }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "WNrad20tySNCPe9aJUK7Wfwh+RiyLF+id02FKW8Qfc+HAzNQHazcqMXAbwG/kmbS89uvan/nKK1MufkRahjrJA==", + "resolved": "9.0.10", + "contentHash": "spfXydiEQENFwxdgr3Y57wwys/FRjfmq5VjHGPh6ct1FJK7X+qNEWYbnZJCMqq0B0oJTMvnItAReOv4mi2Idog==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Z/7ze+0iheT7FJeZPqJKARYvyC2bmwu3whbm/48BJjdlGVvgDguoCqJIkI/67NkroTYobd5geai1WheNQvWrgA==", + "resolved": "9.0.10", + "contentHash": "UBXHqE9vyptVhaFnT1R7YJKCve7TqVI10yjjUZBNGMlW2lZ4c031Slt9hxsOzWCzlpPxxIFyf1Yk4a6Iubxx7w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8" + "Microsoft.Extensions.DependencyInjection": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "pYnAffJL7ARD/HCnnPvnFKSIHnTSmWz84WIlT9tPeQ4lHNiu0Az7N/8itihWvcF8sT+VVD5lq8V+ckMzu4SbOw==", + "resolved": "9.0.10", + "contentHash": "MFUPv/nN1rAQ19w43smm6bbf0JDYN/1HEPHoiMYY50pvDMFpglzWAuoTavByDmZq7UuhjaxwrET3joU69ZHoHQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "System.Diagnostics.DiagnosticSource": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "System.Diagnostics.DiagnosticSource": "9.0.10" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Us4evDN3lbp1beVgrpxkSXKrbntVGAK+YbSo9P9driiU9PK05+ShhgesJ3aj7SuDfr3mqqcEgrMJ87Vu8t5dhw==", + "resolved": "9.0.10", + "contentHash": "qwTRpxrmLOXZrbgQHRZ9wS2AtVa/61DFIYk8k1rBCCgA5qW0MBxxQC4BjkaI0wSoHHOv/IUXBeFNK+Y59qe/Ug==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10" } }, "Microsoft.Extensions.Logging.Console": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "mPp9xB9MjiPuodh9z/+6zEGNj2kSVeXQtdbIBHlhUYqxX22gzJkx0ycPY42q4/OT/SzFV/TJ989Pa3sA/8ZBeA==", + "resolved": "9.0.10", + "contentHash": "ponA8k4E4S0LlQ8J4ce4Yp1NND8rxww0lbADK9yL3omRpnnawiENb7W/CTgZUIZVJxKcmIwhm1IbUCRk6RLocQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Configuration": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Configuration": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Logging.Debug": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OwHQFVITsONEoizShc1yNYTUvMq0kT9j/LhwAKMsA7OZqtrBXuqjosbSvzkJZ9o+KWAozDh5Y1Vtpe5p/8/1qA==", + "resolved": "9.0.10", + "contentHash": "Uj4YMaMMLawIkpHYnDWsR2/pufV/8X3dDT1/RNhkmt8RRf6/SriyA2gxH6I6bj4gFx6yMuFWZhCgFLy3wcSGTw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Logging.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "/gMwlll21UJcaXlitUqd+rs9jH36EJz5BpFVPshyOqz5u0qyV1pFnTWm5vhyx+g6gwVYENSLgpazR1urNv83xw==", + "resolved": "9.0.10", + "contentHash": "Son+9zr7gnuYv1CcuZ8b6XhZK/UQRG88Ku1iSUvAQSZ1cFjYC+lDYRD6nBVXF2QIQyv0jhjt/MPKD7sA+323TQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Diagnostics.EventLog": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Diagnostics.EventLog": "9.0.10" } }, "Microsoft.Extensions.Logging.EventSource": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "aGMFc/1P+315d07iyxSe6lEoZ0JjOPJ+Mfv9rrV2PvR2DFu1/pSi/SItHw1iChJOZgslNKJE97g1a9nLX3qQYA==", + "resolved": "9.0.10", + "contentHash": "qhqkUWsf/CVyQ9V98n5uWSQcvy7HbyRkhyhpK75OKojWuaNKoEIfBmrHRiahmdGJDuh2Qz/nDpFOjQOi/ERtZQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Options": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OmTaQ0v4gxGQkehpwWIqPoEiwsPuG/u4HUsbOFoWGx4DKET2AXzopnFe/fE608FIhzc/kcg2p8JdyMRCCUzitQ==", + "resolved": "9.0.10", + "contentHash": "zMNABt8eBv0B0XrWjFy9nZNgddavaOeq3ZdaD5IlHhRH65MrU7HM+Hd8GjWE3e2VDGFPZFfSAc6XVXC17f9fOA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "eW2s6n06x0w6w4nsX+SvpgsFYkl+Y0CttYAt6DKUXeqprX+hzNqjSfOh637fwNJBg7wRBrOIRHe49gKiTgJxzQ==", + "resolved": "9.0.10", + "contentHash": "wLsf2TyVFFxWQPv0PRJj365it1ngIt8utlHJWSZ9OJ2k+NDa/PtBIRsGlF/NkoLwm1m+1vOePNl2MiKfk6lYfQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "tizSIOEsIgSNSSh+hKeUVPK7xmTIjR8s+mJWOu1KXV3htvNQiPMFRMO17OdI1y/4ZApdBVk49u/08QGC9yvLug==" + "resolved": "9.0.10", + "contentHash": "3pl8D1O5ZwMpDkZAT2uXrhQ6NipkwEgDLMFuURiHTf72TvkoMP61QYH3Vk1yrzVHnHBdNZk3cQACz8Zc7YGNhQ==" }, "Polly.Core": { "type": "Transitive", - "resolved": "8.6.2", - "contentHash": "ImAKLH6qVDjj0vzw+QxMYxxT/NhQrHK+sZE4GT5JbIfDBOrMDbE4we3BR6SqUQCJuKdjOKf3smUjxIgOUUfNVw==" + "resolved": "8.6.4", + "contentHash": "4AWqYnQ2TME0E+Mzovt1Uu+VyvpR84ymUldMcPw7Mbj799Phaag14CKrMtlJGx5jsvYP+S3oR1QmysgmXoD5cw==" }, "ReactiveUI.SourceGenerators.Analyzers.CodeFixes": { "type": "Transitive", - "resolved": "2.3.1", - "contentHash": "ump4/Yes7e0OPY/4vGqm2/CD9qd1/sCCzmZ/UsbQLYEV73MYeO7U/8oRezrY5/UqraqgIyI5J2WCu0UfFGCA9w==" + "resolved": "2.5.1", + "contentHash": "goV5cvJUFAO2/aTkN4XndHe2pMDj5R9gyNH/kwKStE02i5EjfcFy+gWHSEgQIK/3BvxoBBGt3KVyOpWKBE3f/Q==" }, "Serilog.Extensions.Logging": { "type": "Transitive", @@ -624,6 +622,32 @@ "Serilog": "4.2.0" } }, + "Splat.Builder": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "xlA5ErMwa/mg//uC5Ajv4ns3HbWXE0VJiyfupdsLfC+1HPf2MIUUk9ViYxwearB9nkZ+mAmteVD0keBhg/LYsQ==", + "dependencies": { + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Core": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "sRNcO9EcnrCMr2OF4IxD8gcHtIAfCi98GwVZEK9X294RQEBIsy7sHwy8fndlxLguIHvjDJMz85v+qd226pwdNw==", + "dependencies": { + "System.Reactive": "6.0.2" + } + }, + "Splat.Logging": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "OSkQVj6/hYVHa0taPasaknuOLw4l8CH9oTFRNuFayDowhHtGg6+UQb2LeSJXV+EXRmUL2E/TFz2ucitnQyTXJQ==", + "dependencies": { + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" + } + }, "SQLitePCLRaw.bundle_e_sqlite3": { "type": "Transitive", "resolved": "2.1.10", @@ -654,25 +678,20 @@ "SQLitePCLRaw.core": "2.1.10" } }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, "System.Diagnostics.DiagnosticSource": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Lj8/a1Hzli1z6jo8H9urc16GxkpVJtJM+W9fmivXMNu7nwzHziGkxn4vO0DFscMbudkEVKSezdDuHk5kgM0X/g==" + "resolved": "9.0.10", + "contentHash": "uIpKiKp7EWlYZBK71jYP+maGYjDY9YTi/FxBlZoqDzM1ZHZB7gLqUm4jHvRFwaKfR1/Lrt2rQih9LGPIKyNEow==" }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "gebRF3JLLJ76jz1CQpvwezNapZUjFq20JQsaGHzBH0DzlkHBLpdhwkOei9usiOkIGMwU/L0ALWpNe1JE+5/itw==" + "resolved": "9.0.10", + "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ==" }, "System.IO.Pipelines": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "6vPmJt73mgUo1gzc/OcXlJvClz/2jxZ4TQPRfriVaLoGRH2mye530D9WHJYbFQRNMxF3PWCoeofsFdCyN7fLzA==" + "resolved": "9.0.10", + "contentHash": "lwI0mhHcCxMtNSxB5ate9Gc9petWovRBUprtjz2yiIDDZPGBIaUiqNzQHJzjPuzTnvNbEMilpAXjDguKsU/2Fg==" }, "System.Memory": { "type": "Transitive", @@ -681,21 +700,21 @@ }, "System.Reactive": { "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "rHaWtKDwCi9qJ3ObKo8LHPMuuwv33YbmQi7TcUK1C264V3MFnOr5Im7QgCTdLniztP3GJyeiSg5x8NqYJFqRmg==" + "resolved": "6.1.0", + "contentHash": "M5cCC1ZMkZr9jbSQGTHnVkb5TDN67qWCV7AP8TAHdGkvDlu0puT5NzemESNn9+HkYIDpWpocP68/i+/ame2/2w==" }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "W+LotQsM4wBJ4PG7uRkyul4wqL4Fz7R4ty6uXrCNZUhbaHYANgrPaYR2ZpMVpdCjQEJ17Jr1NMN8hv4SHaHY4A==" + "resolved": "9.0.10", + "contentHash": "znmiJFUa0GGwq7t6ShUKBDRlPsNJaudNFI7rVeyGnRBhiRMegBvu2GRcadThP/QX/a5UpGgZbe6tolDooobj/Q==" }, "System.Text.Json": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "mIQir9jBqk0V7X0Nw5hzPJZC8DuGdf+2DS3jAVsr6rq5+/VyH5rza0XGcONJUWBrZ+G6BCwNyjWYd9lncBu48A==", + "resolved": "9.0.10", + "contentHash": "XM02ZBnzxk7Ti6l9YRy8Bp639wANqJzJzw4W4VYiCh+HXY9hBOWkGB4k89OLP/s/RxgM02P4a/mWcJTgFiLf1Q==", "dependencies": { - "System.IO.Pipelines": "9.0.8", - "System.Text.Encodings.Web": "9.0.8" + "System.IO.Pipelines": "9.0.10", + "System.Text.Encodings.Web": "9.0.10" } }, "System.Threading.Tasks.Extensions": { @@ -707,9 +726,9 @@ "net8.0/win-x64": { "Selenium.WebDriver": { "type": "Direct", - "requested": "[4.35.0, )", - "resolved": "4.35.0", - "contentHash": "C9OrObS2KLyUQDJNRY883JAc4n5q58pBYmY954hf+lGMQQcsz4Ias2mk91lHkLXFX+2qMttya4df9lGP1SLiGQ==" + "requested": "[4.38.0, )", + "resolved": "4.38.0", + "contentHash": "3cYBndxLgPifEttQ1+k+KhKp2XBTdME3pUp4PC/eHb/hvHsefeT2WN2JJymzs+5mkqaXUp64FBnj2EG/Iyrh/A==" }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", @@ -718,13 +737,13 @@ }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "gebRF3JLLJ76jz1CQpvwezNapZUjFq20JQsaGHzBH0DzlkHBLpdhwkOei9usiOkIGMwU/L0ALWpNe1JE+5/itw==" + "resolved": "9.0.10", + "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ==" }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "W+LotQsM4wBJ4PG7uRkyul4wqL4Fz7R4ty6uXrCNZUhbaHYANgrPaYR2ZpMVpdCjQEJ17Jr1NMN8hv4SHaHY4A==" + "resolved": "9.0.10", + "contentHash": "znmiJFUa0GGwq7t6ShUKBDRlPsNJaudNFI7rVeyGnRBhiRMegBvu2GRcadThP/QX/a5UpGgZbe6tolDooobj/Q==" } } } diff --git a/WPFUI/Views/MainWindow.xaml.cs b/WPFUI/Views/MainWindow.xaml.cs index 2838296d..7091713d 100644 --- a/WPFUI/Views/MainWindow.xaml.cs +++ b/WPFUI/Views/MainWindow.xaml.cs @@ -4,7 +4,7 @@ using ReactiveUI; using System; using System.ComponentModel; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; using System.Reactive.Linq; using System.Windows; diff --git a/WPFUI/Views/Tabs/AccountSettingTab.xaml.cs b/WPFUI/Views/Tabs/AccountSettingTab.xaml.cs index 692084da..239ab283 100644 --- a/WPFUI/Views/Tabs/AccountSettingTab.xaml.cs +++ b/WPFUI/Views/Tabs/AccountSettingTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/AddAccountTab.xaml.cs b/WPFUI/Views/Tabs/AddAccountTab.xaml.cs index 44d65aac..19d78342 100644 --- a/WPFUI/Views/Tabs/AddAccountTab.xaml.cs +++ b/WPFUI/Views/Tabs/AddAccountTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/AddAccountsTab.xaml.cs b/WPFUI/Views/Tabs/AddAccountsTab.xaml.cs index f48cd752..cf46dc96 100644 --- a/WPFUI/Views/Tabs/AddAccountsTab.xaml.cs +++ b/WPFUI/Views/Tabs/AddAccountsTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/DebugTag.xaml.cs b/WPFUI/Views/Tabs/DebugTag.xaml.cs index a5be193e..385ac9eb 100644 --- a/WPFUI/Views/Tabs/DebugTag.xaml.cs +++ b/WPFUI/Views/Tabs/DebugTag.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/EditAccountTab.xaml.cs b/WPFUI/Views/Tabs/EditAccountTab.xaml.cs index 8cc07e0d..2c8cc724 100644 --- a/WPFUI/Views/Tabs/EditAccountTab.xaml.cs +++ b/WPFUI/Views/Tabs/EditAccountTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/FarmingTab.xaml.cs b/WPFUI/Views/Tabs/FarmingTab.xaml.cs index 7f28392b..c9a15c70 100644 --- a/WPFUI/Views/Tabs/FarmingTab.xaml.cs +++ b/WPFUI/Views/Tabs/FarmingTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/VillageTab.xaml.cs b/WPFUI/Views/Tabs/VillageTab.xaml.cs index 381b7be2..22445daa 100644 --- a/WPFUI/Views/Tabs/VillageTab.xaml.cs +++ b/WPFUI/Views/Tabs/VillageTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs { diff --git a/WPFUI/Views/Tabs/Villages/BuildTab.xaml.cs b/WPFUI/Views/Tabs/Villages/BuildTab.xaml.cs index 61d8c958..d2563de0 100644 --- a/WPFUI/Views/Tabs/Villages/BuildTab.xaml.cs +++ b/WPFUI/Views/Tabs/Villages/BuildTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs.Villages; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs.Villages { diff --git a/WPFUI/Views/Tabs/Villages/VillageSettingTab.xaml.cs b/WPFUI/Views/Tabs/Villages/VillageSettingTab.xaml.cs index 2cdd457a..326f14ec 100644 --- a/WPFUI/Views/Tabs/Villages/VillageSettingTab.xaml.cs +++ b/WPFUI/Views/Tabs/Villages/VillageSettingTab.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.Tabs.Villages; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.Tabs.Villages { diff --git a/WPFUI/Views/UserControls/AmountInputUc.xaml.cs b/WPFUI/Views/UserControls/AmountInputUc.xaml.cs index 601c40ea..3121393b 100644 --- a/WPFUI/Views/UserControls/AmountInputUc.xaml.cs +++ b/WPFUI/Views/UserControls/AmountInputUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; using System.Windows; namespace WPFUI.Views.UserControls diff --git a/WPFUI/Views/UserControls/MainLayoutUc.xaml.cs b/WPFUI/Views/UserControls/MainLayoutUc.xaml.cs index 6959378f..437b5c05 100644 --- a/WPFUI/Views/UserControls/MainLayoutUc.xaml.cs +++ b/WPFUI/Views/UserControls/MainLayoutUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.UserControls { diff --git a/WPFUI/Views/UserControls/RangeInputUc.xaml.cs b/WPFUI/Views/UserControls/RangeInputUc.xaml.cs index f466fb38..8e55576c 100644 --- a/WPFUI/Views/UserControls/RangeInputUc.xaml.cs +++ b/WPFUI/Views/UserControls/RangeInputUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; using System.Windows; namespace WPFUI.Views.UserControls diff --git a/WPFUI/Views/UserControls/ResourceInputUc.xaml.cs b/WPFUI/Views/UserControls/ResourceInputUc.xaml.cs index 8c8e9991..7bcb20fe 100644 --- a/WPFUI/Views/UserControls/ResourceInputUc.xaml.cs +++ b/WPFUI/Views/UserControls/ResourceInputUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; using System.Windows; namespace WPFUI.Views.UserControls diff --git a/WPFUI/Views/UserControls/TribeSelectorUc.xaml.cs b/WPFUI/Views/UserControls/TribeSelectorUc.xaml.cs index d8a5a22d..4020f057 100644 --- a/WPFUI/Views/UserControls/TribeSelectorUc.xaml.cs +++ b/WPFUI/Views/UserControls/TribeSelectorUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; using System.Windows; namespace WPFUI.Views.UserControls diff --git a/WPFUI/Views/UserControls/TroopSelectorUc.xaml.cs b/WPFUI/Views/UserControls/TroopSelectorUc.xaml.cs index d3694d42..883d7899 100644 --- a/WPFUI/Views/UserControls/TroopSelectorUc.xaml.cs +++ b/WPFUI/Views/UserControls/TroopSelectorUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; using System.Windows; namespace WPFUI.Views.UserControls diff --git a/WPFUI/Views/UserControls/WaitingOverlayUc.xaml.cs b/WPFUI/Views/UserControls/WaitingOverlayUc.xaml.cs index a78ab870..a45f7b4c 100644 --- a/WPFUI/Views/UserControls/WaitingOverlayUc.xaml.cs +++ b/WPFUI/Views/UserControls/WaitingOverlayUc.xaml.cs @@ -1,6 +1,6 @@ using MainCore.UI.ViewModels.UserControls; using ReactiveUI; -using System.Reactive.Disposables; +using System.Reactive.Disposables.Fluent; namespace WPFUI.Views.UserControls { diff --git a/WPFUI/WPFUI.csproj b/WPFUI/WPFUI.csproj index 8688dc9a..a86aa0d5 100644 --- a/WPFUI/WPFUI.csproj +++ b/WPFUI/WPFUI.csproj @@ -24,10 +24,10 @@ - - - - + + + + diff --git a/WPFUI/packages.lock.json b/WPFUI/packages.lock.json index f0a7287d..6ec0ed13 100644 --- a/WPFUI/packages.lock.json +++ b/WPFUI/packages.lock.json @@ -4,88 +4,81 @@ "net8.0-windows10.0.19041": { "CP.Extensions.Hosting.ReactiveUI.Wpf": { "type": "Direct", - "requested": "[2.1.13, )", - "resolved": "2.1.13", - "contentHash": "SpXz/eQia9QcsnFVJREZmwKaHh12Mn1eNz5bzMKFOs9Zw2heOGtN+/TuJ4gmV6K9a5eo5NBDs8JbQi1k4j6NvA==", + "requested": "[2.2.2, )", + "resolved": "2.2.2", + "contentHash": "wX4435AGNeJa4aLFGl3c3F0/KOvX14IoO0TSg4RDeqVgwGDL/TIesRFRvxKQUQ/hsxq80vmNW5rQxC/s8524Xw==", "dependencies": { - "CP.Extensions.Hosting.Wpf": "2.1.13", - "ReactiveUI.Drawing": "20.2.45", - "ReactiveUI.WPF": "20.2.45", - "Splat.Microsoft.Extensions.DependencyInjection": "15.3.1" + "CP.Extensions.Hosting.Wpf": "2.2.2", + "ReactiveUI.Drawing": "21.0.1", + "ReactiveUI.WPF": "21.0.1", + "Splat": "16.2.1", + "Splat.Microsoft.Extensions.DependencyInjection": "16.2.1" } }, "MaterialDesignThemes": { "type": "Direct", - "requested": "[5.2.1, )", - "resolved": "5.2.1", - "contentHash": "x8JDqNHJcTLLxIoVts3w7AbSq5Zo0FXTw89XqPN7+n0EKqLXFwWsywiUn08HDyTGAmZVJqbQsWKxKWCI8qfWsQ==", + "requested": "[5.3.0, )", + "resolved": "5.3.0", + "contentHash": "jIKeR2JzUGslVn2EU5bvAXj4EJpw3wf289VsTf0evtg/czFIomPswqBGfpO7In67rpFwQzR+E+/df/Q9i43a0Q==", "dependencies": { - "MaterialDesignColors": "5.2.1", - "Microsoft.Xaml.Behaviors.Wpf": "1.1.39" + "MaterialDesignColors": "5.3.0", + "Microsoft.Xaml.Behaviors.Wpf": "1.1.77" } }, "ReactiveUI.Drawing": { "type": "Direct", - "requested": "[20.4.1, )", - "resolved": "20.4.1", - "contentHash": "Pes/ub5rouRMjcUWnfJhb5tpmwnG3EqNDnwHmdDnUiBhPL1CQr8YwIbx0xtR2pulvCNR/qCgQPUFX/7IiDzvDA==", + "requested": "[22.2.1, )", + "resolved": "22.2.1", + "contentHash": "LGNQTZmgcwyzlnDowXraT2S6XEHmdRwZxpWImHkUe0SqKimHLiPBBlhx7nrEP/sLXw7VzjFdahACi63eNKcodA==", "dependencies": { "DynamicData": "9.4.1", - "ReactiveUI": "20.4.1", - "Splat": "15.3.1", - "Splat.Drawing": "15.3.1", - "System.ComponentModel.Annotations": "5.0.0" + "ReactiveUI": "22.2.1", + "Splat": "17.1.1", + "Splat.Drawing": "17.1.1", + "System.Reactive": "6.1.0" } }, "ReactiveUI.WPF": { "type": "Direct", - "requested": "[20.4.1, )", - "resolved": "20.4.1", - "contentHash": "5LZNWPSfNrtxbYzas5Vyah8cwpJv6nS+/PxHPUVzfNWWyNfpLDxrY/6gFSclX301qpIRu9N1UrK3UMu6gYaI5Q==", + "requested": "[22.2.1, )", + "resolved": "22.2.1", + "contentHash": "pFju8L23VWbBS1QRVxebZYPsOzkKwgAEnpZdQLCE31BzYwbkcAbiHcrRzoskIcw1O8ov3sQZQ3cqHqCsbrbTIw==", "dependencies": { "DynamicData": "9.4.1", - "ReactiveUI": "20.4.1", - "Splat": "15.3.1", - "System.ComponentModel.Annotations": "5.0.0" + "ReactiveUI": "22.2.1", + "Splat": "17.1.1", + "System.Reactive": "6.1.0" } }, "Ardalis.Specification": { "type": "Transitive", - "resolved": "9.2.0", - "contentHash": "bggkCJU1tLIV/hSK5s0lbyFAOLsNpiafFPfrg2/0arWhmst8Y90CWQFTNE5aVJJLV1Ja6Jdf4rogsG9mYiRUSA==" + "resolved": "9.3.1", + "contentHash": "GWrE6BA0smWFLbN+XPU2l5rDF9Uzelfbb3w35jJ0CGIat+p1ChbtLcbkvYRMEculBHOAo12omwAAOm3VFWkoJQ==" }, "Ardalis.Specification.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.2.0", - "contentHash": "0cy8NQpPemf870dwyk8orhIi5LSrvxtqUWQeJ+VfrK8eaUifGpXRKRR7rFHaIQRl4kzrU5Mz6RN0OsKs8fgu5w==", + "resolved": "9.3.1", + "contentHash": "QbOo4E6HWdKXZ9QUrqcgiGN4EKtzt0kzGzqr2zc32q5QESzBrceJ3GX1ymWVdCCOzJO1+GPm+/a/5ovSkfrLoQ==", "dependencies": { - "Ardalis.Specification": "9.2.0", - "Microsoft.EntityFrameworkCore": "8.0.16", - "Microsoft.EntityFrameworkCore.Relational": "8.0.16" + "Ardalis.Specification": "9.3.1", + "Microsoft.EntityFrameworkCore": "8.0.19", + "Microsoft.EntityFrameworkCore.Relational": "8.0.19" } }, "CP.Extensions.Hosting.MainUIThread": { "type": "Transitive", - "resolved": "2.1.13", - "contentHash": "libsLcpgvHLVCo4SKMTjXo/TMJPQoyo8Z/6zvrjPyv1L6zsM0II5bdpeJheshj5s2Ld9Uhk2JLSxYZKpmptvoA==", + "resolved": "2.2.2", + "contentHash": "XJlqW871QgLUBu+0Pvjg/0E00ZWKQbbN0LDi09EHjWQmIOCInYvfJZ6AEQmHOo8K6JmBdIrBRQg0oCeqx0HQPw==", "dependencies": { - "Microsoft.Extensions.Hosting": "9.0.4" - } - }, - "CP.Extensions.Hosting.SingleInstance": { - "type": "Transitive", - "resolved": "2.1.13", - "contentHash": "9MyyTqdZ1J6OQMAZLEfiwEPIiulKL3Wfv5TAQSfnyOD/vRp+kiYZOGSANhDdJhkpodIS39GEc7kTr/feWVDPkw==", - "dependencies": { - "Microsoft.Extensions.Hosting": "9.0.4" + "Microsoft.Extensions.Hosting": "9.0.9" } }, "CP.Extensions.Hosting.Wpf": { "type": "Transitive", - "resolved": "2.1.13", - "contentHash": "ordzTnZ0157i73nXsgUfzY4U931pmOdup0781pvB5emUeMXgZz+sI8eLUVkyYCPbVsZMEy255ZNyK/l3gUAnQA==", + "resolved": "2.2.2", + "contentHash": "OwWtHZsTxo5FQ1d3tpOuH8Z+xmZZb9Nd5I3Tkj3FW+cG1TslU5sG+VCdwt72Tqe7QoNmCX6A7BD3CwZ25cv2ZQ==", "dependencies": { - "CP.Extensions.Hosting.MainUIThread": "2.1.13" + "CP.Extensions.Hosting.MainUIThread": "2.2.2" } }, "DynamicData": { @@ -107,22 +100,22 @@ }, "FluentValidation": { "type": "Transitive", - "resolved": "12.0.0", - "contentHash": "8NVLxtMUXynRHJIX3Hn1ACovaqZIJASufXIIFkD0EUbcd5PmMsL1xUD5h548gCezJ5BzlITaR9CAMrGe29aWpA==" + "resolved": "12.1.0", + "contentHash": "FqWEn8BdbbFEHGanj9K8SVo+LyBeFWy2rolaE+e1TNUbifr8M7Iss+I1AqTSc8kjKtvjl/WN4XIHiRpslh42bA==" }, "FluentValidation.DependencyInjectionExtensions": { "type": "Transitive", - "resolved": "12.0.0", - "contentHash": "B28fBRL1UjhGsBC8fwV6YBZosh+SiU1FxdD7l7p5dGPgRlVI7UnM+Lgzmg+unZtV1Zxzpaw96UY2MYfMaAd8cg==", + "resolved": "12.1.0", + "contentHash": "p9ZnpVCUvkelSfqFYZP9aMtnuRlDRkrAAPqjQGG+1mVVn8zxE0bc1/RAFRBZKsPglbMBQOx8wXOZhg2fGstacQ==", "dependencies": { - "FluentValidation": "12.0.0", + "FluentValidation": "12.1.0", "Microsoft.Extensions.Dependencyinjection.Abstractions": "2.1.0" } }, "HtmlAgilityPack": { "type": "Transitive", - "resolved": "1.12.2", - "contentHash": "btF/9sB65h0V9ipZxVfEQ9fxDwXSFRwhi4Z1qFBgnXONqWVKZE3LxS0JEMW73G3gvrFI7/IAqLA1y/15HDa3fw==" + "resolved": "1.12.4", + "contentHash": "ljqvBabvFwKoLniuoQKO8b5bJfJweKLs4fUNS/V5dsvpo0A8MlJqxxn9XVmP2DaskbUXty6IYaWAi1SArGIMeQ==" }, "Humanizer.Core": { "type": "Transitive", @@ -131,449 +124,449 @@ }, "Immediate.Handlers": { "type": "Transitive", - "resolved": "2.2.0", - "contentHash": "lwmd0BjpMX5iHLvtVTmllhaC9U3/gebp4O1CPFYYBgEODG3flBt3WntrpZ026eiPorFmZqifQMrhm1F/W7BMCA==" + "resolved": "3.1.0", + "contentHash": "/v047E5HPSaPQUe//UzpbAnx9WiOr3Bcj34rX1Dqb1bI2UsndJ6iepHyIvphpfuWEmtK/Bvr9uhpfCWP+vm0JQ==" }, "Injectio": { "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "vobNqxNLUSri8ESae2FSzPuuwJGsQ1s1IAhCE/Orxq+uyvoW91dS+GP4EX5hRRFuu2QXIaSgVzrMb0AgFjfIQg==", + "resolved": "5.1.0", + "contentHash": "tHtbV+XCGYy7YbOsSteDIjbsQvpM5GM5Gj+6ecw6QxywelN6F6rUZIu4Pd6QiuAu+zJm8V6aKCEbQcPi7uurWw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.4" + "Microsoft.Extensions.DependencyInjection": "9.0.9" } }, "MaterialDesignColors": { "type": "Transitive", - "resolved": "5.2.1", - "contentHash": "D0HW6E2/kzsnEWCh1KDG/K09Fpkvs9mR3n91Y8YSOsEAoQmGZbVAj58ssyAxGTiIPj2zB4ZVnwxkizwO35/v8A==" + "resolved": "5.3.0", + "contentHash": "2+gcPqbWB3f9vvpCXb7SMhObt9aYSIIIkycYjnctnq4smAfzflwTcMQbG3UjiUYKoTbAy4+RXO0tugLX33YhiA==" }, "Microsoft.Data.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "AQr1nLGi1riN7XA2c8uAKAr2fo7bvZ++VRnvKyh/rhsj2f4x0Nmgk2j8+Rw9RaJrzZMcv0Mu4nYNpAdSui/FHw==", + "resolved": "9.0.10", + "contentHash": "tWbN2uzG4uBxxMjcHA3Oa9ecAYjyRTfDwRbgQ7ueyx7eEgyYbBiKADY2rllF8wO3dHUvN+/8fgylwSGMfiCtVg==", "dependencies": { "SQLitePCLRaw.core": "2.1.10" } }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "bNGdPhN762+BIIO5MFYLjafRqkSS1MqLOc/erd55InvLnFxt9H3N5JNsuag1ZHyBor1VtD42U0CHpgqkWeAYgQ==", + "resolved": "9.0.10", + "contentHash": "WjjxVyOTVs85V7SUe+lZjtGOEeVzF4RO8amrqL4adgbyThNq7vGCFzPw8buZj44gHeQYD5V/uZ/6XuqG9Jq+kA==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "9.0.8", - "Microsoft.EntityFrameworkCore.Analyzers": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8" + "Microsoft.EntityFrameworkCore.Abstractions": "9.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "B2yfAIQRRAQ4zvvWqh+HudD+juV3YoLlpXnrog3tU0PM9AFpuq6xo0+mEglN1P43WgdcUiF+65CWBcZe35s15Q==" + "resolved": "9.0.10", + "contentHash": "I3TWAs5Lbzmzu8S0T6qXhzBiO3CznYLrfE59W0npkqNHfWGH8CgA66LrHMWxWOXVTD4145QwYqiWNCdLwpJ1Ew==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "2EYStCXt4Hi9p3J3EYMQbItJDtASJd064Kcs8C8hj8Jt5srILrR9qlaL0Ryvk8NrWQoCQvIELsmiuqLEZMLvGA==" + "resolved": "9.0.10", + "contentHash": "mXNl0Gg3l3zGrClLCHepB+b7rYVuFfB9qQJwya0dUSHFuR1T0jMD8KxuNVyhQSfoWIepanhzjcG8TUNGXOcU0Q==" }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OVhfyxiHxMvYpwQ8Jy3YZi4koy6TK5/Q7C1oq3z6db+HEGuu6x9L1BX5zDIdJxxlRePMyO4D8ORiXj/D7+MUqw==", + "resolved": "9.0.10", + "contentHash": "IJNrG5vdmFUvHR8FLLFg9AWpuE8qW1DTEN+fNLGbNTu6cnpZzzqU6+aknAGtTSAEVWosJ3BZ3TOO9wpifUvv3A==", "dependencies": { - "Microsoft.EntityFrameworkCore": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8" + "Microsoft.EntityFrameworkCore": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Sqlite": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "5WZ3k3s2LcuyR5kBjcK2pkEa2l9Yo35WzSdyitfk5Y9GBn2jIFs8uNhYGpD9ZZ3g+feIMHXUFQ8psee0tst6Qw==", + "resolved": "9.0.10", + "contentHash": "7fFF7FYlISZYhmeTtpjMZIEBxykqpKp2boZpuHTbIitN6am2QlmfVctrJRHHkI5u5Oh5E7uT1DMI68cpBAP4BQ==", "dependencies": { - "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyModel": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", + "Microsoft.EntityFrameworkCore.Sqlite.Core": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyModel": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", "SQLitePCLRaw.bundle_e_sqlite3": "2.1.10", "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.8" + "System.Text.Json": "9.0.10" } }, "Microsoft.EntityFrameworkCore.Sqlite.Core": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "9CXB4OoU6xqZymiRRvxEy6+almeSciSKOoPhr8CHlGgBnYHWBZeGhEmqzpXyv2ohF3XC/sNxEcZ6948grKrWew==", + "resolved": "9.0.10", + "contentHash": "6+ee+erdXSzxqB6Piys2ssldqhR8cQZJHjIPKWrh25YTYJhFUmTwB0nC8l/f+U69NoGg7ZIOwdg4+Qk2YV13Ug==", "dependencies": { - "Microsoft.Data.Sqlite.Core": "9.0.8", - "Microsoft.EntityFrameworkCore.Relational": "9.0.8", - "Microsoft.Extensions.Caching.Memory": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyModel": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", + "Microsoft.Data.Sqlite.Core": "9.0.10", + "Microsoft.EntityFrameworkCore.Relational": "9.0.10", + "Microsoft.Extensions.Caching.Memory": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyModel": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", "SQLitePCLRaw.core": "2.1.10", - "System.Text.Json": "9.0.8" + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Caching.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "4h7bsVoKoiK+SlPM+euX/ayGnKZhl47pPCidLTiio9xyG+vgVVfcYxcYQgjm0SCrdSxjG0EGIAKF8EFr3G8Ifw==", + "resolved": "9.0.10", + "contentHash": "cL6iTxgJ4u5zP3eFOdBiDAtmE/B2WKTRhyJfEne7n6qvHpsMwwIDxljs210mWSO1ucBy7lR1Lo7/7kjeZeLcqQ==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Caching.Memory": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "grR+oPyj8HVn4DT8CFUUdSw2pZZKS13KjytFe4txpHQliGM1GEDotohmjgvyl3hm7RFB3FRqvbouEX3/1ewp5A==", + "resolved": "9.0.10", + "contentHash": "2iuzwIoCoqZJfH2VLk1xvlQS4PQDEuhj4dWiGb+Qpt1vHFHyffp497cTO6ucsV54W/h4JmM1vzDBv8pVAFazZg==", "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Caching.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "6m+8Xgmf8UWL0p/oGqBM+0KbHE5/ePXbV1hKXgC59zEv0aa0DW5oiiyxDbK5kH5j4gIvyD5uWL0+HadKBJngvQ==", + "resolved": "9.0.10", + "contentHash": "UAm3SLGAMlJdowbN+/xnh2UGJkdJoXVm4MsdhZ60dAMS8jteoyCx5WfIab5DKv0TCYpdhVecLJVUjEO3abs9UQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "yNou2KM35RvzOh4vUFtl2l33rWPvOCoba+nzEDJ+BgD8aOL/jew4WPCibQvntRfOJ2pJU8ARygSMD+pdjvDHuA==", + "resolved": "9.0.10", + "contentHash": "ad3JxmFj0uxuFa1CT6oxTCC1lQ0xeRuOvzBRFT/I/ofIXVOnNsH/v2GZkAJWhlpZqKUvSexQZzp3EEAB2CdtJg==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Binder": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "0vK9DnYrYChdiH3yRZWkkp4x4LbrfkWEdBc5HOsQ8t/0CLOWKXKkkhOE8A1shlex0hGydbGrhObeypxz/QTm+w==", + "resolved": "9.0.10", + "contentHash": "D6Kng+9I+w1SQPxJybc6wzw9nnnyUQPutycjtI0svv1RHaWOpUk9PPlwIRfhhoQZ3yihejkEI2wNv/7VnVtkGA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.CommandLine": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "vB6eDQ5prED5jHBqmSDNYzlCXsTSylYY7co9c7guhnz0zhx+jZ8BTHgO7y/Wl1dV2jAO15mKNWuyHRIRtWwGQg==", + "resolved": "9.0.10", + "contentHash": "Sg400UyKl33kOpqklEg1MIM3lpY/aWi7QZTB2JfFpKgxnSRQl9J6tHiKYll+Rd603P+71YsDy/zqBYUE/3Xeag==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.EnvironmentVariables": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "9qileEYXDodlPN9DfPd5sHSfU2nSrI1r5BHVqLaLyb/7mPi335cy4ar/0ix4tXb2Aer/Pu4e5/zdwxt7lrtSyQ==", + "resolved": "9.0.10", + "contentHash": "Nje8x5JDRi7uzf2q3NpXiBleRRJAxJMnHcJTi0tLyqd6eGIICRuF6qxgZssMS1r8xXDoaUr/2ZLQ6Cui1Io+Qw==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Configuration.FileExtensions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "2jgx58Jpk3oKT7KRn8x/cFf3QDTjQP+KUbyBnynAcB2iBx1Eq9EdNMCu0QEbYuaZOaQru/Kwdffary+hn58Wwg==", + "resolved": "9.0.10", + "contentHash": "kYWY9VRoCKQJCLKAA4Wqn74FVnytqosF7vFq1chJ8st9mGZS6SQrkoZg7GmcpqrRRUWmWDOZI4nFdoFnxsI/Ug==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Configuration.Json": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "vjxzcnL7ul322+kpvELisXaZl8/5MYs6JfI9DZLQWsao1nA/4FL48yPwDK986hbJTWc64JxOOaMym0SQ/dy32w==", + "resolved": "9.0.10", + "contentHash": "bn+qnwuOaDelax8PUw30UTjLOuEd0lGWqUG4Z+oVr4D/gEWouCWOyvCVkyn+PWbftPlnmAmWxd4J+7ljwE8wVw==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.FileExtensions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Configuration.UserSecrets": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "UgH18nQkuMJgxjn1539I83N6LhnKQlLhQm3ppe+PGsFpYsC6eGpF/1KvDRm/bmqsrg0NXhurrv4k2r0e8vWX/Q==", + "resolved": "9.0.10", + "contentHash": "l7em+qNfEdGlwRm8Qk2rkzqjT8xWb/EosoQeTvJ3kZYiRo5inMj0nNcZw51dUKwGO/LW7uNMdqNNU3P0pB5JqA==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Json": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Json": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10" } }, "Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "JJjI2Fa+QtZcUyuNjbKn04OjIUX5IgFGFu/Xc+qvzh1rXdZHLcnqqVXhR4093bGirTwacRlHiVg1XYI9xum6QQ==", + "resolved": "9.0.10", + "contentHash": "iEtXCkNd5XhjNJAOb/wO4IhDRdLIE2CsPxZggZQWJ/q2+sa8dmEPC393nnsiqdH8/4KV8Xn25IzgKPR1UEQ0og==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10" } }, "Microsoft.Extensions.DependencyInjection.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "xY3lTjj4+ZYmiKIkyWitddrp1uL5uYiweQjqo4BKBw01ZC4HhcfgLghDpPZcUlppgWAFqFy9SgkiYWOMx365pw==" + "resolved": "9.0.10", + "contentHash": "r9waLiOPe9ZF1PvzUT+RDoHvpMmY8MW+lb4lqjYGObwKpnyPMLI3odVvlmshwuZcdoHynsGWOrCPA0hxZ63lIA==" }, "Microsoft.Extensions.DependencyModel": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "3CW02zNjyqJ2eORo8Zkznpw6+QvK+tYUKZgKuKuAIYdy73TRFvpaqCwYws1k6/lMSJ7ZqABfWn0/wa5bRsIJ4w==", + "resolved": "9.0.10", + "contentHash": "qCIWxEPt6Y9Z/Vx2R6JsfX7pwxIHC2GYlkcFbTox3MpsiNexyLkvPFTNsfmAaKpjTZ6FhNmvY3BdrwLX4+X0cQ==", "dependencies": { - "System.Text.Encodings.Web": "9.0.8", - "System.Text.Json": "9.0.8" + "System.Text.Encodings.Web": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Diagnostics": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "BKkLCFXzJvNmdngeYBf72VXoZqTJSb1orvjdzDLaGobicoGFBPW8ug2ru1nnEewMEwJzMgnsjHQY8EaKWmVhKg==", + "resolved": "9.0.10", + "contentHash": "01x2vz0AbIdfNUzEVYFq2HSeq1BmrSDpiG7nTmwjfd0d39sahQ8T7dhSXhH+YnZyaLWyMBudOq0vVa/voyNWjg==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.8", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "UDY7blv4DCyIJ/8CkNrQKLaAZFypXQavRZ2DWf/2zi1mxYYKKw2t8AOCBWxNntyPZHPGhtEmL3snFM98ADZqTw==", + "resolved": "9.0.10", + "contentHash": "iwVnYi+gNKrr5riw8YFCoLCN4s0dmHtzfUmV99RIhrz8R4d6C/bsKzXhIhZWDIxJOhVzB+idSOQeRGj1/oMF+Q==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Diagnostics.DiagnosticSource": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Diagnostics.DiagnosticSource": "9.0.10" } }, "Microsoft.Extensions.FileProviders.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "4zZbQ4w+hCMm9J+z5NOj3giIPT2MhZxx05HX/MGuAmDBbjOuXlYIIRN+t4V6OLxy5nXZIcXO+dQMB/OWubuDkw==", + "resolved": "9.0.10", + "contentHash": "3+cLxZKUWBbpfIXLLuKcEok9C91PsV1h5xxfUsEnLSXXLNMiPDfrhpb1xajNFcejFPs9Ck/Fi3z71hYDqFBwYg==", "dependencies": { - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.FileProviders.Physical": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "FlOe2i7UUIfY0l0ChaIYtlXjdWWutR4DMRKZaGD6z4G1uVTteFkbBfxUIoi1uGmrZQxXe/yv/cfwiT0tK2xyXA==", + "resolved": "9.0.10", + "contentHash": "Eg3YOEMpHWZzAgPD9YvGkQSv97AtG3II6maRQV/voDRORh4bRiyl0mVtT2PKnu1JoD9rJeYgjGCwRvVWMBaqgQ==", "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileSystemGlobbing": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileSystemGlobbing": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.FileSystemGlobbing": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "96Ub5LmwYfIGVoXkbe4kjs+ivK6fLBTwKJAOMfUNV0R+AkZRItlgROFqXEWMUlXBTPM1/kKu26Ueu5As6RDzJA==" + "resolved": "9.0.10", + "contentHash": "KdZAM2YMYBipVp/4tSEWPLnrocd17SL4iaXdgXjR5/nheBXbfR5QfPWYoTyh6C6IW3uKR7TRMwQr2qCvtaCTiA==" }, "Microsoft.Extensions.Hosting": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "O2VlzORrBbS2it203k5FOHrudDdmdrJovA73P/shdRGeLzvet4e4yXhGx52V2PNjYBQ0IO5M4xiNcL+6xIX6Bg==", - "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.Configuration.CommandLine": "9.0.8", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.8", - "Microsoft.Extensions.Configuration.FileExtensions": "9.0.8", - "Microsoft.Extensions.Configuration.Json": "9.0.8", - "Microsoft.Extensions.Configuration.UserSecrets": "9.0.8", - "Microsoft.Extensions.DependencyInjection": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Diagnostics": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Physical": "9.0.8", - "Microsoft.Extensions.Hosting.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Configuration": "9.0.8", - "Microsoft.Extensions.Logging.Console": "9.0.8", - "Microsoft.Extensions.Logging.Debug": "9.0.8", - "Microsoft.Extensions.Logging.EventLog": "9.0.8", - "Microsoft.Extensions.Logging.EventSource": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8" + "resolved": "9.0.10", + "contentHash": "63yDlitelCBNl1unJsnEWVUCZHOtxbVTbTODi7cszQJBG9bIfdPYIpB9w0UIcoqVSP1C9P6THXgukx8APWRzMw==", + "dependencies": { + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.Configuration.CommandLine": "9.0.10", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "9.0.10", + "Microsoft.Extensions.Configuration.FileExtensions": "9.0.10", + "Microsoft.Extensions.Configuration.Json": "9.0.10", + "Microsoft.Extensions.Configuration.UserSecrets": "9.0.10", + "Microsoft.Extensions.DependencyInjection": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Diagnostics": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Physical": "9.0.10", + "Microsoft.Extensions.Hosting.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Configuration": "9.0.10", + "Microsoft.Extensions.Logging.Console": "9.0.10", + "Microsoft.Extensions.Logging.Debug": "9.0.10", + "Microsoft.Extensions.Logging.EventLog": "9.0.10", + "Microsoft.Extensions.Logging.EventSource": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10" } }, "Microsoft.Extensions.Hosting.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "WNrad20tySNCPe9aJUK7Wfwh+RiyLF+id02FKW8Qfc+HAzNQHazcqMXAbwG/kmbS89uvan/nKK1MufkRahjrJA==", + "resolved": "9.0.10", + "contentHash": "spfXydiEQENFwxdgr3Y57wwys/FRjfmq5VjHGPh6ct1FJK7X+qNEWYbnZJCMqq0B0oJTMvnItAReOv4mi2Idog==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.8", - "Microsoft.Extensions.FileProviders.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Diagnostics.Abstractions": "9.0.10", + "Microsoft.Extensions.FileProviders.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Logging": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Z/7ze+0iheT7FJeZPqJKARYvyC2bmwu3whbm/48BJjdlGVvgDguoCqJIkI/67NkroTYobd5geai1WheNQvWrgA==", + "resolved": "9.0.10", + "contentHash": "UBXHqE9vyptVhaFnT1R7YJKCve7TqVI10yjjUZBNGMlW2lZ4c031Slt9hxsOzWCzlpPxxIFyf1Yk4a6Iubxx7w==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8" + "Microsoft.Extensions.DependencyInjection": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10" } }, "Microsoft.Extensions.Logging.Abstractions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "pYnAffJL7ARD/HCnnPvnFKSIHnTSmWz84WIlT9tPeQ4lHNiu0Az7N/8itihWvcF8sT+VVD5lq8V+ckMzu4SbOw==", + "resolved": "9.0.10", + "contentHash": "MFUPv/nN1rAQ19w43smm6bbf0JDYN/1HEPHoiMYY50pvDMFpglzWAuoTavByDmZq7UuhjaxwrET3joU69ZHoHQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "System.Diagnostics.DiagnosticSource": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "System.Diagnostics.DiagnosticSource": "9.0.10" } }, "Microsoft.Extensions.Logging.Configuration": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Us4evDN3lbp1beVgrpxkSXKrbntVGAK+YbSo9P9driiU9PK05+ShhgesJ3aj7SuDfr3mqqcEgrMJ87Vu8t5dhw==", + "resolved": "9.0.10", + "contentHash": "qwTRpxrmLOXZrbgQHRZ9wS2AtVa/61DFIYk8k1rBCCgA5qW0MBxxQC4BjkaI0wSoHHOv/IUXBeFNK+Y59qe/Ug==", "dependencies": { - "Microsoft.Extensions.Configuration": "9.0.8", - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.8" + "Microsoft.Extensions.Configuration": "9.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Options.ConfigurationExtensions": "9.0.10" } }, "Microsoft.Extensions.Logging.Console": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "mPp9xB9MjiPuodh9z/+6zEGNj2kSVeXQtdbIBHlhUYqxX22gzJkx0ycPY42q4/OT/SzFV/TJ989Pa3sA/8ZBeA==", + "resolved": "9.0.10", + "contentHash": "ponA8k4E4S0LlQ8J4ce4Yp1NND8rxww0lbADK9yL3omRpnnawiENb7W/CTgZUIZVJxKcmIwhm1IbUCRk6RLocQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging.Configuration": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging.Configuration": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Logging.Debug": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OwHQFVITsONEoizShc1yNYTUvMq0kT9j/LhwAKMsA7OZqtrBXuqjosbSvzkJZ9o+KWAozDh5Y1Vtpe5p/8/1qA==", + "resolved": "9.0.10", + "contentHash": "Uj4YMaMMLawIkpHYnDWsR2/pufV/8X3dDT1/RNhkmt8RRf6/SriyA2gxH6I6bj4gFx6yMuFWZhCgFLy3wcSGTw==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10" } }, "Microsoft.Extensions.Logging.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "/gMwlll21UJcaXlitUqd+rs9jH36EJz5BpFVPshyOqz5u0qyV1pFnTWm5vhyx+g6gwVYENSLgpazR1urNv83xw==", + "resolved": "9.0.10", + "contentHash": "Son+9zr7gnuYv1CcuZ8b6XhZK/UQRG88Ku1iSUvAQSZ1cFjYC+lDYRD6nBVXF2QIQyv0jhjt/MPKD7sA+323TQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "System.Diagnostics.EventLog": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "System.Diagnostics.EventLog": "9.0.10" } }, "Microsoft.Extensions.Logging.EventSource": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "aGMFc/1P+315d07iyxSe6lEoZ0JjOPJ+Mfv9rrV2PvR2DFu1/pSi/SItHw1iChJOZgslNKJE97g1a9nLX3qQYA==", + "resolved": "9.0.10", + "contentHash": "qhqkUWsf/CVyQ9V98n5uWSQcvy7HbyRkhyhpK75OKojWuaNKoEIfBmrHRiahmdGJDuh2Qz/nDpFOjQOi/ERtZQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Logging": "9.0.8", - "Microsoft.Extensions.Logging.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8", - "System.Text.Json": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Logging": "9.0.10", + "Microsoft.Extensions.Logging.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10", + "System.Text.Json": "9.0.10" } }, "Microsoft.Extensions.Options": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "OmTaQ0v4gxGQkehpwWIqPoEiwsPuG/u4HUsbOFoWGx4DKET2AXzopnFe/fE608FIhzc/kcg2p8JdyMRCCUzitQ==", + "resolved": "9.0.10", + "contentHash": "zMNABt8eBv0B0XrWjFy9nZNgddavaOeq3ZdaD5IlHhRH65MrU7HM+Hd8GjWE3e2VDGFPZFfSAc6XVXC17f9fOA==", "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Options.ConfigurationExtensions": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "eW2s6n06x0w6w4nsX+SvpgsFYkl+Y0CttYAt6DKUXeqprX+hzNqjSfOh637fwNJBg7wRBrOIRHe49gKiTgJxzQ==", + "resolved": "9.0.10", + "contentHash": "wLsf2TyVFFxWQPv0PRJj365it1ngIt8utlHJWSZ9OJ2k+NDa/PtBIRsGlF/NkoLwm1m+1vOePNl2MiKfk6lYfQ==", "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "9.0.8", - "Microsoft.Extensions.Configuration.Binder": "9.0.8", - "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8", - "Microsoft.Extensions.Options": "9.0.8", - "Microsoft.Extensions.Primitives": "9.0.8" + "Microsoft.Extensions.Configuration.Abstractions": "9.0.10", + "Microsoft.Extensions.Configuration.Binder": "9.0.10", + "Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.10", + "Microsoft.Extensions.Options": "9.0.10", + "Microsoft.Extensions.Primitives": "9.0.10" } }, "Microsoft.Extensions.Primitives": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "tizSIOEsIgSNSSh+hKeUVPK7xmTIjR8s+mJWOu1KXV3htvNQiPMFRMO17OdI1y/4ZApdBVk49u/08QGC9yvLug==" + "resolved": "9.0.10", + "contentHash": "3pl8D1O5ZwMpDkZAT2uXrhQ6NipkwEgDLMFuURiHTf72TvkoMP61QYH3Vk1yrzVHnHBdNZk3cQACz8Zc7YGNhQ==" }, "Microsoft.Xaml.Behaviors.Wpf": { "type": "Transitive", - "resolved": "1.1.39", - "contentHash": "8PZKqw9QOcu42xk8puY4P1+EXHL9YGOR9b7qhaYx5cILHul456H073tj99vyPcCt0W0781T9RwHqkx507ZyUpQ==" + "resolved": "1.1.77", + "contentHash": "MCu674ZETgU18EbxfwIlRpUPJ02YbZenLsMCXTkpeA7KUBpXfFaOUDlEO+7UWu5AFnUoydg+aQENJkuaZPheMQ==" }, "Polly": { "type": "Transitive", - "resolved": "8.6.2", - "contentHash": "+irkpMJQ29+o8+u/SdN+1+AP4rB4TGoKZ6gXhD04dPKG+DX2grvKJ6Z6UAK3vYkSQQcbATt+YPt+ac6/X2wVAA==", + "resolved": "8.6.4", + "contentHash": "uuBsDoBw0oYrMe3uTWRjkT2sIkKh+ZZnnDrLb4Z+QANfeA4+7FJacx6E8CY5GAxXRoSgFrvUADEAQ7DPF6fGiw==", "dependencies": { - "Polly.Core": "8.6.2" + "Polly.Core": "8.6.4" } }, "Polly.Core": { "type": "Transitive", - "resolved": "8.6.2", - "contentHash": "ImAKLH6qVDjj0vzw+QxMYxxT/NhQrHK+sZE4GT5JbIfDBOrMDbE4we3BR6SqUQCJuKdjOKf3smUjxIgOUUfNVw==" + "resolved": "8.6.4", + "contentHash": "4AWqYnQ2TME0E+Mzovt1Uu+VyvpR84ymUldMcPw7Mbj799Phaag14CKrMtlJGx5jsvYP+S3oR1QmysgmXoD5cw==" }, "ReactiveUI": { "type": "Transitive", - "resolved": "20.4.1", - "contentHash": "HMgCWEya3zMfFfrvmYz4Ec87acq+9mo92pLfNZ3GLbUFZeI6TBc2aTPg3UT+1AjPtwfacJJeh7wCwz0y9wabpg==", + "resolved": "22.2.1", + "contentHash": "P0ZaWZdRVoycwfcEpkC8C/b9mbEJmueTPkBA4PON9NiopGjUY2YhIP5Dm8lki/FLH9aiKt18NXsDwv/mgO/1Dw==", "dependencies": { "DynamicData": "9.4.1", - "Splat": "15.3.1", - "System.ComponentModel.Annotations": "5.0.0" + "Splat": "17.1.1", + "System.Reactive": "6.1.0" } }, "Riok.Mapperly": { "type": "Transitive", - "resolved": "4.2.1", - "contentHash": "UZeQSieVlHr48t64J4k2s/lvbMeCXvzsXqV2A/0wyNdPpW8Cyn47+9mfWFJjouPxoSFfEhDbxg+WRbFIHvq4Zw==" + "resolved": "4.3.0", + "contentHash": "9M60fNhHAx4Gzm3ebavQn60UT8uuFBM9kSfhepEWlEMoPhd/4mAdJAtBZmi+6RZJWTHil/VC/DrzihhPq39xhg==" }, "Selenium.Support": { "type": "Transitive", - "resolved": "4.35.0", - "contentHash": "K6DiLdDQNDSWI/zh14bk9vRjW8vEX2mhMI2Cq8bD72FM5rOnLhQwZABJHrWCZ3U1wb7KFFd7iQeUhvpyHVt2AA==", + "resolved": "4.38.0", + "contentHash": "FBxJRTpXZePi/gbBAf7RzN147sd6vo/TEaxQzxd7NbSxJCbTI2zu0wLmwnv3mmJAWrFDwjknJq0mB6s0b94jIA==", "dependencies": { - "Selenium.WebDriver": "4.35.0" + "Selenium.WebDriver": "4.38.0" } }, "Selenium.WebDriver": { "type": "Transitive", - "resolved": "4.35.0", - "contentHash": "C9OrObS2KLyUQDJNRY883JAc4n5q58pBYmY954hf+lGMQQcsz4Ias2mk91lHkLXFX+2qMttya4df9lGP1SLiGQ==" + "resolved": "4.38.0", + "contentHash": "3cYBndxLgPifEttQ1+k+KhKp2XBTdME3pUp4PC/eHb/hvHsefeT2WN2JJymzs+5mkqaXUp64FBnj2EG/Iyrh/A==" }, "Serilog": { "type": "Transitive", @@ -627,24 +620,57 @@ }, "Splat": { "type": "Transitive", - "resolved": "15.4.1", - "contentHash": "nWDquiKJAJ+H3O5/kzUfVKaFZ2iS4K9GkOrqw8SGCm28wMLWWP82bq5sWuFZq/p4IgwqpS8u2ZhClUPY4OoF+w==" + "resolved": "17.1.1", + "contentHash": "WwSoJ6aPHlXwWS2jfUtKQIgzQQDSuE/iGbqEFRcM1DKVQelf+XSfnaur6oAqzECobuJLC9nqUMeDH19gU6JDag==", + "dependencies": { + "Splat.Builder": "17.1.1", + "Splat.Logging": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Builder": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "xlA5ErMwa/mg//uC5Ajv4ns3HbWXE0VJiyfupdsLfC+1HPf2MIUUk9ViYxwearB9nkZ+mAmteVD0keBhg/LYsQ==", + "dependencies": { + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Core": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "sRNcO9EcnrCMr2OF4IxD8gcHtIAfCi98GwVZEK9X294RQEBIsy7sHwy8fndlxLguIHvjDJMz85v+qd226pwdNw==", + "dependencies": { + "System.Reactive": "6.0.2" + } }, "Splat.Drawing": { "type": "Transitive", - "resolved": "15.4.1", - "contentHash": "7iw929LmnXruYFfV5kEs5/6AgTj/3ZJH1U5ND49bqijImz6+RGkfLNpcDVKXe/fquVOfVrc8ib/egRRcLhuZAQ==", + "resolved": "17.1.1", + "contentHash": "jqCdHliVlpDtROHza3TtqP7uL05EA97ApJ7JzkJQ/oWMiBHiYT2UU2H0PRGPSFwXuOxDx7YfkLq6yACpbyMMJA==", "dependencies": { - "Splat": "15.4.1" + "Splat": "17.1.1", + "System.Reactive": "6.0.2" + } + }, + "Splat.Logging": { + "type": "Transitive", + "resolved": "17.1.1", + "contentHash": "OSkQVj6/hYVHa0taPasaknuOLw4l8CH9oTFRNuFayDowhHtGg6+UQb2LeSJXV+EXRmUL2E/TFz2ucitnQyTXJQ==", + "dependencies": { + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" } }, "Splat.Microsoft.Extensions.DependencyInjection": { "type": "Transitive", - "resolved": "15.4.1", - "contentHash": "9Bi2sQ+ImWjJyWTRlKaJ3tkpYeYwl95k/Pas1H9qUv3od/opsutBldndoWNGaImbdZ6F2sbsQr9ZXMUAzVffQQ==", + "resolved": "17.1.1", + "contentHash": "WQaWNyaoB9HCL2PmpZZPL+3rEkF/MpyUpV8GL6CmPUe88ZC0KSbzebtIKqB403MGbZOSjYe7tNv9E25XXBoRwQ==", "dependencies": { - "Microsoft.Extensions.DependencyInjection": "9.0.6", - "Splat": "15.4.1" + "Microsoft.Extensions.DependencyInjection": "9.0.9", + "Splat.Core": "17.1.1", + "System.Reactive": "6.0.2" } }, "SQLitePCLRaw.bundle_e_sqlite3": { @@ -677,25 +703,20 @@ "SQLitePCLRaw.core": "2.1.10" } }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, "System.Diagnostics.DiagnosticSource": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "Lj8/a1Hzli1z6jo8H9urc16GxkpVJtJM+W9fmivXMNu7nwzHziGkxn4vO0DFscMbudkEVKSezdDuHk5kgM0X/g==" + "resolved": "9.0.10", + "contentHash": "uIpKiKp7EWlYZBK71jYP+maGYjDY9YTi/FxBlZoqDzM1ZHZB7gLqUm4jHvRFwaKfR1/Lrt2rQih9LGPIKyNEow==" }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "gebRF3JLLJ76jz1CQpvwezNapZUjFq20JQsaGHzBH0DzlkHBLpdhwkOei9usiOkIGMwU/L0ALWpNe1JE+5/itw==" + "resolved": "9.0.10", + "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ==" }, "System.IO.Pipelines": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "6vPmJt73mgUo1gzc/OcXlJvClz/2jxZ4TQPRfriVaLoGRH2mye530D9WHJYbFQRNMxF3PWCoeofsFdCyN7fLzA==" + "resolved": "9.0.10", + "contentHash": "lwI0mhHcCxMtNSxB5ate9Gc9petWovRBUprtjz2yiIDDZPGBIaUiqNzQHJzjPuzTnvNbEMilpAXjDguKsU/2Fg==" }, "System.Memory": { "type": "Transitive", @@ -704,21 +725,21 @@ }, "System.Reactive": { "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "rHaWtKDwCi9qJ3ObKo8LHPMuuwv33YbmQi7TcUK1C264V3MFnOr5Im7QgCTdLniztP3GJyeiSg5x8NqYJFqRmg==" + "resolved": "6.1.0", + "contentHash": "M5cCC1ZMkZr9jbSQGTHnVkb5TDN67qWCV7AP8TAHdGkvDlu0puT5NzemESNn9+HkYIDpWpocP68/i+/ame2/2w==" }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "W+LotQsM4wBJ4PG7uRkyul4wqL4Fz7R4ty6uXrCNZUhbaHYANgrPaYR2ZpMVpdCjQEJ17Jr1NMN8hv4SHaHY4A==" + "resolved": "9.0.10", + "contentHash": "znmiJFUa0GGwq7t6ShUKBDRlPsNJaudNFI7rVeyGnRBhiRMegBvu2GRcadThP/QX/a5UpGgZbe6tolDooobj/Q==" }, "System.Text.Json": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "mIQir9jBqk0V7X0Nw5hzPJZC8DuGdf+2DS3jAVsr6rq5+/VyH5rza0XGcONJUWBrZ+G6BCwNyjWYd9lncBu48A==", + "resolved": "9.0.10", + "contentHash": "XM02ZBnzxk7Ti6l9YRy8Bp639wANqJzJzw4W4VYiCh+HXY9hBOWkGB4k89OLP/s/RxgM02P4a/mWcJTgFiLf1Q==", "dependencies": { - "System.IO.Pipelines": "9.0.8", - "System.Text.Encodings.Web": "9.0.8" + "System.IO.Pipelines": "9.0.10", + "System.Text.Encodings.Web": "9.0.10" } }, "System.Threading.Tasks.Extensions": { @@ -729,38 +750,37 @@ "maincore": { "type": "Project", "dependencies": { - "Ardalis.Specification.EntityFrameworkCore": "[9.2.0, )", - "CP.Extensions.Hosting.SingleInstance": "[2.1.13, )", + "Ardalis.Specification.EntityFrameworkCore": "[9.3.1, )", "FluentResults": "[4.0.0, )", - "FluentValidation": "[12.0.0, )", - "FluentValidation.DependencyInjectionExtensions": "[12.0.0, )", - "HtmlAgilityPack": "[1.12.2, )", + "FluentValidation": "[12.1.0, )", + "FluentValidation.DependencyInjectionExtensions": "[12.1.0, )", + "HtmlAgilityPack": "[1.12.4, )", "Humanizer.Core": "[2.14.1, )", - "Immediate.Handlers": "[2.2.0, )", - "Injectio": "[5.0.0, )", - "Microsoft.EntityFrameworkCore.Sqlite": "[9.0.8, )", - "Microsoft.Extensions.Hosting": "[9.0.8, )", - "Polly": "[8.6.2, )", - "ReactiveUI": "[20.4.1, )", - "Riok.Mapperly": "[4.2.1, )", - "Selenium.Support": "[4.35.0, )", - "Selenium.WebDriver": "[4.35.0, )", + "Immediate.Handlers": "[3.1.0, )", + "Injectio": "[5.1.0, )", + "Microsoft.EntityFrameworkCore.Sqlite": "[9.0.10, )", + "Microsoft.Extensions.Hosting": "[9.0.10, )", + "Polly": "[8.6.4, )", + "ReactiveUI": "[22.2.1, )", + "Riok.Mapperly": "[4.3.0, )", + "Selenium.Support": "[4.38.0, )", + "Selenium.WebDriver": "[4.38.0, )", "Serilog": "[4.3.0, )", "Serilog.Expressions": "[5.0.0, )", "Serilog.Extensions.Hosting": "[9.0.0, )", "Serilog.Sinks.File": "[7.0.0, )", "Serilog.Sinks.Map": "[2.0.0, )", - "Splat": "[15.4.1, )", - "Splat.Drawing": "[15.4.1, )", - "Splat.Microsoft.Extensions.DependencyInjection": "[15.4.1, )" + "Splat": "[17.1.1, )", + "Splat.Drawing": "[17.1.1, )", + "Splat.Microsoft.Extensions.DependencyInjection": "[17.1.1, )" } } }, "net8.0-windows10.0.19041/win-x64": { "Selenium.WebDriver": { "type": "Transitive", - "resolved": "4.35.0", - "contentHash": "C9OrObS2KLyUQDJNRY883JAc4n5q58pBYmY954hf+lGMQQcsz4Ias2mk91lHkLXFX+2qMttya4df9lGP1SLiGQ==" + "resolved": "4.38.0", + "contentHash": "3cYBndxLgPifEttQ1+k+KhKp2XBTdME3pUp4PC/eHb/hvHsefeT2WN2JJymzs+5mkqaXUp64FBnj2EG/Iyrh/A==" }, "SQLitePCLRaw.lib.e_sqlite3": { "type": "Transitive", @@ -769,13 +789,13 @@ }, "System.Diagnostics.EventLog": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "gebRF3JLLJ76jz1CQpvwezNapZUjFq20JQsaGHzBH0DzlkHBLpdhwkOei9usiOkIGMwU/L0ALWpNe1JE+5/itw==" + "resolved": "9.0.10", + "contentHash": "Jc+az1pTMujPLDn2j5eqSfzlO7j/T1K/LB7THxdfRWOxujE4zaitUqBs7sv1t6/xmmvpU6Xx3IofCs4owYH0yQ==" }, "System.Text.Encodings.Web": { "type": "Transitive", - "resolved": "9.0.8", - "contentHash": "W+LotQsM4wBJ4PG7uRkyul4wqL4Fz7R4ty6uXrCNZUhbaHYANgrPaYR2ZpMVpdCjQEJ17Jr1NMN8hv4SHaHY4A==" + "resolved": "9.0.10", + "contentHash": "znmiJFUa0GGwq7t6ShUKBDRlPsNJaudNFI7rVeyGnRBhiRMegBvu2GRcadThP/QX/a5UpGgZbe6tolDooobj/Q==" } } }