diff --git a/build/artifacts.props b/build/artifacts.props index 8cec07e61f..a600bd7c46 100644 --- a/build/artifacts.props +++ b/build/artifacts.props @@ -155,7 +155,6 @@ - diff --git a/src/Framework/Microsoft.AspNetCore.App.props b/src/Framework/Microsoft.AspNetCore.App.props index 757df48a15..a5cf6c21c0 100644 --- a/src/Framework/Microsoft.AspNetCore.App.props +++ b/src/Framework/Microsoft.AspNetCore.App.props @@ -76,7 +76,6 @@ - diff --git a/src/Servers/Kestrel.sln b/src/Servers/Kestrel.sln index 557457abd5..bef581ef4e 100644 --- a/src/Servers/Kestrel.sln +++ b/src/Servers/Kestrel.sln @@ -9,8 +9,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Core.Tests", "Kestrel\Core\test\Microsoft.AspNetCore.Server.Kestrel.Core.Tests.csproj", "{AA10418F-3291-4011-8BF5-84F315F472B5}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Https", "Kestrel\Https\src\Microsoft.AspNetCore.Server.Kestrel.Https.csproj", "{1C342888-3514-4ECE-9820-1C7BD59EA29F}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel", "Kestrel\Kestrel\src\Microsoft.AspNetCore.Server.Kestrel.csproj", "{051BE5E3-073C-4CD2-92AB-7742B2931409}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Tests", "Kestrel\Kestrel\test\Microsoft.AspNetCore.Server.Kestrel.Tests.csproj", "{B46DA84E-8442-4988-9B43-6A83812A35B7}" @@ -114,18 +112,6 @@ Global {AA10418F-3291-4011-8BF5-84F315F472B5}.Release|x64.Build.0 = Release|Any CPU {AA10418F-3291-4011-8BF5-84F315F472B5}.Release|x86.ActiveCfg = Release|Any CPU {AA10418F-3291-4011-8BF5-84F315F472B5}.Release|x86.Build.0 = Release|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Debug|x64.ActiveCfg = Debug|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Debug|x64.Build.0 = Debug|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Debug|x86.ActiveCfg = Debug|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Debug|x86.Build.0 = Debug|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Release|Any CPU.Build.0 = Release|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Release|x64.ActiveCfg = Release|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Release|x64.Build.0 = Release|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Release|x86.ActiveCfg = Release|Any CPU - {1C342888-3514-4ECE-9820-1C7BD59EA29F}.Release|x86.Build.0 = Release|Any CPU {051BE5E3-073C-4CD2-92AB-7742B2931409}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {051BE5E3-073C-4CD2-92AB-7742B2931409}.Debug|Any CPU.Build.0 = Debug|Any CPU {051BE5E3-073C-4CD2-92AB-7742B2931409}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -374,7 +360,6 @@ Global {710E0641-FFF4-4994-A7FA-B22A550A8F20} = {E493A405-D2D3-404E-81CA-00E8D9AD5807} {5F6D1661-652E-4DF3-8A81-6EBE4208CE1A} = {E493A405-D2D3-404E-81CA-00E8D9AD5807} {AA10418F-3291-4011-8BF5-84F315F472B5} = {C1703959-147D-45A2-B43A-E2FDD6BE1EDC} - {1C342888-3514-4ECE-9820-1C7BD59EA29F} = {E493A405-D2D3-404E-81CA-00E8D9AD5807} {051BE5E3-073C-4CD2-92AB-7742B2931409} = {E493A405-D2D3-404E-81CA-00E8D9AD5807} {B46DA84E-8442-4988-9B43-6A83812A35B7} = {C1703959-147D-45A2-B43A-E2FDD6BE1EDC} {0730A71E-CC07-4445-AC56-606B59BBF51F} = {40FEAA2F-DDF0-4FA3-942A-0D39B722DDE7} diff --git a/src/Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj b/src/Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj deleted file mode 100644 index 9e6fde40bd..0000000000 --- a/src/Servers/Kestrel/Https/src/Microsoft.AspNetCore.Server.Kestrel.Https.csproj +++ /dev/null @@ -1,16 +0,0 @@ - - - - HTTPS support for the ASP.NET Core Kestrel cross-platform web server. - netstandard2.0;netcoreapp2.1 - true - aspnetcore;kestrel - CS1591;$(NoWarn) - - - - - - - - diff --git a/src/Servers/Kestrel/Https/src/Properties/AssemblyInfo.cs b/src/Servers/Kestrel/Https/src/Properties/AssemblyInfo.cs deleted file mode 100644 index c99dd8d3e3..0000000000 --- a/src/Servers/Kestrel/Https/src/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System.Runtime.CompilerServices; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Server.Kestrel.Https; -using Microsoft.AspNetCore.Server.Kestrel.Https.Internal; - -[assembly: TypeForwardedTo(typeof(ClientCertificateMode))] -[assembly: TypeForwardedTo(typeof(HttpsConnectionAdapter))] -[assembly: TypeForwardedTo(typeof(HttpsConnectionAdapterOptions))] -[assembly: TypeForwardedTo(typeof(ListenOptionsHttpsExtensions))] \ No newline at end of file diff --git a/src/Servers/Kestrel/Https/src/baseline.netcore.json b/src/Servers/Kestrel/Https/src/baseline.netcore.json deleted file mode 100644 index 58a1e2c266..0000000000 --- a/src/Servers/Kestrel/Https/src/baseline.netcore.json +++ /dev/null @@ -1,491 +0,0 @@ -{ - "AssemblyIdentity": "Microsoft.AspNetCore.Server.Kestrel.Https, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60", - "Types": [ - { - "Name": "Microsoft.AspNetCore.Hosting.ListenOptionsHttpsExtensions", - "Visibility": "Public", - "Kind": "Class", - "Abstract": true, - "Static": true, - "Sealed": true, - "ImplementedInterfaces": [], - "Members": [ - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "fileName", - "Type": "System.String" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "fileName", - "Type": "System.String" - }, - { - "Name": "password", - "Type": "System.String" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "fileName", - "Type": "System.String" - }, - { - "Name": "password", - "Type": "System.String" - }, - { - "Name": "configureOptions", - "Type": "System.Action" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "storeName", - "Type": "System.Security.Cryptography.X509Certificates.StoreName" - }, - { - "Name": "subject", - "Type": "System.String" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "storeName", - "Type": "System.Security.Cryptography.X509Certificates.StoreName" - }, - { - "Name": "subject", - "Type": "System.String" - }, - { - "Name": "allowInvalid", - "Type": "System.Boolean" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "storeName", - "Type": "System.Security.Cryptography.X509Certificates.StoreName" - }, - { - "Name": "subject", - "Type": "System.String" - }, - { - "Name": "allowInvalid", - "Type": "System.Boolean" - }, - { - "Name": "location", - "Type": "System.Security.Cryptography.X509Certificates.StoreLocation" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "storeName", - "Type": "System.Security.Cryptography.X509Certificates.StoreName" - }, - { - "Name": "subject", - "Type": "System.String" - }, - { - "Name": "allowInvalid", - "Type": "System.Boolean" - }, - { - "Name": "location", - "Type": "System.Security.Cryptography.X509Certificates.StoreLocation" - }, - { - "Name": "configureOptions", - "Type": "System.Action" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "serverCertificate", - "Type": "System.Security.Cryptography.X509Certificates.X509Certificate2" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "serverCertificate", - "Type": "System.Security.Cryptography.X509Certificates.X509Certificate2" - }, - { - "Name": "configureOptions", - "Type": "System.Action" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "configureOptions", - "Type": "System.Action" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "UseHttps", - "Parameters": [ - { - "Name": "listenOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions" - }, - { - "Name": "httpsOptions", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Https.HttpsConnectionAdapterOptions" - } - ], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Core.ListenOptions", - "Static": true, - "Extension": true, - "Visibility": "Public", - "GenericParameter": [] - } - ], - "GenericParameters": [] - }, - { - "Name": "Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode", - "Visibility": "Public", - "Kind": "Enumeration", - "Sealed": true, - "ImplementedInterfaces": [], - "Members": [ - { - "Kind": "Field", - "Name": "NoCertificate", - "Parameters": [], - "GenericParameter": [], - "Literal": "0" - }, - { - "Kind": "Field", - "Name": "AllowCertificate", - "Parameters": [], - "GenericParameter": [], - "Literal": "1" - }, - { - "Kind": "Field", - "Name": "RequireCertificate", - "Parameters": [], - "GenericParameter": [], - "Literal": "2" - } - ], - "GenericParameters": [] - }, - { - "Name": "Microsoft.AspNetCore.Server.Kestrel.Https.HttpsConnectionAdapterOptions", - "Visibility": "Public", - "Kind": "Class", - "ImplementedInterfaces": [], - "Members": [ - { - "Kind": "Method", - "Name": "get_ServerCertificate", - "Parameters": [], - "ReturnType": "System.Security.Cryptography.X509Certificates.X509Certificate2", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_ServerCertificate", - "Parameters": [ - { - "Name": "value", - "Type": "System.Security.Cryptography.X509Certificates.X509Certificate2" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "get_ServerCertificateSelector", - "Parameters": [], - "ReturnType": "System.Func", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_ServerCertificateSelector", - "Parameters": [ - { - "Name": "value", - "Type": "System.Func" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "get_ClientCertificateMode", - "Parameters": [], - "ReturnType": "Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_ClientCertificateMode", - "Parameters": [ - { - "Name": "value", - "Type": "Microsoft.AspNetCore.Server.Kestrel.Https.ClientCertificateMode" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "get_ClientCertificateValidation", - "Parameters": [], - "ReturnType": "System.Func", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_ClientCertificateValidation", - "Parameters": [ - { - "Name": "value", - "Type": "System.Func" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "get_SslProtocols", - "Parameters": [], - "ReturnType": "System.Security.Authentication.SslProtocols", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_SslProtocols", - "Parameters": [ - { - "Name": "value", - "Type": "System.Security.Authentication.SslProtocols" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "get_CheckCertificateRevocation", - "Parameters": [], - "ReturnType": "System.Boolean", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_CheckCertificateRevocation", - "Parameters": [ - { - "Name": "value", - "Type": "System.Boolean" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "get_HandshakeTimeout", - "Parameters": [], - "ReturnType": "System.TimeSpan", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Method", - "Name": "set_HandshakeTimeout", - "Parameters": [ - { - "Name": "value", - "Type": "System.TimeSpan" - } - ], - "ReturnType": "System.Void", - "Visibility": "Public", - "GenericParameter": [] - }, - { - "Kind": "Constructor", - "Name": ".ctor", - "Parameters": [], - "Visibility": "Public", - "GenericParameter": [] - } - ], - "GenericParameters": [] - } - ] -} \ No newline at end of file diff --git a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj index 6b8de4426f..60e282fe82 100644 --- a/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj +++ b/src/Servers/Kestrel/Kestrel/src/Microsoft.AspNetCore.Server.Kestrel.csproj @@ -1,4 +1,4 @@ - + ASP.NET Core Kestrel cross-platform web server. @@ -11,7 +11,6 @@ - diff --git a/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj b/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj index 4a07d33ba4..8b6637c1d6 100644 --- a/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj +++ b/src/Servers/Kestrel/perf/Kestrel.Performance/Microsoft.AspNetCore.Server.Kestrel.Performance.csproj @@ -18,7 +18,6 @@ - diff --git a/src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj b/src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj index edc5bead87..9e8a0e6269 100644 --- a/src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj +++ b/src/Servers/Kestrel/samples/SampleApp/SampleApp.csproj @@ -1,4 +1,4 @@ - + netcoreapp2.2;net461 @@ -7,7 +7,6 @@ - diff --git a/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj b/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj index 3d85aad7f8..3fceab51b5 100644 --- a/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj +++ b/src/Servers/Kestrel/test/InMemory.FunctionalTests/InMemory.FunctionalTests.csproj @@ -14,7 +14,6 @@ - diff --git a/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj b/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj index 9f4ecb8b89..acfdb652fe 100644 --- a/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj +++ b/src/Servers/Kestrel/test/Interop.FunctionalTests/Interop.FunctionalTests.csproj @@ -16,7 +16,6 @@ - diff --git a/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj b/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj index 0f779c713e..492ee2f12a 100644 --- a/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj +++ b/src/Servers/Kestrel/test/Libuv.BindTests/Libuv.BindTests.csproj @@ -18,7 +18,6 @@ - diff --git a/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj b/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj index 8a2901d587..70253c4aba 100644 --- a/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj +++ b/src/Servers/Kestrel/test/Libuv.FunctionalTests/Libuv.FunctionalTests.csproj @@ -18,7 +18,6 @@ - diff --git a/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj b/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj index 067f8feded..cabf3e90b0 100644 --- a/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj +++ b/src/Servers/Kestrel/test/Sockets.BindTests/Sockets.BindTests.csproj @@ -18,7 +18,6 @@ - diff --git a/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj b/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj index f34e2c6e6e..b297d34d66 100644 --- a/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj +++ b/src/Servers/Kestrel/test/Sockets.FunctionalTests/Sockets.FunctionalTests.csproj @@ -17,7 +17,6 @@ -