Skip to content

Smdn.Fundamental.MimeType version 4.0.1

Compare
Choose a tag to compare
@smdn smdn released this 30 Dec 14:03
· 82 commits to main since this release
236936d

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

API changes

API changes in this release:
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
index 48332222..19df3652 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net471.apilist.cs
@@ -1,119 +1,119 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETFramework,Version=v4.7.1
 //   Configuration: Release
 //   Referenced assemblies:
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     IFormattable
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, out MimeType? result) {}
     public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs
index 0a258ff1..091c2b81 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net6.0.apilist.cs
@@ -1,121 +1,121 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETCoreApp,Version=v6.0
 //   Configuration: Release
 //   Referenced assemblies:
 //     Microsoft.Win32.Registry, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.InteropServices.RuntimeInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     ISpanFormattable
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, [NotNullWhen(true)] out MimeType result) {}
     public static bool TryParse(string? s, [NotNullWhen(true)] out MimeType? result) {}
-    public static explicit operator string?(MimeType? mimeType) {}
+    [return: NotNullIfNotNull("mimeType")] public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net8.0.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net8.0.apilist.cs
index fcf5e7b5..eb99b15f 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net8.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-net8.0.apilist.cs
@@ -1,126 +1,126 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETCoreApp,Version=v8.0
 //   Configuration: Release
 //   Referenced assemblies:
 //     Microsoft.Win32.Registry, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Memory, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     ISpanFormattable,
     ISpanParsable<MimeType>,
     IUtf8SpanFormattable,
     IUtf8SpanParsable<MimeType>
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider = null) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, [NotNullWhen(true)] out MimeType? result) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, [NotNullWhen(true)] out MimeType result) {}
     public static bool TryParse(string? s, [NotNullWhen(true)] out MimeType? result) {}
-    public static explicit operator string?(MimeType? mimeType) {}
+    [return: NotNullIfNotNull("mimeType")] public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<byte> utf8Destination, out int bytesWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.3.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.3.apilist.cs
index 67b027df..ade97e23 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.3.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.3.apilist.cs
@@ -1,127 +1,127 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETStandard,Version=v1.3
 //   Configuration: Release
 //   Referenced assemblies:
 //     Microsoft.Win32.Registry, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Diagnostics.Debug, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.Extensions, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.InteropServices, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Text.Encoding, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     IFormattable
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, out MimeType? result) {}
     public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs
index 8d2fca0c..df45ba55 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard1.6.apilist.cs
@@ -1,127 +1,127 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETStandard,Version=v1.6
 //   Configuration: Release
 //   Referenced assemblies:
 //     Microsoft.Win32.Registry, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Diagnostics.Debug, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.IO.FileSystem, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.Extensions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.InteropServices, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Text.Encoding, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     IFormattable
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, out MimeType? result) {}
     public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs
index dfcd7528..30a2d0f9 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.0.apilist.cs
@@ -1,120 +1,120 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETStandard,Version=v2.0
 //   Configuration: Release
 //   Referenced assemblies:
 //     Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     System.Buffers, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     IFormattable
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, out MimeType? result) {}
     public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)
diff --git a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs
index 4c8e9769..94322158 100644
--- a/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs
+++ b/doc/api-list/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType-netstandard2.1.apilist.cs
@@ -1,119 +1,119 @@
-// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.0)
+// Smdn.Fundamental.MimeType.dll (Smdn.Fundamental.MimeType-4.0.1)
 //   Name: Smdn.Fundamental.MimeType
-//   AssemblyVersion: 4.0.0.0
-//   InformationalVersion: 4.0.0+60fc1fe7b4b6300b74b353f8d665525b503427ed
+//   AssemblyVersion: 4.0.1.0
+//   InformationalVersion: 4.0.1+3675184afb36291ccc35de4ad300197aca5f85db
 //   TargetFramework: .NETStandard,Version=v2.1
 //   Configuration: Release
 //   Referenced assemblies:
 //     Microsoft.Win32.Registry, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.Exception, Version=3.0.3.0, Culture=neutral
 //     netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 #nullable enable annotations
 
 using System;
 using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using Smdn;
 
 namespace Smdn {
   [TypeForwardedFrom("Smdn, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null")]
   public sealed class MimeType :
     IEquatable<MimeType>,
     IEquatable<string>,
     IFormattable
   {
     public static readonly MimeType ApplicationOctetStream; // = "application/octet-stream"
     public static readonly MimeType ApplicationXWwwFormUrlEncoded; // = "application/x-www-form-urlencoded"
     public static readonly MimeType MessageExternalBody; // = "message/external-body"
     public static readonly MimeType MessagePartial; // = "message/partial"
     public static readonly MimeType MessageRfc822; // = "message/rfc822"
     public static readonly MimeType MultipartAlternative; // = "multipart/alternative"
     public static readonly MimeType MultipartDigest; // = "multipart/digest"
     public static readonly MimeType MultipartFormData; // = "multipart/form-data"
     public static readonly MimeType MultipartMixed; // = "multipart/mixed"
     public static readonly MimeType MultipartParallel; // = "multipart/parallel"
     public static readonly MimeType TextHtml; // = "text/html"
     public static readonly MimeType TextPlain; // = "text/plain"
     public static readonly MimeType TextRtf; // = "text/rtf"
 
     public static MimeType CreateApplicationType(string subType) {}
     public static MimeType CreateAudioType(string subType) {}
     public static MimeType CreateFontType(string subType) {}
     public static MimeType CreateImageType(string subType) {}
     public static MimeType CreateModelType(string subType) {}
     public static MimeType CreateMultipartType(string subType) {}
     public static MimeType CreateTextType(string subType) {}
     public static MimeType CreateVideoType(string subType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(MimeType mimeType, string mimeTypesFile) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType) {}
     public static IEnumerable<string> FindExtensionsByMimeType(string mimeType, string mimeTypesFile) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath) {}
     public static MimeType? FindMimeTypeByExtension(string extensionOrPath, string mimeTypesFile) {}
     public static MimeType Parse(ReadOnlySpan<char> s, IFormatProvider? provider = null) {}
     public static MimeType Parse(string s, IFormatProvider? provider = null) {}
     public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out MimeType result) {}
     public static bool TryParse(string? s, IFormatProvider? provider, [NotNullWhen(true)] out MimeType result) {}
     public static bool TryParse(string? s, [NotNullWhen(true)] out MimeType? result) {}
-    public static explicit operator string?(MimeType? mimeType) {}
+    [return: NotNullIfNotNull("mimeType")] public static explicit operator string?(MimeType? mimeType) {}
 
     public MimeType((string Type, string SubType) mimeType) {}
     public MimeType(ReadOnlySpan<char> type, ReadOnlySpan<char> subType) {}
     public MimeType(string mimeType) {}
     public MimeType(string type, string subType) {}
 
     public bool IsApplication { get; }
     public bool IsApplicationOctetStream { get; }
     public bool IsApplicationXWwwFormUrlEncoded { get; }
     public bool IsAudio { get; }
     public bool IsFont { get; }
     public bool IsImage { get; }
     public bool IsMessage { get; }
     public bool IsMessageExternalBody { get; }
     public bool IsMessagePartial { get; }
     public bool IsMessageRfc822 { get; }
     public bool IsModel { get; }
     public bool IsMultipart { get; }
     public bool IsMultipartAlternative { get; }
     public bool IsMultipartDigest { get; }
     public bool IsMultipartFormData { get; }
     public bool IsMultipartMixed { get; }
     public bool IsMultipartParallel { get; }
     public bool IsText { get; }
     public bool IsTextHtml { get; }
     public bool IsTextPlain { get; }
     public bool IsVideo { get; }
     public ReadOnlyMemory<char> SubTypeMemory { get; }
     public ReadOnlySpan<char> SubTypeSpan { get; }
     public ReadOnlyMemory<char> TypeMemory { get; }
     public ReadOnlySpan<char> TypeSpan { get; }
 
     public void Deconstruct(out string type, out string subType) {}
     public bool Equals(MimeType? other) {}
     public bool Equals(MimeType? other, StringComparison comparisonType) {}
     public bool Equals(ReadOnlySpan<char> other, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool Equals(string? other) {}
     public bool Equals(string? other, StringComparison comparisonType) {}
     public override bool Equals(object? obj) {}
     public int GetHashCode(StringComparison comparisonType) {}
     public override int GetHashCode() {}
     public bool SubTypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(ReadOnlySpan<char> subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool SubTypeEquals(string? subType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public override string ToString() {}
     public string ToString(string? format, IFormatProvider? formatProvider) {}
     public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider) {}
     public bool TypeEquals(MimeType? mimeType, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(ReadOnlySpan<char> type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
     public bool TypeEquals(string? type, StringComparison comparisonType = StringComparison.OrdinalIgnoreCase) {}
   }
 }
 
 namespace Smdn.Formats.Mime {
   public static class MimeTypeStringExtensions {
     public static (string Type, string SubType) Split(string? mimeType) {}
     public static bool TrySplit(string? mimeType, out (string Type, string SubType) result) {}
   }
 }
 // API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.3.2.0.
 // Smdn.Reflection.ReverseGenerating.ListApi.Core v1.2.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)

Full changes

Full changes in this release:
diff --git a/src/Smdn.Fundamental.MimeType/CompatibilitySuppressions.xml b/src/Smdn.Fundamental.MimeType/CompatibilitySuppressions.xml
deleted file mode 100644
index 8ed10492..00000000
--- a/src/Smdn.Fundamental.MimeType/CompatibilitySuppressions.xml
+++ /dev/null
@@ -1,792 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- https://learn.microsoft.com/en-us/dotnet/fundamentals/package-validation/diagnostic-ids -->
-<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.#ctor(System.ValueTuple{System.String,System.String})</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.EqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_SubType</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.get_Type</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.Parse(System.String)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEquals(System.String)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.SubTypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TryParse(System.String,System.ValueTuple{System.String,System.String}@)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEquals(System.String)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(Smdn.MimeType)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0002</DiagnosticId>
-    <Target>M:Smdn.MimeType.TypeEqualsIgnoreCase(System.String)</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/net471/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net471/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/net6.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net6.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/net8.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/net8.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.3/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard1.6/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.0/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>CP0009</DiagnosticId>
-    <Target>T:Smdn.MimeType</Target>
-    <Left>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Left>
-    <Right>lib/netstandard2.1/Smdn.Fundamental.MimeType.dll</Right>
-    <IsBaselineSuppression>true</IsBaselineSuppression>
-  </Suppression>
-  <Suppression>
-    <DiagnosticId>PKV006</DiagnosticId>
-    <Target>.NETFramework,Version=v4.5</Target>
-  </Suppression>
-</Suppressions>
\ No newline at end of file
diff --git a/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj b/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj
index 763458bb..0f166c65 100644
--- a/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj
+++ b/src/Smdn.Fundamental.MimeType/Smdn.Fundamental.MimeType.csproj
@@ -6,9 +6,9 @@ SPDX-License-Identifier: MIT
   <PropertyGroup>
     <Nullable>enable</Nullable>
     <TargetFrameworks>net8.0;net6.0;net471;netstandard2.1;netstandard2.0;netstandard1.6;netstandard1.3</TargetFrameworks>
-    <VersionPrefix>4.0.0</VersionPrefix>
+    <VersionPrefix>4.0.1</VersionPrefix>
     <VersionSuffix></VersionSuffix>
-    <PackageValidationBaselineVersion>3.2.0</PackageValidationBaselineVersion>
+    <PackageValidationBaselineVersion>4.0.0</PackageValidationBaselineVersion>
     <RootNamespace/> <!-- empty the root namespace so that the namespace is determined only by the directory name, for code style rule IDE0030 -->
     <NoWarn>CS1591;$(NoWarn)</NoWarn> <!-- CS1591: Missing XML comment for publicly visible type or member 'Type_or_Member' -->
   </PropertyGroup>
diff --git a/src/Smdn.Fundamental.MimeType/Smdn/MimeType.cs b/src/Smdn.Fundamental.MimeType/Smdn/MimeType.cs
index ff6e8bbf..9a0b6f8d 100644
--- a/src/Smdn.Fundamental.MimeType/Smdn/MimeType.cs
+++ b/src/Smdn.Fundamental.MimeType/Smdn/MimeType.cs
@@ -1,6 +1,9 @@
 // SPDX-FileCopyrightText: 2008 smdn <smdn@smdn.jp>
 // SPDX-License-Identifier: MIT
 using System;
+#if NULL_STATE_STATIC_ANALYSIS_ATTRIBUTES
+using System.Diagnostics.CodeAnalysis;
+#endif
 
 using Smdn.Formats.Mime;
 
@@ -161,6 +164,9 @@ public sealed partial class MimeType {
     };
 #endif
 
+#if NULL_STATE_STATIC_ANALYSIS_ATTRIBUTES
+  [return: NotNullIfNotNull(nameof(mimeType))]
+#endif
   public static explicit operator string?(MimeType? mimeType)
     => mimeType?.ToString();
 

Notes

Full Changelog: releases/Smdn.Fundamental.MimeType-4.0.0...releases/Smdn.Fundamental.MimeType-4.0.1