commit 249618d22626c437acb314d99fedf2310aaef3de
Author: @agz <79991346768@ya.ru>
Date: Thu Dec 25 13:47:13 2025 +0500
init commit
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e951211
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+.idea
+bin
+obj
\ No newline at end of file
diff --git a/App.config b/App.config
new file mode 100644
index 0000000..7b0d21e
--- /dev/null
+++ b/App.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/App.xaml b/App.xaml
new file mode 100644
index 0000000..94ad169
--- /dev/null
+++ b/App.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/App.xaml.cs b/App.xaml.cs
new file mode 100644
index 0000000..1296623
--- /dev/null
+++ b/App.xaml.cs
@@ -0,0 +1,9 @@
+namespace GetHrzWPF
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App
+ {
+ }
+}
\ No newline at end of file
diff --git a/GetHrzWPF.csproj b/GetHrzWPF.csproj
new file mode 100644
index 0000000..5ea332a
--- /dev/null
+++ b/GetHrzWPF.csproj
@@ -0,0 +1,130 @@
+
+
+
+
+ Debug
+ x86
+ {C0B83F92-E834-46CB-A6A8-E8B0A7B57869}
+ WinExe
+ GetHrzWPF
+ GetHrzWPF
+ v4.8
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+ true
+ latest
+
+
+ x86
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+ packages\Serilog.4.2.0\lib\net471\Serilog.dll
+
+
+
+ packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
+
+
+
+ packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll
+
+
+ packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
+
+
+ packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
+
+ packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ packages\System.Threading.Channels.8.0.0\lib\net462\System.Threading.Channels.dll
+
+
+ packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+
+ 4.0
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ SelectUsbWindow.xaml
+
+
+ MSBuild:Compile
+ Designer
+
+
+ App.xaml
+ Code
+
+
+ MainWindow.xaml
+ Code
+
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
+
+
+
+
+
+ lib\GetHrzLib.dll
+ true
+
+
+
+
+ lib\Elicom.Satndard.dll
+ true
+
+
+
\ No newline at end of file
diff --git a/GetHrzWPF.sln b/GetHrzWPF.sln
new file mode 100644
index 0000000..4f1fe35
--- /dev/null
+++ b/GetHrzWPF.sln
@@ -0,0 +1,16 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GetHrzWPF", "GetHrzWPF.csproj", "{C0B83F92-E834-46CB-A6A8-E8B0A7B57869}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C0B83F92-E834-46CB-A6A8-E8B0A7B57869}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {C0B83F92-E834-46CB-A6A8-E8B0A7B57869}.Debug|Any CPU.Build.0 = Debug|x86
+ {C0B83F92-E834-46CB-A6A8-E8B0A7B57869}.Release|Any CPU.ActiveCfg = Release|x86
+ {C0B83F92-E834-46CB-A6A8-E8B0A7B57869}.Release|Any CPU.Build.0 = Release|x86
+ EndGlobalSection
+EndGlobal
diff --git a/MainWindow.xaml b/MainWindow.xaml
new file mode 100644
index 0000000..7b43de0
--- /dev/null
+++ b/MainWindow.xaml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs
new file mode 100644
index 0000000..60e6442
--- /dev/null
+++ b/MainWindow.xaml.cs
@@ -0,0 +1,179 @@
+using Microsoft.Win32;
+using System;
+using System.IO;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using GetHrzLib.Models;
+namespace GetHrzWPF
+{
+ public partial class MainWindow : Window
+ {
+ private string _currentFilePath;
+
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+
+ private void OnOpenClickimg(object sender, RoutedEventArgs e)
+ {
+ var dlg = new OpenFileDialog
+ {
+ Title = "Выбери файл .img",
+ Filter = "IMG files (*.img)|*.img|All files (*.*)|*.*",
+ Multiselect = false,
+ CheckFileExists = true
+ };
+
+ if (dlg.ShowDialog(this) == true)
+ {
+ // InfoLabel.Content = dlg.FileName;
+ // LogBox.AppendText($"Открыт образ: {dlg.FileName}{Environment.NewLine}");
+ // LogBox.ScrollToEnd();
+ }
+ string filePath = dlg.FileName;
+
+ try
+ {
+ using var writer = new StringWriter();
+ BlockProcessor.Process(writer, filePath);
+
+ _currentFilePath = filePath;
+
+ InfoLabel.Content = filePath;
+ LogBox.Text = writer.ToString();
+ LogBox.ScrollToEnd();
+ }
+ catch (Exception ex)
+ {
+ LogBox.Text = $"Ошибка: {ex.Message}";
+ }
+ }
+
+ private async void OnOpenClickdisk(object sender, RoutedEventArgs e)
+ {
+ // 1) Берём список USB через вашу библиотеку
+ var usbDrives = UsbDriveService.GetUsbDrivesSafe();
+ if (usbDrives.Count == 0)
+ {
+ MessageBox.Show(this, "Съёмные USB-диски не найдены.", "USB",
+ MessageBoxButton.OK, MessageBoxImage.Information);
+ return;
+ }
+
+ // 2) Окно выбора диска (как вы уже делали)
+ var dlg = new SelectUsbWindow(usbDrives) { Owner = this };
+ if (dlg.ShowDialog() != true || dlg.SelectedDrive == null)
+ return;
+
+ // 3) Конвертируем "E:\" -> "\\.\E:" (RAW путь)
+ string devicePath = dlg.SelectedDrive.ToFullPath();
+
+ try
+ {
+ ProgressBar.Visibility = Visibility.Visible;
+
+ string result = await Task.Run(() =>
+ {
+ using (var writer = new StringWriter())
+ {
+ BlockProcessor.Process(writer, devicePath);
+ return writer.ToString();
+ }
+ });
+
+ _currentFilePath = devicePath;
+ InfoLabel.Content = "USB (raw): " + devicePath;
+ LogBox.Text = result;
+ LogBox.ScrollToEnd();
+ }
+ catch (UnauthorizedAccessException)
+ {
+ LogBox.Text =
+ "Ошибка: отказано в доступе к USB как RAW-устройству.\r\n" +
+ "Запустите приложение от имени администратора.\r\n" +
+ $"Путь: {devicePath}";
+ }
+ catch (Exception ex)
+ {
+ LogBox.Text = $"Ошибка: {ex.Message}";
+ }
+ finally
+ {
+ ProgressBar.Visibility = Visibility.Collapsed;
+ }
+
+ }
+
+ private async void GetHrzButton_Click(object sender, RoutedEventArgs e)
+ {
+ if (string.IsNullOrWhiteSpace(_currentFilePath))
+ {
+ MessageBox.Show(this, "Сначала выберите файл/диск для обработки.", "GetHrz",
+ MessageBoxButton.OK, MessageBoxImage.Information);
+ return;
+ }
+
+ // Диалог сохранения
+ var sfd = new SaveFileDialog
+ {
+ Title = "Сохранить результат",
+ FileName = "Restore_hrz.hrz",
+ Filter = "HRZ files (*.hrz)|*.hrz|All files (*.*)|*.*",
+ AddExtension = true,
+ DefaultExt = ".hrz",
+ OverwritePrompt = true
+ };
+
+ if (sfd.ShowDialog(this) != true)
+ {
+ MessageBox.Show(this, "Сохранение отменено.", "GetHrz",
+ MessageBoxButton.OK, MessageBoxImage.Information);
+ return;
+ }
+
+ string savePath = sfd.FileName;
+
+ ProgressBar.Visibility = Visibility.Visible;
+ try
+ {
+ // Лог будем собирать в фоне
+ var sb = new StringBuilder();
+
+ await Task.Run(() =>
+ {
+ using (var writer = new StringWriter(sb))
+ {
+ BlockProcessor.ProcessGetHrz(writer, _currentFilePath, savePath);
+ }
+ });
+
+ // Мы уже вернулись в UI поток после await
+ LogBox.AppendText(sb.ToString());
+ LogBox.AppendText(Environment.NewLine);
+ LogBox.ScrollToEnd();
+ }
+ catch (UnauthorizedAccessException ex)
+ {
+ MessageBox.Show(this,
+ "Ошибка доступа.\n" + ex.Message,
+ "GetHrz",
+ MessageBoxButton.OK,
+ MessageBoxImage.Error);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(this,
+ "Ошибка при повторном чтении:\n" + ex.Message,
+ "GetHrz",
+ MessageBoxButton.OK,
+ MessageBoxImage.Error);
+ }
+ finally
+ {
+ ProgressBar.Visibility = Visibility.Collapsed;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..fb6a9d3
--- /dev/null
+++ b/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("GetHrzWPF")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("GetHrzWPF")]
+[assembly: AssemblyCopyright("Copyright © 2025")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..bd4e33b
--- /dev/null
+++ b/Properties/Resources.Designer.cs
@@ -0,0 +1,69 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace GetHrzWPF.Properties
+{
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder",
+ "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance",
+ "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState
+ .Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp =
+ new global::System.Resources.ResourceManager("GetHrzWPF.Properties.Resources",
+ typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState
+ .Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get { return resourceCulture; }
+ set { resourceCulture = value; }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Properties/Resources.resx b/Properties/Resources.resx
new file mode 100644
index 0000000..13b775f
--- /dev/null
+++ b/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SelectUsbWindow.xaml b/SelectUsbWindow.xaml
new file mode 100644
index 0000000..48bce08
--- /dev/null
+++ b/SelectUsbWindow.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SelectUsbWindow.xaml.cs b/SelectUsbWindow.xaml.cs
new file mode 100644
index 0000000..be2b4e1
--- /dev/null
+++ b/SelectUsbWindow.xaml.cs
@@ -0,0 +1,35 @@
+using System.Collections.Generic;
+using System.IO;
+using System.Windows;
+
+namespace GetHrzWPF
+{
+ public partial class SelectUsbWindow : Window
+ {
+ public DriveInfo SelectedDrive { get; private set; }
+
+
+ public SelectUsbWindow()
+ {
+ InitializeComponent();
+ }
+
+ public SelectUsbWindow(List usbDrives) : this()
+ {
+ DriveCombo.ItemsSource = usbDrives;
+
+ // Чтобы ComboBox показывал "E:\ (Label)" — проще всего положить строки,
+ // но можно и DriveInfo + DisplayMemberPath.
+ // Оставим DriveInfo, а отображение зададим через ToString().
+ if (usbDrives.Count > 0)
+ DriveCombo.SelectedIndex = 0;
+ }
+
+ private void OnConfirmClick(object sender, RoutedEventArgs e)
+ {
+ SelectedDrive = DriveCombo.SelectedItem as DriveInfo;
+ DialogResult = SelectedDrive != null;
+ Close();
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/Elicom.Standard.dll b/lib/Elicom.Standard.dll
new file mode 100644
index 0000000..2da8343
Binary files /dev/null and b/lib/Elicom.Standard.dll differ
diff --git a/lib/GetHrzLib.dll b/lib/GetHrzLib.dll
new file mode 100644
index 0000000..139c793
Binary files /dev/null and b/lib/GetHrzLib.dll differ
diff --git a/packages.config b/packages.config
new file mode 100644
index 0000000..7cd159e
--- /dev/null
+++ b/packages.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/Serilog.4.2.0/.signature.p7s b/packages/Serilog.4.2.0/.signature.p7s
new file mode 100644
index 0000000..4f1a81a
Binary files /dev/null and b/packages/Serilog.4.2.0/.signature.p7s differ
diff --git a/packages/Serilog.4.2.0/README.md b/packages/Serilog.4.2.0/README.md
new file mode 100644
index 0000000..c7bf149
--- /dev/null
+++ b/packages/Serilog.4.2.0/README.md
@@ -0,0 +1,119 @@
+# Serilog [](https://github.com/serilog/serilog/actions) [](https://www.nuget.org/packages/Serilog/) [](https://www.nuget.org/packages/Serilog/) [](http://stackoverflow.com/questions/tagged/serilog)
+
+Serilog is a diagnostic logging library for .NET applications. It is easy to set up, has a clean API, and runs on all recent .NET platforms. While it's useful even in the simplest applications, Serilog's support for structured logging shines when instrumenting complex, distributed, and asynchronous applications and systems.
+
+[](https://serilog.net)
+
+Like many other libraries for .NET, Serilog provides diagnostic logging to [files](https://github.com/serilog/serilog-sinks-file), the [console](https://github.com/serilog/serilog-sinks-console), and [many other outputs](https://github.com/serilog/serilog/wiki/Provided-Sinks).
+
+```csharp
+using var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .WriteTo.File("log.txt")
+ .CreateLogger();
+
+log.Information("Hello, Serilog!");
+```
+
+Unlike other logging libraries, Serilog is built from the ground up to record _structured event data_.
+
+```csharp
+var position = new { Latitude = 25, Longitude = 134 };
+var elapsedMs = 34;
+
+log.Information("Processed {@Position} in {Elapsed} ms", position, elapsedMs);
+```
+
+Serilog uses [message templates](https://messagetemplates.org), a simple DSL that extends .NET format strings with _named_ as well as positional parameters. Instead of formatting events immediately into text, Serilog captures the values associated with each named parameter.
+
+The example above records two properties, `Position` and `Elapsed`, in the log event. The `@` operator in front of `Position` tells Serilog to _serialize_ the object passed in, rather than convert it using `ToString()`. Serilog's deep and rich support for structured event data opens up a huge range of diagnostic possibilities not available when using traditional loggers.
+
+Rendered into [JSON format](https://github.com/serilog/serilog-formatting-compact) for example, these properties appear alongside the timestamp, level, and message like:
+
+```json
+{"Position": {"Latitude": 25, "Longitude": 134}, "Elapsed": 34}
+```
+
+Back-ends that are capable of recording structured event data make log searches and analysis possible without log parsing or regular expressions.
+
+Supporting structured data doesn't mean giving up text: when Serilog writes events to files or the console, the template and properties are rendered into friendly human-readable text just like a traditional logging library would produce:
+
+```
+09:14:22 [INF] Processed {"Latitude": 25, "Longitude": 134} in 34 ms.
+```
+
+> **Upgrading from an earlier Serilog version?** Find [release notes here](https://github.com/serilog/serilog/releases).
+
+### Features
+
+ * **Community-backed and actively developed**
+ * Format-based logging API with familiar [levels](https://github.com/serilog/serilog/wiki/Configuration-Basics#minimum-level) like `Debug`, `Information`, `Warning`, `Error`, and so-on
+ * Discoverable C# configuration syntax and optional [XML](https://github.com/serilog/serilog-settings-appsettings) or [JSON](https://github.com/serilog/serilog-settings-configuration) configuration support
+ * Efficient when enabled, extremely low overhead when a logging level is switched off
+ * Best-in-class .NET Core support, including [rich integration with ASP.NET Core](https://github.com/serilog/serilog-aspnetcore)
+ * Support for a [comprehensive range of sinks](https://github.com/serilog/serilog/wiki/Provided-Sinks), including files, the console, on-premises and cloud-based log servers, databases, and message queues
+ * Sophisticated [enrichment](https://github.com/serilog/serilog/wiki/Enrichment) of log events with contextual information, including scoped (`LogContext`) properties, thread and process identifiers, and domain-specific correlation ids such as `HttpRequestId`
+ * Zero-shared-state `Logger` objects, with an optional global static `Log` class
+ * Format-agnostic logging pipeline that can emit events in plain text, JSON, in-memory `LogEvent` objects (including [Rx pipelines](https://github.com/serilog/serilog-sinks-observable)) and other formats
+
+### Getting started
+
+Serilog is installed [from NuGet](https://nuget.org/packages/serilog). To view log events, one or more sinks need to be installed as well, here we'll use the pretty-printing console sink, and a rolling file set:
+
+```
+dotnet add package Serilog
+dotnet add package Serilog.Sinks.Console
+dotnet add package Serilog.Sinks.File
+```
+
+The simplest way to set up Serilog is using the static `Log` class. A `LoggerConfiguration` is used to create and assign the default logger, normally in _Program.cs_:
+
+```csharp
+using Serilog;
+
+Log.Logger = new LoggerConfiguration()
+ .WriteTo.Console()
+ .WriteTo.File("log.txt",
+ rollingInterval: RollingInterval.Day,
+ rollOnFileSizeLimit: true)
+ .CreateLogger();
+
+try
+{
+ // Your program here...
+ const string name = "Serilog";
+ Log.Information("Hello, {Name}!", name);
+ throw new InvalidOperationException("Oops...");
+}
+catch (Exception ex)
+{
+ Log.Error(ex, "Unhandled exception");
+}
+finally
+{
+ await Log.CloseAndFlushAsync(); // ensure all logs written before app exits
+}
+```
+
+Find more, including a runnable example application, under the [Getting Started topic](https://github.com/serilog/serilog/wiki/Getting-Started) in the [documentation](https://github.com/serilog/serilog/wiki/).
+
+### Getting help
+
+To learn more about Serilog, check out the [documentation](https://github.com/serilog/serilog/wiki) - you'll find information there on the most common scenarios. If Serilog isn't working the way you expect, you may find the [troubleshooting guide](https://github.com/serilog/serilog/wiki/Debugging-and-Diagnostics) useful.
+
+Serilog has an active and helpful community who are happy to help point you in the right direction or work through any issues you might encounter. You can get in touch via:
+
+ * [Stack Overflow](http://stackoverflow.com/questions/tagged/serilog) — this is the best place to start if you have a question. Many track the `serilog` tag there.
+ * The [#serilog tag on Twitter](https://twitter.com/search?q=%23serilog)
+ * [Serilog-related courses on Pluralsight](https://www.pluralsight.com/search/?q=serilog)
+
+We welcome reproducible bug reports and detailed feature requests through [our GitHub issue tracker](https://github.com/serilog/serilog/issues);
+note the other resource are much better for quick questions or seeking usage help.
+
+### Contributing
+
+Would you like to help make Serilog even better? We keep a list of issues that are approachable for newcomers under the [up-for-grabs](https://github.com/issues?utf8=✓&q=is%3Aopen+is%3Aissue+archived%3Afalse+user%3Aserilog+label%3Aup-for-grabs) label (accessible only when logged into GitHub). Before starting work on a pull request, we suggest commenting on, or raising, an issue on the issue tracker so that we can help and coordinate efforts. For more details check out our [contributing guide](CONTRIBUTING.md).
+
+When contributing please keep in mind our [Code of Conduct](CODE_OF_CONDUCT.md).
+
+_Serilog is copyright © Serilog Contributors - Provided under the [Apache License, Version 2.0](http://apache.org/licenses/LICENSE-2.0.html). Needle and thread logo a derivative of work by [Kenneth Appiah](http://www.kensets.com/)._
diff --git a/packages/Serilog.4.2.0/Serilog.4.2.0.nupkg b/packages/Serilog.4.2.0/Serilog.4.2.0.nupkg
new file mode 100644
index 0000000..a2cc40d
Binary files /dev/null and b/packages/Serilog.4.2.0/Serilog.4.2.0.nupkg differ
diff --git a/packages/Serilog.4.2.0/icon.png b/packages/Serilog.4.2.0/icon.png
new file mode 100644
index 0000000..9bf45a3
Binary files /dev/null and b/packages/Serilog.4.2.0/icon.png differ
diff --git a/packages/Serilog.4.2.0/lib/net462/Serilog.dll b/packages/Serilog.4.2.0/lib/net462/Serilog.dll
new file mode 100644
index 0000000..7f93566
Binary files /dev/null and b/packages/Serilog.4.2.0/lib/net462/Serilog.dll differ
diff --git a/packages/Serilog.4.2.0/lib/net462/Serilog.xml b/packages/Serilog.4.2.0/lib/net462/Serilog.xml
new file mode 100644
index 0000000..da91d88
--- /dev/null
+++ b/packages/Serilog.4.2.0/lib/net462/Serilog.xml
@@ -0,0 +1,6223 @@
+
+
+
+ Serilog
+
+
+
+
+ Recursively traverses a multidimensional array and constructs a nested SequenceValue representation.
+
+ The multidimensional array to traverse.
+ An array of indices representing the current position in each dimension.
+ The current dimension being processed.
+ The destructuring strategy.
+ A LogEventPropertyValue representing the array's structure and elements.
+
+
+
+ Create properties based on an ordered list of provided values.
+
+ The template that the parameters apply to.
+ Objects corresponding to the properties
+ represented in the message template.
+ A list of properties; if the template is malformed then
+ this will be empty.
+
+
+
+ True if compiler-generated types are treated specially by Serilog during logging. The main example
+ of this would be anonymous types, which have a special compiler-generated form. If this switch is
+ disabled, Serilog will not be able to destructure anonymous types, but will still be able to log
+ them as scalar values.
+
+
+
+
+ Initialization options for .
+
+
+
+
+ Eagerly emit a batch containing the first received event, regardless of
+ the target batch size or batching time. This helps with perceived "liveness"
+ when running/debugging applications interactively. The default is true.
+
+
+
+
+ The maximum number of events to include in a single batch. The default is 1000.
+
+
+
+
+ The maximum delay between event batches. The default is two seconds. If a batch can be filled
+ before the buffering time limit is reached, it will be emitted without waiting.
+
+
+
+
+ Maximum number of events to hold in the sink's internal queue, or null
+ for an unbounded queue. The default is 100000. When the limit is exceeded,
+ backpressure is applied.
+
+
+
+
+ The maximum time that the sink will keep retrying failed batches for. The default is ten minutes. Lower
+ this value to reduce buffering and backpressure in high-load scenarios.
+
+
+
+
+ Implemented on types that apply settings to a logger configuration.
+
+
+
+
+ Apply the settings to the logger configuration.
+
+ The logger configuration to apply settings to.
+
+
+
+ Controls audit sink configuration.
+
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+
+
+
+ Controls template parameter destructuring configuration.
+
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances with the provided policies.
+
+ Policies to apply when destructuring.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ When destructuring objects, transform instances with the provided policy.
+
+ Policy to apply when destructuring.
+ Configuration object allowing method chaining.
+
+
+
+ Capture instances of the specified type as dictionaries.
+ By default, only concrete instantiations of are considered dictionary-like.
+
+ Type of dictionary.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function.
+
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function, if the predicate returns true. Be careful to avoid any
+ intensive work in the predicate, as it can slow down the pipeline significantly.
+
+ A predicate used to determine if the transform applies to
+ a specific type of value
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ When destructuring objects, depth will be limited to 10 property traversals deep to
+ guard against ballooning space when recursive/cyclic structures are accidentally passed. To
+ change this limit pass a new maximum depth.
+
+ The maximum depth to use.
+ Configuration object allowing method chaining.
+ When is negative
+
+
+
+ When destructuring objects, string values can be restricted to specified length
+ thus avoiding bloating payload. Limit is applied to each value separately,
+ sum of length of strings can exceed limit.
+
+ The maximum string length.
+ Configuration object allowing method chaining.
+ When is less than 2
+
+
+
+ When destructuring objects, collections be restricted to specified count
+ thus avoiding bloating payload. Limit is applied to each collection separately,
+ sum of length of collection can exceed limit.
+ Applies limit to all including dictionaries.
+
+ Configuration object allowing method chaining.
+ When is less than 1
+
+
+
+ Controls enrichment configuration.
+
+
+
+
+ Specifies one or more enrichers that may add properties dynamically to
+ log events.
+
+ Enrichers to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Specifies an enricher that may add properties dynamically to
+ log events.
+
+ Enricher type to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+
+
+
+ Include the specified property value in all events logged to the logger.
+
+ The name of the property to add.
+ The property value to add.
+ If , objects of unknown type will be logged as structures; otherwise they will be converted using .
+ Configuration object allowing method chaining.
+
+
+
+ Enrich log events with properties from .
+
+ Configuration object allowing method chaining.
+
+ Configuration object allowing method chaining.
+
+
+
+ Apply an enricher only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be enriched.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to .
+
+ The level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to the level specified by .
+
+ A that specifies the level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Helper method for wrapping sinks.
+
+ The parent enrichment configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures enrichers to be wrapped in .
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+ When is null
+
+
+
+ Controls filter configuration.
+
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+
+
+
+ Filter out log events that match a predicate.
+
+ Function that returns true when an event
+ should be excluded (silenced).
+ Configuration object allowing method chaining.
+
+
+
+ Filter log events to include only those that match a predicate.
+
+ Function that returns true when an event
+ should be included (emitted).
+ Configuration object allowing method chaining.
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Sets the minimum level at which events will be passed to sinks.
+
+ The minimum level to set.
+ Configuration object allowing method chaining.
+
+
+
+ Sets the minimum level to be dynamically controlled by the provided switch.
+
+ The switch.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+ Configuration object allowing method chaining.
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+ Configuration object allowing method chaining.
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+ Configuration object allowing method chaining.
+
+
+
+ Service is degraded or endangered.
+
+ Configuration object allowing method chaining.
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+ Configuration object allowing method chaining.
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+ Configuration object allowing method chaining.
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The switch controlling loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+ When a trimmed is empty
+ When is null
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The minimum level applied to loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Allows additional setting sources to drive the logger configuration.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Apply settings specified in the Serilog key-value setting format to the logger configuration.
+
+ A list of key-value pairs describing logger settings.
+ Configuration object allowing method chaining.
+ In case of duplicate keys, the last value for the key is kept and the previous ones are ignored.
+ When is null
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink.
+
+ Configuration object allowing method chaining.
+ Sink configuration methods that specify should also specify .
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to an . Events will be internally buffered, and
+ written to the sink in batches.
+
+ The batched sink to receive events.
+ Options that control batch sizes, buffering time, and backpressure.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger.
+ Whether to shut down automatically the sub-logger
+ when the parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write to a sink only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be written to the configured sink.
+ An action that configures the wrapped sink.
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+
+
+
+ Write to a sink, and if the sink is unable to record the event, write to a second sink. Additional sinks can
+ be added to the chain if necessary.
+
+ A callback to configure the first sink to try. The argument to the callback supports
+ the same syntax as the WriteTo configuration object.
+ A callback to configure the second sink.
+ Additional callbacks to configure more sinks in the fallback chain.
+ Configuration object allowing method chaining.
+ When any argument is null.
+
+ Fallbacks rely on the target sink either a) synchronously throwing exceptions on failure, or b) implementing the
+ interface.
+
+
+
+
+
+ Helper method for constructing wrapper sinks.
+
+ The parent sink configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing wrapper sinks. This may be preferred over because it handles
+ delegation of through to the wrapped sink in cases where the wrapper is not
+ disposable.
+
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The wrapper, or a sink that will handle invoking the wrapper.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing sinks outside of a logger pipeline.
+
+ An action that configures one or more sinks.
+ If only a single sink is configured,
+ it will be returned from . If zero or many sinks are configured, they will be combined
+ in an aggregating wrapper.
+ When is null.
+
+
+
+ Holds ambient properties that can be attached to log events. To
+ configure, use the method.
+
+
+ Configuration:
+
+ var log = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ ...
+
+ Usage:
+
+ using (LogContext.PushProperty("MessageId", message.Id))
+ {
+ Log.Information("The MessageId property will be attached to this event");
+ }
+
+
+ The scope of the context is the current logical thread, using AsyncLocal
+ (and so is preserved across async/await calls).
+
+
+
+ Push a property onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ The name of the property.
+ The value of the property.
+ A handle to later remove the property from the context.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ A token that must be disposed, in order, to pop properties back off the stack.
+
+
+
+ Push an enricher onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ An enricher to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Push multiple enrichers onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ .
+ Enrichers to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Obtain an enricher that represents the current contents of the . This
+ can be pushed back onto the context in a different location/thread when required.
+
+ An enricher that represents the current contents of the .
+
+
+
+ Remove all enrichers from the , returning an
+ that must later be used to restore enrichers that were on the stack before was called.
+
+ A token that must be disposed, in order, to restore properties back to the stack.
+
+
+
+ Remove all enrichers from for the current async scope.
+
+
+
+
+ Constants used in the core logging pipeline and associated types.
+
+
+
+
+ The name of the property included in the emitted log events
+ when ForContext<T>() and overloads are
+ applied.
+
+
+
+
+ Adds a new property enricher to the log event.
+
+
+
+
+ Create a new property enricher.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+ When is null
+ When is null
+
+
+
+ A destination that accepts events in batches. Many sinks gain a performance advantage by handling events in batches,
+ for example to combine multiple events into a single network request to a remote collector. Because the client
+ application cannot wait for every event to be flushed when batching is used, batched sinks normally work
+ asynchronously to conserve local resources while batches are sent.
+
+
+
+
+
+ Emit a batch of log events, asynchronously.
+
+ The batch of events to emit.
+ Implementers should allow exceptions to propagate when batches fail. The batching infrastructure
+ handles exception handling, diagnostics, and retries.
+
+
+
+ Allows sinks to perform periodic work without requiring additional threads
+ or timers (thus avoiding additional flush/shut-down complexity).
+
+
+
+
+ Determine how, when destructuring, a supplied value is represented
+ as a complex log event property.
+
+
+
+
+ If supported, destructure the provided value.
+
+ The value to destructure.
+ Recursively apply policies to destructure additional values.
+ The destructured value, or null.
+ True if the value could be destructured under this policy.
+
+
+
+ Applied during logging to add additional information to log events.
+
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+
+
+
+ Provides filtering of the log event stream.
+
+
+
+
+ Returns true if the provided event is enabled. Otherwise, .
+
+ The event to test.
+ if the event is enabled by this filter. If
+ is returned, the event will not be emitted.
+
+
+
+ Creates log event properties from regular .NET objects, applying policies as
+ required.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ Created instance.
+
+
+
+ Supports the policy-driven construction of s given
+ regular .NET objects.
+
+
+
+
+ Create a given a .NET object and destructuring
+ strategy.
+
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ The value.
+
+
+
+ A destination for log events.
+
+
+
+
+
+ Emit the provided log event to the sink.
+
+ The log event to write.
+
+ Implementers should allow exceptions to propagate when event emission fails. The logger will handle
+ exceptions and produce diagnostics appropriately.
+
+
+
+ Implementers can be notified of various failure conditions in the Serilog pipeline.
+
+
+
+
+ A logging feature has failed. Often, failures will communicate errors encountered when writing
+ log events to sinks.
+
+ The object that generated or observed the failure.
+ An indication of the failure kind.
+ A description of the failure.
+ Events associated with the failure.
+ The exception triggering the failure, if any.
+
+
+
+ Determine how a simple value is carried through the logging
+ pipeline as an immutable .
+
+
+
+
+ If supported, convert the provided value into an immutable scalar.
+
+ The value to convert.
+ The converted value, or null.
+ True if the value could be converted under this policy.
+
+
+
+ Implemented by sinks that can report failures through an .
+
+
+
+
+ Set the (single) failure listener that the sink should use to report failures. This method must
+ be called only during initialization, on the initialization thread, before logging has started.
+
+ The listener through which to report failures.
+
+
+
+ The core Serilog logging pipeline. A must
+ be disposed to flush any events buffered within it. Most application
+ code should depend on , not this class.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Determine if events at the specified level, and higher, will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ An instance that efficiently ignores all method calls.
+
+
+
+
+ Describes the reason for a logging failure.
+
+
+
+
+ A failure has occured; the situation may resolve and if any events are associated with the failure,
+ logging will be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; any events associated with the failure will not be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; the reporting sink is going offline and no retries will be attempted.
+
+
+
+
+ Dynamically controls logging level.
+
+
+
+
+ Create a at the initial
+ minimum level.
+
+ The initial level to which the switch is set.
+
+
+
+ The event arises when changed. Note that the event is raised
+ under a lock so be careful within event handler to not fall into deadlock.
+
+
+
+
+ The current minimum level, below which no events
+ should be generated.
+
+
+
+
+ Event arguments for event.
+
+
+
+
+ Creates an instance of specifying old and new levels.
+
+ Old level.
+ New level.
+
+
+
+ Old level.
+
+
+
+
+ New level.
+
+
+
+
+ Indicates that the marked method logs data using a message template and (optional) arguments.
+ The name of the parameter which contains the message template should be given in the constructor.
+
+
+
+ [MessageTemplateFormatMethod("messageTemplate")]
+ public void Information(string messageTemplate, params object[] propertyValues)
+ {
+ // Do something
+ }
+
+ public void Foo()
+ {
+ Information("Hello, {Name}!") // Warning: Nonexistent argument in message template.
+ }
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the message template parameter.
+
+
+
+ Gets the name of the message template parameter.
+
+ The name of the message template parameter.
+
+
+
+ Buffers log events into batches for background flushing.
+
+
+
+
+ Construct a .
+
+ A to send log event batches to. Batches and empty
+ batch notifications will not be sent concurrently. When the is disposed,
+ it will dispose this object if possible.
+ Options controlling behavior of the sink.
+
+
+
+ Emit the provided log event to the sink. If the sink is being disposed or
+ the app domain unloaded, then the event is ignored.
+
+ Log event to emit.
+ The event is null.
+
+ The sink implements the contract that any events whose Emit() method has
+ completed at the time of sink disposal will be flushed (or attempted to,
+ depending on app domain state).
+
+
+
+
+
+
+
+
+
+
+ Manages reconnection period and transient fault response for .
+ During normal operation an object of this type will simply echo the configured batch transmission
+ period. When availability fluctuates, the class tracks the number of failed attempts, each time
+ increasing the interval before reconnection is attempted (up to a set maximum) and at predefined
+ points indicating that either the current batch, or entire waiting queue, should be dropped. This
+ Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming
+ back online. Second, the sender needs to account for both bad batches (the first fault response) and
+ also overproduction (the second, queue-dropping response). In combination these should provide a
+ reasonable delivery effort but ultimately protect the sender from memory exhaustion.
+
+
+
+
+ Forwards log events to another logging pipeline. Copies the events so
+ that mutations performed on the copies do not affect the originals.
+
+ The properties dictionary is copied, however the values within
+ the dictionary (of type are expected to
+ be immutable.
+
+
+
+ A base class for visitors that rewrite the value with modifications. For example, implementations
+ might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of
+ one type into scalar properties of another.
+
+
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value of an unsupported type. Returns the value unchanged.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ An abstract base class for visitors that walk data in the
+ format. Subclasses, by
+ overriding appropriate methods, may search for, transform,
+ or print the value structures being visited.
+
+
+ Stateless, designed to accommodate allocation-free visiting of multiple
+ values by the same visitor instance.
+
+ The type of a state object passed through
+ the visiting process.
+ The type of the result generated by visiting
+ a node.
+
+
+
+ Visit the root node type. This method delegates to
+ a concrete Visit*Value() method appropriate for the value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value of an unsupported type. Always throws , when is not overridden.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+ Always
+
+
+
+ May be thrown by log event sinks when a failure occurs. Should not be used in cases
+ where the exception would propagate out to callers.
+
+
+
+
+ Construct a to communicate a logging failure.
+
+ A message describing the logging failure.
+
+
+
+ A simple source of information generated by Serilog itself,
+ for example when exceptions are thrown and caught internally.
+
+
+
+
+ Set the output mechanism for self-log messages.
+
+ A synchronized to which
+ self-log messages will be written.
+ When is null
+
+
+
+ Set the output mechanism for self-log messages.
+
+ An action to invoke with self-log messages.
+ // ReSharper disable once MemberCanBePrivate.Global
+ When is null
+
+
+
+ Clear the output mechanism and disable self-log events.
+
+ // ReSharper disable once MemberCanBePrivate.Global
+
+
+
+ Write a message to the self-log.
+
+ Standard .NET format string containing the message.
+ First argument, if supplied.
+ Second argument, if supplied.
+ Third argument, if supplied.
+
+ The name is historical; because this is used from third-party sink packages, removing the "Line"
+ suffix as would seem sensible isn't worth the breakage.
+
+
+
+
+ An that writes diagnostic information to . Sinks
+ that support failure listeners should use this instance by default.
+
+
+
+
+ A value represented as a mapping from keys to values.
+
+
+
+
+ Create a with the provided .
+
+ The key-value mappings represented in the dictionary.
+ When is null
+
+
+
+ The dictionary mapping.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A property associated with a .
+
+ This type is currently internal, while we consider future directions for the logging pipeline, but should end up public
+ in future.
+
+
+
+ No property.
+
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Permit deconstruction of the property into a name/value pair.
+
+ The name of the property.
+ The value of the property.
+
+
+
+
+
+ Indicates whether this instance and a specified are equal.
+ The to compare with the current instance.
+
+ if and this instance represent the same value; otherwise, .
+
+
+
+
+
+
+ Descriptive aliases for .
+
+ These do not appear as members of the enumeration
+ as duplicated underlying values result in issues when presenting
+ enum values with .
+
+
+
+ The least significant level of event.
+
+
+
+
+ The most significant level of event.
+
+
+
+
+ A value that, when used as a "minimum" level, will result in no
+ events being emitted.
+
+ It is never correct to construct a with this value.
+
+
+
+ A log event.
+
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ When is null
+ When is null
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+
+
+
+ The time at which the event occurred.
+
+
+
+
+ The level of the event.
+
+
+
+
+ The id of the trace that was active when the event was created, if any.
+
+
+
+
+ The id of the span that was active when the event was created, if any.
+
+
+
+
+ The message template describing the event.
+
+
+
+
+ Render the message template to the specified output, given the properties associated
+ with the event.
+
+ The output.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Render the message template given the properties associated
+ with the event, and return the result.
+
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Properties associated with the event, including those presented in .
+
+
+
+
+ An exception associated with the event, or null.
+
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is null
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is default
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is null
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is default
+
+
+
+ Remove a property from the event, if present. Otherwise no action
+ is performed.
+
+ The name of the property to remove.
+
+
+
+ Construct a using pre-allocated values for internal fields. Normally,
+ the constructor allocates a dictionary to back ,
+ so that this is not unexpectedly shared. This is unnecessary in many integration scenarios,
+ leading to an additional nontrivial allocation. This
+ method allows specialized callers to avoid that overhead.
+
+
+ Because this method exposes parameters that essentially map 1:1 with internal fields of ,
+ the parameter list may change across major Serilog versions.
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+ A constructed .
+
+
+
+ Specifies the meaning and relative importance of a log event.
+
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+
+
+
+ Service is degraded or endangered.
+
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+
+
+
+ A property associated with a .
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Construct a from an existing instance.
+
+ The existing property.
+ When is default
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Test to determine if it is a valid property name.
+
+ The name to check.
+ if the name is valid; otherwise, .
+
+
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ The value associated with a . Divided into scalar,
+ sequence and structure values to direct serialization into various formats.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ Formats the value of the current instance using the specified format.
+
+
+ The value of the current instance in the specified format.
+
+ The format to use.-or- A null reference (Nothing in Visual Basic) to use
+ the default format defined for the type of the implementation.
+ The provider to use to format the value.-or- A null reference
+ (Nothing in Visual Basic) to obtain the numeric format information from the current locale
+ setting of the operating system. 2
+
+
+
+ Represents a message template passed to a log method. The template
+ can subsequently render the template in textual form given the list
+ of properties.
+
+
+
+
+ Represents the empty message template.
+
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The text and property tokens defining the template.
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The full text of the template; used by Serilog internally to avoid unneeded
+ string concatenation.
+ The text and property tokens defining the template.
+ When is null
+ When is null
+
+
+
+ Similar to , but faster.
+
+
+
+
+ The raw text describing the template.
+
+
+
+
+ Render the template as a string.
+
+ The string representation of the template.
+
+
+
+ The tokens parsed from the template.
+
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ Supplies culture-specific formatting information, or null.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ When is null
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ A property value corresponding to a simple, scalar type.
+
+
+
+
+ Scalar value representing .
+
+
+
+
+ Construct a with the specified
+ value.
+
+ The value, which may be null.
+
+
+
+ The value, which may be null.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+ When is null
+
+
+
+ Determine if this instance is equal to .
+
+ The instance to compare with.
+ if the instances are equal; otherwise, .
+
+
+
+ Get a hash code representing the value.
+
+ The instance's hash code.
+
+
+
+ A value represented as an ordered sequence of values.
+
+
+
+
+ Empty sequence of values.
+
+
+
+
+ Create a with the provided .
+
+ The elements of the sequence.
+ When is null
+
+
+
+ The elements of the sequence.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A value represented as a collection of name-value properties.
+
+
+
+
+ Construct a with the provided properties.
+
+ Optionally, a piece of metadata describing the "type" of the
+ structure. Can be null.
+ The properties of the structure.
+ When is null
+
+
+
+ A piece of metadata describing the "type" of the
+ structure, or null.
+
+
+
+
+ The properties of the structure.
+
+ Not presented as a dictionary because dictionary construction is
+ relatively expensive; it is cheaper to build a dictionary over properties only
+ when the structure is of interest.
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ Predicates applied to log events that can be used
+
+
+
+
+ Matches events from the specified source type.
+
+ The source type.
+ A predicate for matching events.
+
+
+
+ Matches events from the specified source type or namespace and
+ nested types or namespaces.
+
+ A dotted source type or namespace identifier.
+ A function that matches log events emitted by the source.
+ When is null
+
+
+
+ Matches events with the specified property attached,
+ regardless of its value.
+
+ The name of the property to match.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ The property value to match; must be a scalar type.
+ Null is allowed.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ A predicate for testing
+ The type of scalar values to match.
+ A predicate for matching events.
+ When is null
+ When is null
+
+
+
+ Implements the {Level} element.
+ can now have a fixed width applied to it, as well as casing rules.
+ Width is set through formats like "u3" (uppercase three chars),
+ "w1" (one lowercase char), or "t4" (title case four chars).
+
+
+
+
+ A that supports the Serilog
+ message template format. Formatting log events for display
+ has a different set of requirements and expectations from
+ rendering the data within them. To meet this, the formatter
+ overrides some behavior: First, strings are always output
+ as literals (not quoted) unless some other format is applied
+ to them. Second, tokens without matching properties are skipped
+ rather than being written as raw text.
+
+ New code should prefer ExpressionTemplate from Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A message template describing the
+ output messages.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Describes the properties available in standard message template-based
+ output format strings.
+
+
+
+
+ The message rendered from the log event.
+
+
+
+
+ The timestamp of the log event.
+
+
+
+
+ The timestamp of the log event in UTC.
+
+
+
+
+ The level of the log event.
+
+
+
+
+ The id of the trace that was active at the log event's time of creation, if any.
+
+
+
+
+ The id of the span that was active at the log event's time of creation, if any.
+
+
+
+
+ A new line.
+
+
+
+
+ The exception associated with the log event.
+
+
+
+
+ The properties of the log event.
+
+
+
+
+ Formats log events in a textual representation.
+
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+
+
+
+ Formats log events in a simple JSON structure. Instances of this class
+ are safe for concurrent access by multiple threads.
+
+ New code should prefer formatters from Serilog.Formatting.Compact, or ExpressionTemplate from
+ Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A string that will be written after each log event is formatted.
+ If null, will be used.
+ If , the message will be rendered and written to the output as a
+ property named RenderedMessage.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Converts Serilog's structured property value format into JSON.
+
+
+
+
+ Construct a .
+
+ When serializing structured (object) values,
+ the property name to use for the Serilog field
+ in the resulting JSON. If null, no type tag field will be written. The default is
+ "_typeTag".
+
+
+
+ Format as JSON to .
+
+ The value to format
+ The output
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Write a literal as a single JSON value, e.g. as a number or string. Override to
+ support more value types. Don't write arrays/structures through this method - the
+ active destructuring policies have already indicated the value should be scalar at
+ this point.
+
+ The value to write.
+ The output
+
+
+
+ Write a valid JSON string literal, escaping as necessary.
+
+ The string value to write.
+ The output.
+
+
+
+ The core Serilog logging API, used for writing log events.
+
+
+ var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .CreateLogger();
+
+ var thing = "World";
+ log.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its static sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ An optional static entry point for logging that can be easily referenced
+ by different parts of an application. To configure the
+ set the Logger static property to a logger instance.
+
+
+ Log.Logger = new LoggerConfiguration()
+ .WithConsoleSink()
+ .CreateLogger();
+
+ var thing = "World";
+ Log.Logger.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its dynamic sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ The globally-shared logger.
+
+ When is null
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Configuration object for creating instances.
+
+
+
+
+ Construct a .
+
+
+
+
+ Configures the sinks that log events will be emitted to.
+
+
+
+
+ Configures sinks for auditing, instead of regular (safe) logging. When auditing is used,
+ exceptions from sinks and any intermediate filters propagate back to the caller. Most callers
+ should use instead.
+
+
+ Not all sinks are compatible with transactional auditing requirements (many will use asynchronous
+ batching to improve write throughput and latency). Sinks need to opt-in to auditing support by
+ extending , though the generic
+ method allows any sink class to be adapted for auditing.
+
+
+
+
+ Configures the minimum level at which events will be passed to sinks. If
+ not specified, only events at the
+ level and above will be passed through.
+
+ Configuration object allowing method chaining.
+
+
+
+ Configures enrichment of s. Enrichers can add, remove and
+ modify the properties associated with events.
+
+
+
+
+ Configures global filtering of s.
+
+
+
+
+ Configures destructuring of message template parameters.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+
+
+
+ Create a logger using the configured sinks, enrichers and minimum level.
+
+ The logger.
+ To free resources held by sinks ahead of program shutdown,
+ the returned logger may be cast to and
+ disposed.
+ When the logger is already created
+
+
+
+ Extends with additional methods.
+
+
+
+
+ Create a logger that enriches log events when the specified level is enabled.
+
+ The type of the property value.
+ The logger.
+ The log event level used to determine if log is enriched with property.
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+ When is null
+
+
+
+ A structure representing the alignment settings to apply when rendering a property.
+
+
+
+
+ Initializes a new instance of .
+
+ The text alignment direction.
+ The width of the text, in characters.
+
+
+
+ The text alignment direction.
+
+
+
+
+ The width of the text.
+
+
+
+
+ Defines the direction of the alignment.
+
+
+
+
+ Text will be left-aligned.
+
+
+
+
+ Text will be right-aligned.
+
+
+
+
+ Instructs the logger on how to store information about provided
+ parameters.
+
+
+
+
+ Convert known types and objects to scalars, arrays to sequences.
+
+
+
+
+ Convert all types to scalar strings. Prefix name with '$'.
+
+
+
+
+ Convert known types to scalars, destructure objects and collections
+ into sequences and structures. Prefix name with '@'.
+
+
+
+
+ Parses message template strings into sequences of text or property
+ tokens.
+
+
+
+
+ Construct a .
+
+
+
+
+ Parse the supplied message template.
+
+ The message template to parse.
+ A sequence of text or property tokens. Where the template
+ is not syntactically valid, text tokens will be returned. The parser
+ will make a best effort to extract valid property tokens even in the
+ presence of parsing issues.
+ When is null
+
+
+
+ An element parsed from a message template string.
+
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ A message template token representing a log event property.
+
+
+
+
+ Construct a .
+
+ The name of the property.
+ The token as it appears in the message template.
+ The format applied to the property, if any.
+ The alignment applied to the property, if any.
+ The destructuring strategy applied to the property, if any.
+ When is null
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ The property name.
+
+
+
+
+ Destructuring strategy applied to the property.
+
+
+
+
+ Format applied to the property.
+
+
+
+
+ Alignment applied to the property.
+
+
+
+
+ if the property name is a positional index; otherwise, .
+
+
+
+
+ Try to get the integer value represented by the property name.
+
+ The integer value, if present.
+ True if the property is positional, otherwise false.
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ A message template token representing literal text.
+
+
+
+
+ Construct a .
+
+ The text of the token.
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ The text of the token.
+
+
+
+
+ Apply upper or lower casing to when is provided.
+ Returns when no or invalid format provided
+
+ The provided with formatting applied
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+
+
+
+
+ Class that provides reusable StringWriters to reduce memory allocations
+
+
+
+
+ Max capacity of StringBuilder we keep for next using.
+
+
+
+
+ Gets already created StringWriter if there is one available or creates a new one.
+
+
+
+
+
+ Clear this instance and prepare it for reuse in the future.
+
+
+
+
+ Contains "fake extension" methods for the Serilog configuration API.
+ By default the settings knows how to find extension methods, but some configuration
+ are actually "regular" method calls and would not be found otherwise.
+
+ This static class contains internal methods that can be used instead.
+
+ See also
+
+
+
+
+ A super-simple, cut-down subset of `System.TimeProvider` which we use internally to avoid a package dependency
+ on platforms without it.
+
+
+
+
+ Specifies that null is allowed as an input even if the corresponding type disallows it.
+
+
+
+
+ Specifies that null is disallowed as an input even if the corresponding type allows it.
+
+
+
+
+ Applied to a method that will never return under any circumstance.
+
+
+
+
+ Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
+
+
+
+
+ Initializes the attribute with the specified parameter value.
+
+
+ The condition parameter value. Code after the method will be considered unreachable
+ by diagnostics if the argument to the associated parameter matches this value.
+
+
+
+
+ Gets the condition parameter value.
+
+
+
+
+ Indicates that an API is experimental and it may change in the future.
+
+
+ This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
+ feature is used. Authors can use this attribute to ship preview features in their assemblies.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+
+
+ Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The unique diagnostic ID.
+
+ The diagnostic ID is shown in build output for warnings and errors.
+ This property represents the unique ID that can be used to suppress the warnings or errors, if needed.
+
+
+
+
+ Gets or sets the URL for corresponding documentation.
+ The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
+
+ The format string that represents a URL to corresponding documentation.
+ An example format string is https://contoso.com/obsoletion-warnings/{0}.
+
+
+
+ Specifies that an output may be null even if the corresponding type disallows it.
+
+
+
+
+ Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it.
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter may be null.
+
+
+
+ Gets the return value condition.
+
+
+
+
+ Specifies that the method or property will ensure that the listed field and property members have not-null values.
+
+
+
+
+ Initializes the attribute with a field or property member.
+
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the list of field and property members.
+
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets field or property member names.
+
+
+
+
+ Specifies that the method or property will ensure that the listed field and property
+ members have not-null values when returning with the specified return value condition.
+
+
+
+
+ Initializes the attribute with the specified return value condition and a field or property member.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the specified return value condition and list of field and property members.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets the return value condition.
+
+
+
+
+ Gets field or property member names.
+
+
+
+
+ Specifies that an output will not be null even if the corresponding type allows it.
+ Specifies that an input argument was not null when the call returns.
+
+
+
+
+ Specifies that the output will be non-null if the named parameter is non-null.
+
+
+
+
+ Initializes the attribute with the associated parameter name.
+
+ The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
+
+
+
+ Gets the associated parameter name.
+
+
+
+
+ Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+ Gets the return value condition.
+
+
+
+ Specifies that this constructor sets all required members for the current type,
+ and callers do not need to set any required members themselves.
+
+
+
+
+ Specifies the syntax used in a string.
+
+
+
+
+ Initializes the with the identifier of the syntax used.
+
+ The syntax identifier.
+
+
+ Initializes the with the identifier of the syntax used.
+ The syntax identifier.
+ Optional arguments associated with the specific syntax employed.
+
+
+ Gets the identifier of the syntax used.
+
+
+ Optional arguments associated with the specific syntax employed.
+
+
+ The syntax identifier for strings containing composite formats for string formatting.
+
+
+ The syntax identifier for strings containing date format specifiers.
+
+
+ The syntax identifier for strings containing date and time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing JavaScript Object Notation (JSON).
+
+
+ The syntax identifier for strings containing numeric format specifiers.
+
+
+ The syntax identifier for strings containing regular expressions.
+
+
+ The syntax identifier for strings containing time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing URIs.
+
+
+ The syntax identifier for strings containing XML.
+
+
+
+ Used to indicate a byref escapes and is not scoped.
+
+
+
+ There are several cases where the C# compiler treats a as implicitly
+ - where the compiler does not allow the to escape the method.
+
+
+ For example:
+
+ - for instance methods.
+ - parameters that refer to types.
+ - parameters.
+
+
+
+ This attribute is used in those instances where the should be allowed to escape.
+
+
+ Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
+ API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
+
+
+
+
+
+ Indicates that certain members on a specified are accessed dynamically,
+ for example through .
+
+
+ This allows tools to understand which members are being accessed during the execution
+ of a program.
+
+ This attribute is valid on members whose type is or .
+
+ When this attribute is applied to a location of type , the assumption is
+ that the string represents a fully qualified type name.
+
+ When this attribute is applied to a class, interface, or struct, the members specified
+ can be accessed dynamically on instances returned from calling
+ on instances of that class, interface, or struct.
+
+ If the attribute is applied to a method it's treated as a special case and it implies
+ the attribute should be applied to the "this" parameter of the method. As such the attribute
+ should only be used on instance methods of types assignable to System.Type (or string, but no methods
+ will use it there).
+
+
+
+
+ Initializes a new instance of the class
+ with the specified member types.
+
+ The types of members dynamically accessed.
+
+
+
+ Gets the which specifies the type
+ of members dynamically accessed.
+
+
+
+
+ Specifies the types of members that are dynamically accessed.
+
+ This enumeration has a attribute that allows a
+ bitwise combination of its member values.
+
+
+
+
+ Specifies no members.
+
+
+
+
+ Specifies the default, parameterless public constructor.
+
+
+
+
+ Specifies all public constructors.
+
+
+
+
+ Specifies all non-public constructors.
+
+
+
+
+ Specifies all public methods.
+
+
+
+
+ Specifies all non-public methods.
+
+
+
+
+ Specifies all public fields.
+
+
+
+
+ Specifies all non-public fields.
+
+
+
+
+ Specifies all public nested types.
+
+
+
+
+ Specifies all non-public nested types.
+
+
+
+
+ Specifies all public properties.
+
+
+
+
+ Specifies all non-public properties.
+
+
+
+
+ Specifies all public events.
+
+
+
+
+ Specifies all non-public events.
+
+
+
+
+ Specifies all interfaces implemented by the type.
+
+
+
+
+ Specifies all members.
+
+
+
+
+ States a dependency that one member has on another.
+
+
+ This can be used to inform tooling of a dependency that is otherwise not evident purely from
+ metadata and IL, for example a member relied on via reflection.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on the same type as the consumer.
+
+ The signature of the member depended on.
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on a .
+
+ The signature of the member depended on.
+ The containing .
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on a type in an assembly.
+
+ The signature of the member depended on.
+ The full name of the type containing the specified member.
+ The assembly name of the type containing the specified member.
+
+
+
+ Initializes a new instance of the class
+ with the specified types of members on a .
+
+ The types of members depended on.
+ The containing the specified members.
+
+
+
+ Initializes a new instance of the class
+ with the specified types of members on a type in an assembly.
+
+ The types of members depended on.
+ The full name of the type containing the specified members.
+ The assembly name of the type containing the specified members.
+
+
+
+ Gets the signature of the member depended on.
+
+
+ Either must be a valid string or
+ must not equal , but not both.
+
+
+
+
+ Gets the which specifies the type
+ of members depended on.
+
+
+ Either must be a valid string or
+ must not equal , but not both.
+
+
+
+
+ Gets the containing the specified member.
+
+
+ If neither nor are specified,
+ the type of the consumer is assumed.
+
+
+
+
+ Gets the full name of the type containing the specified member.
+
+
+ If neither nor are specified,
+ the type of the consumer is assumed.
+
+
+
+
+ Gets the assembly name of the specified type.
+
+
+ is only valid when is specified.
+
+
+
+
+ Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG".
+
+
+
+
+ Indicates that the specified member requires assembly files to be on disk.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A message that contains information about the need for assembly files to be on disk.
+
+
+
+
+ Gets an optional message that contains information about the need for
+ assembly files to be on disk.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the member,
+ why it requires assembly files to be on disk, and what options a consumer has
+ to deal with it.
+
+
+
+
+ Indicates that the specified method requires the ability to generate new code at runtime,
+ for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when compiling ahead of time.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets a message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires dynamic code, and what options a consumer has to deal with it.
+
+
+
+
+ Indicates that the specified method requires dynamic access to code that is not referenced
+ statically, for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when removing unreferenced
+ code from an application.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of unreferenced code.
+
+
+
+
+ Gets a message that contains information about the usage of unreferenced code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires unreferenced code, and what options a consumer has to deal with it.
+
+
+
+
+ Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
+ single code artifact.
+
+
+ is different than
+ in that it doesn't have a
+ . So it is always preserved in the compiled assembly.
+
+
+
+
+ Initializes a new instance of the
+ class, specifying the category of the tool and the identifier for an analysis rule.
+
+ The category for the attribute.
+ The identifier of the analysis rule the attribute applies to.
+
+
+
+ Gets the category identifying the classification of the attribute.
+
+
+ The property describes the tool or tool analysis category
+ for which a message suppression attribute applies.
+
+
+
+
+ Gets the identifier of the analysis tool rule to be suppressed.
+
+
+ Concatenated together, the and
+ properties form a unique check identifier.
+
+
+
+
+ Gets or sets the scope of the code that is relevant for the attribute.
+
+
+ The Scope property is an optional argument that specifies the metadata scope for which
+ the attribute is relevant.
+
+
+
+
+ Gets or sets a fully qualified path that represents the target of the attribute.
+
+
+ The property is an optional argument identifying the analysis target
+ of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
+ Because it is fully qualified, it can be long, particularly for targets such as parameters.
+ The analysis tool user interface should be capable of automatically formatting the parameter.
+
+
+
+
+ Gets or sets an optional argument expanding on exclusion criteria.
+
+
+ The property is an optional argument that specifies additional
+ exclusion where the literal metadata target is not sufficiently precise. For example,
+ the cannot be applied within a method,
+ and it may be desirable to suppress a violation against a statement in the method that will
+ give a rule violation, but not against all statements in the method.
+
+
+
+
+ Gets or sets the justification for suppressing the code analysis message.
+
+
+
+
+ Types and Methods attributed with StackTraceHidden will be omitted from the stack trace text shown in StackTrace.ToString()
+ and Exception.StackTrace
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Represent a type can be used to index a collection either from the start or the end.
+
+ Index is used by the C# compiler to support the new index syntax
+
+ int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ;
+ int lastElement = someArray[^1]; // lastElement = 5
+
+
+
+
+ Construct an Index using a value and indicating if the index is from the start or from the end.
+ The index value. it has to be zero or positive number.
+ Indicating if the index is from the start or from the end.
+
+ If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element.
+
+
+
+ Create an Index pointing at first element.
+
+
+ Create an Index pointing at beyond last element.
+
+
+ Create an Index from the start at the position indicated by the value.
+ The index value from the start.
+
+
+ Create an Index from the end at the position indicated by the value.
+ The index value from the end.
+
+
+ Returns the index value.
+
+
+ Indicates whether the index is from the start or the end.
+
+
+ Calculate the offset from the start using the giving collection length.
+ The length of the collection that the Index will be used with. length has to be a positive value
+
+ For performance reason, we don't validate the input length parameter and the returned offset value against negative values.
+ we don't validate either the returned offset is greater than the input length.
+ It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and
+ then used to index a collection will get out of range exception which will be same affect as the validation.
+
+
+
+ Indicates whether the current Index object is equal to another object of the same type.
+ An object to compare with this object
+
+
+ Indicates whether the current Index object is equal to another Index object.
+ An object to compare with this object
+
+
+ Returns the hash code for this instance.
+
+
+ Converts integer number to an Index.
+
+
+ Converts the value of the current Index object to its equivalent string representation.
+
+
+ Represent a range has start and end indexes.
+
+ Range is used by the C# compiler to support the range syntax.
+
+ int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
+ int[] subArray1 = someArray[0..2]; // { 1, 2 }
+ int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 }
+
+
+
+
+ Represent the inclusive start index of the Range.
+
+
+ Represent the exclusive end index of the Range.
+
+
+ Construct a Range object using the start and end indexes.
+ Represent the inclusive start index of the range.
+ Represent the exclusive end index of the range.
+
+
+ Indicates whether the current Range object is equal to another object of the same type.
+ An object to compare with this object
+
+
+ Indicates whether the current Range object is equal to another Range object.
+ An object to compare with this object
+
+
+ Returns the hash code for this instance.
+
+
+ Converts the value of the current Range object to its equivalent string representation.
+
+
+ Create a Range object starting from start index to the end of the collection.
+
+
+ Create a Range object starting from first element in the collection to the end Index.
+
+
+ Create a Range object starting from first element to the end.
+
+
+ Calculate the start offset and length of range object using a collection length.
+ The length of the collection that the range will be used with. length has to be a positive value.
+
+ For performance reason, we don't validate the input length parameter against negative values.
+ It is expected Range will be used with collections which always have non negative length/count.
+ We validate the range is inside the length scope though.
+
+
+
+
+ An attribute that allows parameters to receive the expression of other parameters.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The condition parameter value.
+
+
+
+ Gets the parameter name the expression is retrieved from.
+
+
+
+
+ Initialize the attribute to refer to the method on the type.
+
+ The type of the builder to use to construct the collection.
+ The name of the method on the builder to use to construct the collection.
+
+ must refer to a static method that accepts a single parameter of
+ type and returns an instance of the collection being built containing
+ a copy of the data from that span. In future releases of .NET, additional patterns may be supported.
+
+
+
+
+ Gets the type of the builder to use to construct the collection.
+
+
+
+
+ Gets the name of the method on the builder to use to construct the collection.
+
+
+ This should match the metadata name of the target method.
+ For example, this might be ".ctor" if targeting the type's constructor.
+
+
+
+
+ Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
+
+
+
+
+ Creates a new instance of the type.
+
+ The name of the feature to indicate.
+
+
+
+ The name of the compiler feature.
+
+
+
+
+ If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand .
+
+
+
+
+ The used for the ref structs C# feature.
+
+
+
+
+ The used for the required members C# feature.
+
+
+
+
+ Indicates which arguments to a method involving an interpolated string handler should be passed to that handler.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the argument that should be passed to the handler.
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Initializes a new instance of the class.
+
+ The names of the arguments that should be passed to the handler.
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Gets the names of the arguments that should be passed to the handler.
+
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Indicates the attributed type is to be used as an interpolated string handler.
+
+
+
+
+ Reserved to be used by the compiler for tracking metadata.
+ This class should not be used by developers in source code.
+
+
+
+
+ Used to indicate to the compiler that a method should be called
+ in its containing module's initializer.
+
+
+ When one or more valid methods
+ with this attribute are found in a compilation, the compiler will
+ emit a module initializer which calls each of the attributed methods.
+
+ Certain requirements are imposed on any method targeted with this attribute:
+ - The method must be `static`.
+ - The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc.
+ - The method must be parameterless.
+ - The method must return `void`.
+ - The method must not be generic or be contained in a generic type.
+ - The method's effective accessibility must be `internal` or `public`.
+
+ The specification for module initializers in the .NET runtime can be found here:
+ https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer
+
+
+
+
+ Specifies that a type has required members or that a member is required.
+
+
+
+
+ Reserved for use by a compiler for tracking metadata.
+ This attribute should not be used by developers in source code.
+
+
+
+
+ Used to indicate to the compiler that the .locals init flag should not be set in method headers.
+
+
+
+
+ Disables the built-in runtime managed/unmanaged marshalling subsystem for
+ P/Invokes, Delegate types, and unmanaged function pointer invocations.
+
+
+ The built-in marshalling subsystem has some behaviors that cannot be changed due to
+ backward-compatibility requirements. This attribute allows disabling the built-in
+ subsystem and instead uses the following rules for P/Invokes, Delegates,
+ and unmanaged function pointer invocations:
+
+ - All value types that do not contain reference type fields recursively (unmanaged in C#) are blittable
+ - Value types that recursively have any fields that have [StructLayout(LayoutKind.Auto)] are disallowed from interop.
+ - All reference types are disallowed from usage in interop scenarios.
+ - SetLastError support in P/Invokes is disabled.
+ - varargs support is disabled.
+ - LCIDConversionAttribute support is disabled.
+
+
+
+
+ Provides access to an inaccessible member of a specific type.
+
+
+ This attribute may be applied to an extern static method.
+ The implementation of the extern static method annotated with
+ this attribute will be provided by the runtime based on the information in
+ the attribute and the signature of the method that the attribute is applied to.
+ The runtime will try to find the matching method or field and forward the call
+ to it. If the matching method or field is not found, the body of the extern
+ method will throw or .
+ Only the specific type defined will be examined for inaccessible members. The type hierarchy
+ is not walked looking for a match.
+
+ For ,
+ ,
+ ,
+ and , the type of
+ the first argument of the annotated extern method identifies the owning type.
+ The value of the first argument is treated as this pointer for instance fields and methods.
+ The first argument must be passed as ref for instance fields and methods on structs.
+ The value of the first argument is not used by the implementation for static fields and methods.
+
+ Return type is considered for the signature match. modreqs and modopts are initially not considered for
+ the signature match. However, if an ambiguity exists ignoring modreqs and modopts, a precise match
+ is attempted. If an ambiguity still exists is thrown.
+
+ By default, the attributed method's name dictates the name of the method/field. This can cause confusion
+ in some cases since language abstractions, like C# local functions, generate mangled IL names. The
+ solution to this is to use the nameof mechanism and define the property.
+
+
+ public void Method(Class c)
+ {
+ PrivateMethod(c);
+
+ [UnsafeAccessor(UnsafeAccessorKind.Method, Name = nameof(PrivateMethod))]
+ extern static void PrivateMethod(Class c);
+ }
+
+
+
+
+
+ Instantiates an
+ providing access to a member of kind .
+
+ The kind of the target to which access is provided.
+
+
+
+ Gets the kind of member to which access is provided.
+
+
+
+
+ Gets or sets the name of the member to which access is provided.
+
+
+ The name defaults to the annotated method name if not specified.
+ The name must be unset/null for .
+
+
+
+
+ Specifies the kind of target to which an is providing access.
+
+
+
+
+ Provide access to a constructor.
+
+
+
+
+ Provide access to a method.
+
+
+
+
+ Provide access to a static method.
+
+
+
+
+ Provide access to a field.
+
+
+
+
+ Provide access to a static field.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified message.
+
+ An optional message associated with this attribute instance.
+
+
+
+ Returns the optional message associated with this attribute instance.
+
+
+
+
+ Returns the optional URL associated with this attribute instance.
+
+
+
+
+ Marks APIs that were obsoleted in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that should not be used anymore.
+
+
+
+
+ Records the operating system (and minimum version) that supports an API. Multiple attributes can be
+ applied to indicate support on multiple operating systems.
+
+
+ Callers can apply a
+ or use guards to prevent calls to APIs on unsupported operating systems.
+
+ A given platform should only be specified once.
+
+
+
+
+ Annotates a custom guard field, property or method with a supported platform name and optional version.
+ Multiple attributes can be applied to indicate guard for multiple supported platforms.
+
+
+ Callers can apply a to a field, property or method
+ and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
+
+ The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
+
+
+
+
+ Records the platform that the project targeted.
+
+
+
+
+ Marks APIs that were removed in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that are only available in
+ earlier versions.
+
+
+
+
+ Annotates the custom guard field, property or method with an unsupported platform name and optional version.
+ Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
+
+
+ Callers can apply a to a field, property or method
+ and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
+
+ The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
+
+
+
+
+ Indicates that the instance's storage is sequentially replicated "length" times.
+
+
+
+ This attribute can be used to annotate a type with a single field.
+ The runtime will replicate that field in the actual type layout as many times as is specified.
+
+
+ Here's an example of how an inline array type with 8 values can be declared:
+
+ [InlineArray(8)]
+ struct Float8InlineArray
+ {
+ private float _value;
+ }
+
+
+
+
+
+ Creates a new instance with the specified length.
+ The number of sequential fields to replicate in the inline array type.
+
+
+ Gets the number of sequential fields to replicate in the inline array type.
+
+
+
+ An attribute used to indicate a GC transition should be skipped when making an unmanaged function call.
+
+
+ Example of a valid use case. The Win32 `GetTickCount()` function is a small performance related function
+ that reads some global memory and returns the value. In this case, the GC transition overhead is significantly
+ more than the memory read.
+
+ using System;
+ using System.Runtime.InteropServices;
+ class Program
+ {
+ [DllImport("Kernel32")]
+ [SuppressGCTransition]
+ static extern int GetTickCount();
+ static void Main()
+ {
+ Console.WriteLine($"{GetTickCount()}");
+ }
+ }
+
+
+
+ This attribute is ignored if applied to a method without the .
+
+ Forgoing this transition can yield benefits when the cost of the transition is more than the execution time
+ of the unmanaged function. However, avoiding this transition removes some of the guarantees the runtime
+ provides through a normal P/Invoke. When exiting the managed runtime to enter an unmanaged function the
+ GC must transition from Cooperative mode into Preemptive mode. Full details on these modes can be found at
+ https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-code-guide.md#2.1.8.
+ Suppressing the GC transition is an advanced scenario and should not be done without fully understanding
+ potential consequences.
+
+ One of these consequences is an impact to Mixed-mode debugging (https://docs.microsoft.com/visualstudio/debugger/how-to-debug-in-mixed-mode).
+ During Mixed-mode debugging, it is not possible to step into or set breakpoints in a P/Invoke that
+ has been marked with this attribute. A workaround is to switch to native debugging and set a breakpoint in the native function.
+ In general, usage of this attribute is not recommended if debugging the P/Invoke is important, for example
+ stepping through the native code or diagnosing an exception thrown from the native code.
+
+ The runtime may load the native library for method marked with this attribute in advance before the method is called for the first time.
+ Usage of this attribute is not recommended for platform neutral libraries with conditional platform specific code.
+
+ The P/Invoke method that this attribute is applied to must have all of the following properties:
+ * Native function always executes for a trivial amount of time (less than 1 microsecond).
+ * Native function does not perform a blocking syscall (e.g. any type of I/O).
+ * Native function does not call back into the runtime (e.g. Reverse P/Invoke).
+ * Native function does not throw exceptions.
+ * Native function does not manipulate locks or other concurrency primitives.
+
+ Consequences of invalid uses of this attribute:
+ * GC starvation.
+ * Immediate runtime termination.
+ * Data corruption.
+
+
+
+
+ Any method marked with can be directly called from
+ native code. The function token can be loaded to a local variable using the address-of operator
+ in C# and passed as a callback to a native method.
+
+
+ Methods marked with this attribute have the following restrictions:
+ * Method must be marked "static".
+ * Must not be called from managed code.
+ * Must only have blittable arguments.
+
+
+
+
+ Optional. If omitted, the runtime will use the default platform calling convention.
+
+
+ Supplied types must be from the official "System.Runtime.CompilerServices" namespace and
+ be of the form "CallConvXXX".
+
+
+
+
+ Optional. If omitted, no named export is emitted during compilation.
+
+
+
+
diff --git a/packages/Serilog.4.2.0/lib/net471/Serilog.dll b/packages/Serilog.4.2.0/lib/net471/Serilog.dll
new file mode 100644
index 0000000..85826b4
Binary files /dev/null and b/packages/Serilog.4.2.0/lib/net471/Serilog.dll differ
diff --git a/packages/Serilog.4.2.0/lib/net471/Serilog.xml b/packages/Serilog.4.2.0/lib/net471/Serilog.xml
new file mode 100644
index 0000000..da91d88
--- /dev/null
+++ b/packages/Serilog.4.2.0/lib/net471/Serilog.xml
@@ -0,0 +1,6223 @@
+
+
+
+ Serilog
+
+
+
+
+ Recursively traverses a multidimensional array and constructs a nested SequenceValue representation.
+
+ The multidimensional array to traverse.
+ An array of indices representing the current position in each dimension.
+ The current dimension being processed.
+ The destructuring strategy.
+ A LogEventPropertyValue representing the array's structure and elements.
+
+
+
+ Create properties based on an ordered list of provided values.
+
+ The template that the parameters apply to.
+ Objects corresponding to the properties
+ represented in the message template.
+ A list of properties; if the template is malformed then
+ this will be empty.
+
+
+
+ True if compiler-generated types are treated specially by Serilog during logging. The main example
+ of this would be anonymous types, which have a special compiler-generated form. If this switch is
+ disabled, Serilog will not be able to destructure anonymous types, but will still be able to log
+ them as scalar values.
+
+
+
+
+ Initialization options for .
+
+
+
+
+ Eagerly emit a batch containing the first received event, regardless of
+ the target batch size or batching time. This helps with perceived "liveness"
+ when running/debugging applications interactively. The default is true.
+
+
+
+
+ The maximum number of events to include in a single batch. The default is 1000.
+
+
+
+
+ The maximum delay between event batches. The default is two seconds. If a batch can be filled
+ before the buffering time limit is reached, it will be emitted without waiting.
+
+
+
+
+ Maximum number of events to hold in the sink's internal queue, or null
+ for an unbounded queue. The default is 100000. When the limit is exceeded,
+ backpressure is applied.
+
+
+
+
+ The maximum time that the sink will keep retrying failed batches for. The default is ten minutes. Lower
+ this value to reduce buffering and backpressure in high-load scenarios.
+
+
+
+
+ Implemented on types that apply settings to a logger configuration.
+
+
+
+
+ Apply the settings to the logger configuration.
+
+ The logger configuration to apply settings to.
+
+
+
+ Controls audit sink configuration.
+
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+
+
+
+ Controls template parameter destructuring configuration.
+
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances with the provided policies.
+
+ Policies to apply when destructuring.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ When destructuring objects, transform instances with the provided policy.
+
+ Policy to apply when destructuring.
+ Configuration object allowing method chaining.
+
+
+
+ Capture instances of the specified type as dictionaries.
+ By default, only concrete instantiations of are considered dictionary-like.
+
+ Type of dictionary.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function.
+
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function, if the predicate returns true. Be careful to avoid any
+ intensive work in the predicate, as it can slow down the pipeline significantly.
+
+ A predicate used to determine if the transform applies to
+ a specific type of value
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ When destructuring objects, depth will be limited to 10 property traversals deep to
+ guard against ballooning space when recursive/cyclic structures are accidentally passed. To
+ change this limit pass a new maximum depth.
+
+ The maximum depth to use.
+ Configuration object allowing method chaining.
+ When is negative
+
+
+
+ When destructuring objects, string values can be restricted to specified length
+ thus avoiding bloating payload. Limit is applied to each value separately,
+ sum of length of strings can exceed limit.
+
+ The maximum string length.
+ Configuration object allowing method chaining.
+ When is less than 2
+
+
+
+ When destructuring objects, collections be restricted to specified count
+ thus avoiding bloating payload. Limit is applied to each collection separately,
+ sum of length of collection can exceed limit.
+ Applies limit to all including dictionaries.
+
+ Configuration object allowing method chaining.
+ When is less than 1
+
+
+
+ Controls enrichment configuration.
+
+
+
+
+ Specifies one or more enrichers that may add properties dynamically to
+ log events.
+
+ Enrichers to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Specifies an enricher that may add properties dynamically to
+ log events.
+
+ Enricher type to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+
+
+
+ Include the specified property value in all events logged to the logger.
+
+ The name of the property to add.
+ The property value to add.
+ If , objects of unknown type will be logged as structures; otherwise they will be converted using .
+ Configuration object allowing method chaining.
+
+
+
+ Enrich log events with properties from .
+
+ Configuration object allowing method chaining.
+
+ Configuration object allowing method chaining.
+
+
+
+ Apply an enricher only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be enriched.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to .
+
+ The level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to the level specified by .
+
+ A that specifies the level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Helper method for wrapping sinks.
+
+ The parent enrichment configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures enrichers to be wrapped in .
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+ When is null
+
+
+
+ Controls filter configuration.
+
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+
+
+
+ Filter out log events that match a predicate.
+
+ Function that returns true when an event
+ should be excluded (silenced).
+ Configuration object allowing method chaining.
+
+
+
+ Filter log events to include only those that match a predicate.
+
+ Function that returns true when an event
+ should be included (emitted).
+ Configuration object allowing method chaining.
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Sets the minimum level at which events will be passed to sinks.
+
+ The minimum level to set.
+ Configuration object allowing method chaining.
+
+
+
+ Sets the minimum level to be dynamically controlled by the provided switch.
+
+ The switch.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+ Configuration object allowing method chaining.
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+ Configuration object allowing method chaining.
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+ Configuration object allowing method chaining.
+
+
+
+ Service is degraded or endangered.
+
+ Configuration object allowing method chaining.
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+ Configuration object allowing method chaining.
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+ Configuration object allowing method chaining.
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The switch controlling loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+ When a trimmed is empty
+ When is null
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The minimum level applied to loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Allows additional setting sources to drive the logger configuration.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Apply settings specified in the Serilog key-value setting format to the logger configuration.
+
+ A list of key-value pairs describing logger settings.
+ Configuration object allowing method chaining.
+ In case of duplicate keys, the last value for the key is kept and the previous ones are ignored.
+ When is null
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink.
+
+ Configuration object allowing method chaining.
+ Sink configuration methods that specify should also specify .
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to an . Events will be internally buffered, and
+ written to the sink in batches.
+
+ The batched sink to receive events.
+ Options that control batch sizes, buffering time, and backpressure.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger.
+ Whether to shut down automatically the sub-logger
+ when the parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write to a sink only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be written to the configured sink.
+ An action that configures the wrapped sink.
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+
+
+
+ Write to a sink, and if the sink is unable to record the event, write to a second sink. Additional sinks can
+ be added to the chain if necessary.
+
+ A callback to configure the first sink to try. The argument to the callback supports
+ the same syntax as the WriteTo configuration object.
+ A callback to configure the second sink.
+ Additional callbacks to configure more sinks in the fallback chain.
+ Configuration object allowing method chaining.
+ When any argument is null.
+
+ Fallbacks rely on the target sink either a) synchronously throwing exceptions on failure, or b) implementing the
+ interface.
+
+
+
+
+
+ Helper method for constructing wrapper sinks.
+
+ The parent sink configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing wrapper sinks. This may be preferred over because it handles
+ delegation of through to the wrapped sink in cases where the wrapper is not
+ disposable.
+
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The wrapper, or a sink that will handle invoking the wrapper.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing sinks outside of a logger pipeline.
+
+ An action that configures one or more sinks.
+ If only a single sink is configured,
+ it will be returned from . If zero or many sinks are configured, they will be combined
+ in an aggregating wrapper.
+ When is null.
+
+
+
+ Holds ambient properties that can be attached to log events. To
+ configure, use the method.
+
+
+ Configuration:
+
+ var log = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ ...
+
+ Usage:
+
+ using (LogContext.PushProperty("MessageId", message.Id))
+ {
+ Log.Information("The MessageId property will be attached to this event");
+ }
+
+
+ The scope of the context is the current logical thread, using AsyncLocal
+ (and so is preserved across async/await calls).
+
+
+
+ Push a property onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ The name of the property.
+ The value of the property.
+ A handle to later remove the property from the context.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ A token that must be disposed, in order, to pop properties back off the stack.
+
+
+
+ Push an enricher onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ An enricher to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Push multiple enrichers onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ .
+ Enrichers to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Obtain an enricher that represents the current contents of the . This
+ can be pushed back onto the context in a different location/thread when required.
+
+ An enricher that represents the current contents of the .
+
+
+
+ Remove all enrichers from the , returning an
+ that must later be used to restore enrichers that were on the stack before was called.
+
+ A token that must be disposed, in order, to restore properties back to the stack.
+
+
+
+ Remove all enrichers from for the current async scope.
+
+
+
+
+ Constants used in the core logging pipeline and associated types.
+
+
+
+
+ The name of the property included in the emitted log events
+ when ForContext<T>() and overloads are
+ applied.
+
+
+
+
+ Adds a new property enricher to the log event.
+
+
+
+
+ Create a new property enricher.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+ When is null
+ When is null
+
+
+
+ A destination that accepts events in batches. Many sinks gain a performance advantage by handling events in batches,
+ for example to combine multiple events into a single network request to a remote collector. Because the client
+ application cannot wait for every event to be flushed when batching is used, batched sinks normally work
+ asynchronously to conserve local resources while batches are sent.
+
+
+
+
+
+ Emit a batch of log events, asynchronously.
+
+ The batch of events to emit.
+ Implementers should allow exceptions to propagate when batches fail. The batching infrastructure
+ handles exception handling, diagnostics, and retries.
+
+
+
+ Allows sinks to perform periodic work without requiring additional threads
+ or timers (thus avoiding additional flush/shut-down complexity).
+
+
+
+
+ Determine how, when destructuring, a supplied value is represented
+ as a complex log event property.
+
+
+
+
+ If supported, destructure the provided value.
+
+ The value to destructure.
+ Recursively apply policies to destructure additional values.
+ The destructured value, or null.
+ True if the value could be destructured under this policy.
+
+
+
+ Applied during logging to add additional information to log events.
+
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+
+
+
+ Provides filtering of the log event stream.
+
+
+
+
+ Returns true if the provided event is enabled. Otherwise, .
+
+ The event to test.
+ if the event is enabled by this filter. If
+ is returned, the event will not be emitted.
+
+
+
+ Creates log event properties from regular .NET objects, applying policies as
+ required.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ Created instance.
+
+
+
+ Supports the policy-driven construction of s given
+ regular .NET objects.
+
+
+
+
+ Create a given a .NET object and destructuring
+ strategy.
+
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ The value.
+
+
+
+ A destination for log events.
+
+
+
+
+
+ Emit the provided log event to the sink.
+
+ The log event to write.
+
+ Implementers should allow exceptions to propagate when event emission fails. The logger will handle
+ exceptions and produce diagnostics appropriately.
+
+
+
+ Implementers can be notified of various failure conditions in the Serilog pipeline.
+
+
+
+
+ A logging feature has failed. Often, failures will communicate errors encountered when writing
+ log events to sinks.
+
+ The object that generated or observed the failure.
+ An indication of the failure kind.
+ A description of the failure.
+ Events associated with the failure.
+ The exception triggering the failure, if any.
+
+
+
+ Determine how a simple value is carried through the logging
+ pipeline as an immutable .
+
+
+
+
+ If supported, convert the provided value into an immutable scalar.
+
+ The value to convert.
+ The converted value, or null.
+ True if the value could be converted under this policy.
+
+
+
+ Implemented by sinks that can report failures through an .
+
+
+
+
+ Set the (single) failure listener that the sink should use to report failures. This method must
+ be called only during initialization, on the initialization thread, before logging has started.
+
+ The listener through which to report failures.
+
+
+
+ The core Serilog logging pipeline. A must
+ be disposed to flush any events buffered within it. Most application
+ code should depend on , not this class.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Determine if events at the specified level, and higher, will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ An instance that efficiently ignores all method calls.
+
+
+
+
+ Describes the reason for a logging failure.
+
+
+
+
+ A failure has occured; the situation may resolve and if any events are associated with the failure,
+ logging will be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; any events associated with the failure will not be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; the reporting sink is going offline and no retries will be attempted.
+
+
+
+
+ Dynamically controls logging level.
+
+
+
+
+ Create a at the initial
+ minimum level.
+
+ The initial level to which the switch is set.
+
+
+
+ The event arises when changed. Note that the event is raised
+ under a lock so be careful within event handler to not fall into deadlock.
+
+
+
+
+ The current minimum level, below which no events
+ should be generated.
+
+
+
+
+ Event arguments for event.
+
+
+
+
+ Creates an instance of specifying old and new levels.
+
+ Old level.
+ New level.
+
+
+
+ Old level.
+
+
+
+
+ New level.
+
+
+
+
+ Indicates that the marked method logs data using a message template and (optional) arguments.
+ The name of the parameter which contains the message template should be given in the constructor.
+
+
+
+ [MessageTemplateFormatMethod("messageTemplate")]
+ public void Information(string messageTemplate, params object[] propertyValues)
+ {
+ // Do something
+ }
+
+ public void Foo()
+ {
+ Information("Hello, {Name}!") // Warning: Nonexistent argument in message template.
+ }
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the message template parameter.
+
+
+
+ Gets the name of the message template parameter.
+
+ The name of the message template parameter.
+
+
+
+ Buffers log events into batches for background flushing.
+
+
+
+
+ Construct a .
+
+ A to send log event batches to. Batches and empty
+ batch notifications will not be sent concurrently. When the is disposed,
+ it will dispose this object if possible.
+ Options controlling behavior of the sink.
+
+
+
+ Emit the provided log event to the sink. If the sink is being disposed or
+ the app domain unloaded, then the event is ignored.
+
+ Log event to emit.
+ The event is null.
+
+ The sink implements the contract that any events whose Emit() method has
+ completed at the time of sink disposal will be flushed (or attempted to,
+ depending on app domain state).
+
+
+
+
+
+
+
+
+
+
+ Manages reconnection period and transient fault response for .
+ During normal operation an object of this type will simply echo the configured batch transmission
+ period. When availability fluctuates, the class tracks the number of failed attempts, each time
+ increasing the interval before reconnection is attempted (up to a set maximum) and at predefined
+ points indicating that either the current batch, or entire waiting queue, should be dropped. This
+ Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming
+ back online. Second, the sender needs to account for both bad batches (the first fault response) and
+ also overproduction (the second, queue-dropping response). In combination these should provide a
+ reasonable delivery effort but ultimately protect the sender from memory exhaustion.
+
+
+
+
+ Forwards log events to another logging pipeline. Copies the events so
+ that mutations performed on the copies do not affect the originals.
+
+ The properties dictionary is copied, however the values within
+ the dictionary (of type are expected to
+ be immutable.
+
+
+
+ A base class for visitors that rewrite the value with modifications. For example, implementations
+ might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of
+ one type into scalar properties of another.
+
+
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value of an unsupported type. Returns the value unchanged.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ An abstract base class for visitors that walk data in the
+ format. Subclasses, by
+ overriding appropriate methods, may search for, transform,
+ or print the value structures being visited.
+
+
+ Stateless, designed to accommodate allocation-free visiting of multiple
+ values by the same visitor instance.
+
+ The type of a state object passed through
+ the visiting process.
+ The type of the result generated by visiting
+ a node.
+
+
+
+ Visit the root node type. This method delegates to
+ a concrete Visit*Value() method appropriate for the value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value of an unsupported type. Always throws , when is not overridden.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+ Always
+
+
+
+ May be thrown by log event sinks when a failure occurs. Should not be used in cases
+ where the exception would propagate out to callers.
+
+
+
+
+ Construct a to communicate a logging failure.
+
+ A message describing the logging failure.
+
+
+
+ A simple source of information generated by Serilog itself,
+ for example when exceptions are thrown and caught internally.
+
+
+
+
+ Set the output mechanism for self-log messages.
+
+ A synchronized to which
+ self-log messages will be written.
+ When is null
+
+
+
+ Set the output mechanism for self-log messages.
+
+ An action to invoke with self-log messages.
+ // ReSharper disable once MemberCanBePrivate.Global
+ When is null
+
+
+
+ Clear the output mechanism and disable self-log events.
+
+ // ReSharper disable once MemberCanBePrivate.Global
+
+
+
+ Write a message to the self-log.
+
+ Standard .NET format string containing the message.
+ First argument, if supplied.
+ Second argument, if supplied.
+ Third argument, if supplied.
+
+ The name is historical; because this is used from third-party sink packages, removing the "Line"
+ suffix as would seem sensible isn't worth the breakage.
+
+
+
+
+ An that writes diagnostic information to . Sinks
+ that support failure listeners should use this instance by default.
+
+
+
+
+ A value represented as a mapping from keys to values.
+
+
+
+
+ Create a with the provided .
+
+ The key-value mappings represented in the dictionary.
+ When is null
+
+
+
+ The dictionary mapping.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A property associated with a .
+
+ This type is currently internal, while we consider future directions for the logging pipeline, but should end up public
+ in future.
+
+
+
+ No property.
+
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Permit deconstruction of the property into a name/value pair.
+
+ The name of the property.
+ The value of the property.
+
+
+
+
+
+ Indicates whether this instance and a specified are equal.
+ The to compare with the current instance.
+
+ if and this instance represent the same value; otherwise, .
+
+
+
+
+
+
+ Descriptive aliases for .
+
+ These do not appear as members of the enumeration
+ as duplicated underlying values result in issues when presenting
+ enum values with .
+
+
+
+ The least significant level of event.
+
+
+
+
+ The most significant level of event.
+
+
+
+
+ A value that, when used as a "minimum" level, will result in no
+ events being emitted.
+
+ It is never correct to construct a with this value.
+
+
+
+ A log event.
+
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ When is null
+ When is null
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+
+
+
+ The time at which the event occurred.
+
+
+
+
+ The level of the event.
+
+
+
+
+ The id of the trace that was active when the event was created, if any.
+
+
+
+
+ The id of the span that was active when the event was created, if any.
+
+
+
+
+ The message template describing the event.
+
+
+
+
+ Render the message template to the specified output, given the properties associated
+ with the event.
+
+ The output.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Render the message template given the properties associated
+ with the event, and return the result.
+
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Properties associated with the event, including those presented in .
+
+
+
+
+ An exception associated with the event, or null.
+
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is null
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is default
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is null
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is default
+
+
+
+ Remove a property from the event, if present. Otherwise no action
+ is performed.
+
+ The name of the property to remove.
+
+
+
+ Construct a using pre-allocated values for internal fields. Normally,
+ the constructor allocates a dictionary to back ,
+ so that this is not unexpectedly shared. This is unnecessary in many integration scenarios,
+ leading to an additional nontrivial allocation. This
+ method allows specialized callers to avoid that overhead.
+
+
+ Because this method exposes parameters that essentially map 1:1 with internal fields of ,
+ the parameter list may change across major Serilog versions.
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+ A constructed .
+
+
+
+ Specifies the meaning and relative importance of a log event.
+
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+
+
+
+ Service is degraded or endangered.
+
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+
+
+
+ A property associated with a .
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Construct a from an existing instance.
+
+ The existing property.
+ When is default
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Test to determine if it is a valid property name.
+
+ The name to check.
+ if the name is valid; otherwise, .
+
+
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ The value associated with a . Divided into scalar,
+ sequence and structure values to direct serialization into various formats.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ Formats the value of the current instance using the specified format.
+
+
+ The value of the current instance in the specified format.
+
+ The format to use.-or- A null reference (Nothing in Visual Basic) to use
+ the default format defined for the type of the implementation.
+ The provider to use to format the value.-or- A null reference
+ (Nothing in Visual Basic) to obtain the numeric format information from the current locale
+ setting of the operating system. 2
+
+
+
+ Represents a message template passed to a log method. The template
+ can subsequently render the template in textual form given the list
+ of properties.
+
+
+
+
+ Represents the empty message template.
+
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The text and property tokens defining the template.
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The full text of the template; used by Serilog internally to avoid unneeded
+ string concatenation.
+ The text and property tokens defining the template.
+ When is null
+ When is null
+
+
+
+ Similar to , but faster.
+
+
+
+
+ The raw text describing the template.
+
+
+
+
+ Render the template as a string.
+
+ The string representation of the template.
+
+
+
+ The tokens parsed from the template.
+
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ Supplies culture-specific formatting information, or null.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ When is null
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ A property value corresponding to a simple, scalar type.
+
+
+
+
+ Scalar value representing .
+
+
+
+
+ Construct a with the specified
+ value.
+
+ The value, which may be null.
+
+
+
+ The value, which may be null.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+ When is null
+
+
+
+ Determine if this instance is equal to .
+
+ The instance to compare with.
+ if the instances are equal; otherwise, .
+
+
+
+ Get a hash code representing the value.
+
+ The instance's hash code.
+
+
+
+ A value represented as an ordered sequence of values.
+
+
+
+
+ Empty sequence of values.
+
+
+
+
+ Create a with the provided .
+
+ The elements of the sequence.
+ When is null
+
+
+
+ The elements of the sequence.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A value represented as a collection of name-value properties.
+
+
+
+
+ Construct a with the provided properties.
+
+ Optionally, a piece of metadata describing the "type" of the
+ structure. Can be null.
+ The properties of the structure.
+ When is null
+
+
+
+ A piece of metadata describing the "type" of the
+ structure, or null.
+
+
+
+
+ The properties of the structure.
+
+ Not presented as a dictionary because dictionary construction is
+ relatively expensive; it is cheaper to build a dictionary over properties only
+ when the structure is of interest.
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ Predicates applied to log events that can be used
+
+
+
+
+ Matches events from the specified source type.
+
+ The source type.
+ A predicate for matching events.
+
+
+
+ Matches events from the specified source type or namespace and
+ nested types or namespaces.
+
+ A dotted source type or namespace identifier.
+ A function that matches log events emitted by the source.
+ When is null
+
+
+
+ Matches events with the specified property attached,
+ regardless of its value.
+
+ The name of the property to match.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ The property value to match; must be a scalar type.
+ Null is allowed.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ A predicate for testing
+ The type of scalar values to match.
+ A predicate for matching events.
+ When is null
+ When is null
+
+
+
+ Implements the {Level} element.
+ can now have a fixed width applied to it, as well as casing rules.
+ Width is set through formats like "u3" (uppercase three chars),
+ "w1" (one lowercase char), or "t4" (title case four chars).
+
+
+
+
+ A that supports the Serilog
+ message template format. Formatting log events for display
+ has a different set of requirements and expectations from
+ rendering the data within them. To meet this, the formatter
+ overrides some behavior: First, strings are always output
+ as literals (not quoted) unless some other format is applied
+ to them. Second, tokens without matching properties are skipped
+ rather than being written as raw text.
+
+ New code should prefer ExpressionTemplate from Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A message template describing the
+ output messages.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Describes the properties available in standard message template-based
+ output format strings.
+
+
+
+
+ The message rendered from the log event.
+
+
+
+
+ The timestamp of the log event.
+
+
+
+
+ The timestamp of the log event in UTC.
+
+
+
+
+ The level of the log event.
+
+
+
+
+ The id of the trace that was active at the log event's time of creation, if any.
+
+
+
+
+ The id of the span that was active at the log event's time of creation, if any.
+
+
+
+
+ A new line.
+
+
+
+
+ The exception associated with the log event.
+
+
+
+
+ The properties of the log event.
+
+
+
+
+ Formats log events in a textual representation.
+
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+
+
+
+ Formats log events in a simple JSON structure. Instances of this class
+ are safe for concurrent access by multiple threads.
+
+ New code should prefer formatters from Serilog.Formatting.Compact, or ExpressionTemplate from
+ Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A string that will be written after each log event is formatted.
+ If null, will be used.
+ If , the message will be rendered and written to the output as a
+ property named RenderedMessage.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Converts Serilog's structured property value format into JSON.
+
+
+
+
+ Construct a .
+
+ When serializing structured (object) values,
+ the property name to use for the Serilog field
+ in the resulting JSON. If null, no type tag field will be written. The default is
+ "_typeTag".
+
+
+
+ Format as JSON to .
+
+ The value to format
+ The output
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Write a literal as a single JSON value, e.g. as a number or string. Override to
+ support more value types. Don't write arrays/structures through this method - the
+ active destructuring policies have already indicated the value should be scalar at
+ this point.
+
+ The value to write.
+ The output
+
+
+
+ Write a valid JSON string literal, escaping as necessary.
+
+ The string value to write.
+ The output.
+
+
+
+ The core Serilog logging API, used for writing log events.
+
+
+ var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .CreateLogger();
+
+ var thing = "World";
+ log.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its static sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ An optional static entry point for logging that can be easily referenced
+ by different parts of an application. To configure the
+ set the Logger static property to a logger instance.
+
+
+ Log.Logger = new LoggerConfiguration()
+ .WithConsoleSink()
+ .CreateLogger();
+
+ var thing = "World";
+ Log.Logger.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its dynamic sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ The globally-shared logger.
+
+ When is null
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Configuration object for creating instances.
+
+
+
+
+ Construct a .
+
+
+
+
+ Configures the sinks that log events will be emitted to.
+
+
+
+
+ Configures sinks for auditing, instead of regular (safe) logging. When auditing is used,
+ exceptions from sinks and any intermediate filters propagate back to the caller. Most callers
+ should use instead.
+
+
+ Not all sinks are compatible with transactional auditing requirements (many will use asynchronous
+ batching to improve write throughput and latency). Sinks need to opt-in to auditing support by
+ extending , though the generic
+ method allows any sink class to be adapted for auditing.
+
+
+
+
+ Configures the minimum level at which events will be passed to sinks. If
+ not specified, only events at the
+ level and above will be passed through.
+
+ Configuration object allowing method chaining.
+
+
+
+ Configures enrichment of s. Enrichers can add, remove and
+ modify the properties associated with events.
+
+
+
+
+ Configures global filtering of s.
+
+
+
+
+ Configures destructuring of message template parameters.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+
+
+
+ Create a logger using the configured sinks, enrichers and minimum level.
+
+ The logger.
+ To free resources held by sinks ahead of program shutdown,
+ the returned logger may be cast to and
+ disposed.
+ When the logger is already created
+
+
+
+ Extends with additional methods.
+
+
+
+
+ Create a logger that enriches log events when the specified level is enabled.
+
+ The type of the property value.
+ The logger.
+ The log event level used to determine if log is enriched with property.
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+ When is null
+
+
+
+ A structure representing the alignment settings to apply when rendering a property.
+
+
+
+
+ Initializes a new instance of .
+
+ The text alignment direction.
+ The width of the text, in characters.
+
+
+
+ The text alignment direction.
+
+
+
+
+ The width of the text.
+
+
+
+
+ Defines the direction of the alignment.
+
+
+
+
+ Text will be left-aligned.
+
+
+
+
+ Text will be right-aligned.
+
+
+
+
+ Instructs the logger on how to store information about provided
+ parameters.
+
+
+
+
+ Convert known types and objects to scalars, arrays to sequences.
+
+
+
+
+ Convert all types to scalar strings. Prefix name with '$'.
+
+
+
+
+ Convert known types to scalars, destructure objects and collections
+ into sequences and structures. Prefix name with '@'.
+
+
+
+
+ Parses message template strings into sequences of text or property
+ tokens.
+
+
+
+
+ Construct a .
+
+
+
+
+ Parse the supplied message template.
+
+ The message template to parse.
+ A sequence of text or property tokens. Where the template
+ is not syntactically valid, text tokens will be returned. The parser
+ will make a best effort to extract valid property tokens even in the
+ presence of parsing issues.
+ When is null
+
+
+
+ An element parsed from a message template string.
+
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ A message template token representing a log event property.
+
+
+
+
+ Construct a .
+
+ The name of the property.
+ The token as it appears in the message template.
+ The format applied to the property, if any.
+ The alignment applied to the property, if any.
+ The destructuring strategy applied to the property, if any.
+ When is null
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ The property name.
+
+
+
+
+ Destructuring strategy applied to the property.
+
+
+
+
+ Format applied to the property.
+
+
+
+
+ Alignment applied to the property.
+
+
+
+
+ if the property name is a positional index; otherwise, .
+
+
+
+
+ Try to get the integer value represented by the property name.
+
+ The integer value, if present.
+ True if the property is positional, otherwise false.
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ A message template token representing literal text.
+
+
+
+
+ Construct a .
+
+ The text of the token.
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ The text of the token.
+
+
+
+
+ Apply upper or lower casing to when is provided.
+ Returns when no or invalid format provided
+
+ The provided with formatting applied
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+
+
+
+
+ Class that provides reusable StringWriters to reduce memory allocations
+
+
+
+
+ Max capacity of StringBuilder we keep for next using.
+
+
+
+
+ Gets already created StringWriter if there is one available or creates a new one.
+
+
+
+
+
+ Clear this instance and prepare it for reuse in the future.
+
+
+
+
+ Contains "fake extension" methods for the Serilog configuration API.
+ By default the settings knows how to find extension methods, but some configuration
+ are actually "regular" method calls and would not be found otherwise.
+
+ This static class contains internal methods that can be used instead.
+
+ See also
+
+
+
+
+ A super-simple, cut-down subset of `System.TimeProvider` which we use internally to avoid a package dependency
+ on platforms without it.
+
+
+
+
+ Specifies that null is allowed as an input even if the corresponding type disallows it.
+
+
+
+
+ Specifies that null is disallowed as an input even if the corresponding type allows it.
+
+
+
+
+ Applied to a method that will never return under any circumstance.
+
+
+
+
+ Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
+
+
+
+
+ Initializes the attribute with the specified parameter value.
+
+
+ The condition parameter value. Code after the method will be considered unreachable
+ by diagnostics if the argument to the associated parameter matches this value.
+
+
+
+
+ Gets the condition parameter value.
+
+
+
+
+ Indicates that an API is experimental and it may change in the future.
+
+
+ This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
+ feature is used. Authors can use this attribute to ship preview features in their assemblies.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+
+
+ Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The unique diagnostic ID.
+
+ The diagnostic ID is shown in build output for warnings and errors.
+ This property represents the unique ID that can be used to suppress the warnings or errors, if needed.
+
+
+
+
+ Gets or sets the URL for corresponding documentation.
+ The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
+
+ The format string that represents a URL to corresponding documentation.
+ An example format string is https://contoso.com/obsoletion-warnings/{0}.
+
+
+
+ Specifies that an output may be null even if the corresponding type disallows it.
+
+
+
+
+ Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it.
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter may be null.
+
+
+
+ Gets the return value condition.
+
+
+
+
+ Specifies that the method or property will ensure that the listed field and property members have not-null values.
+
+
+
+
+ Initializes the attribute with a field or property member.
+
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the list of field and property members.
+
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets field or property member names.
+
+
+
+
+ Specifies that the method or property will ensure that the listed field and property
+ members have not-null values when returning with the specified return value condition.
+
+
+
+
+ Initializes the attribute with the specified return value condition and a field or property member.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the specified return value condition and list of field and property members.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets the return value condition.
+
+
+
+
+ Gets field or property member names.
+
+
+
+
+ Specifies that an output will not be null even if the corresponding type allows it.
+ Specifies that an input argument was not null when the call returns.
+
+
+
+
+ Specifies that the output will be non-null if the named parameter is non-null.
+
+
+
+
+ Initializes the attribute with the associated parameter name.
+
+ The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
+
+
+
+ Gets the associated parameter name.
+
+
+
+
+ Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+ Gets the return value condition.
+
+
+
+ Specifies that this constructor sets all required members for the current type,
+ and callers do not need to set any required members themselves.
+
+
+
+
+ Specifies the syntax used in a string.
+
+
+
+
+ Initializes the with the identifier of the syntax used.
+
+ The syntax identifier.
+
+
+ Initializes the with the identifier of the syntax used.
+ The syntax identifier.
+ Optional arguments associated with the specific syntax employed.
+
+
+ Gets the identifier of the syntax used.
+
+
+ Optional arguments associated with the specific syntax employed.
+
+
+ The syntax identifier for strings containing composite formats for string formatting.
+
+
+ The syntax identifier for strings containing date format specifiers.
+
+
+ The syntax identifier for strings containing date and time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing JavaScript Object Notation (JSON).
+
+
+ The syntax identifier for strings containing numeric format specifiers.
+
+
+ The syntax identifier for strings containing regular expressions.
+
+
+ The syntax identifier for strings containing time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing URIs.
+
+
+ The syntax identifier for strings containing XML.
+
+
+
+ Used to indicate a byref escapes and is not scoped.
+
+
+
+ There are several cases where the C# compiler treats a as implicitly
+ - where the compiler does not allow the to escape the method.
+
+
+ For example:
+
+ - for instance methods.
+ - parameters that refer to types.
+ - parameters.
+
+
+
+ This attribute is used in those instances where the should be allowed to escape.
+
+
+ Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
+ API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
+
+
+
+
+
+ Indicates that certain members on a specified are accessed dynamically,
+ for example through .
+
+
+ This allows tools to understand which members are being accessed during the execution
+ of a program.
+
+ This attribute is valid on members whose type is or .
+
+ When this attribute is applied to a location of type , the assumption is
+ that the string represents a fully qualified type name.
+
+ When this attribute is applied to a class, interface, or struct, the members specified
+ can be accessed dynamically on instances returned from calling
+ on instances of that class, interface, or struct.
+
+ If the attribute is applied to a method it's treated as a special case and it implies
+ the attribute should be applied to the "this" parameter of the method. As such the attribute
+ should only be used on instance methods of types assignable to System.Type (or string, but no methods
+ will use it there).
+
+
+
+
+ Initializes a new instance of the class
+ with the specified member types.
+
+ The types of members dynamically accessed.
+
+
+
+ Gets the which specifies the type
+ of members dynamically accessed.
+
+
+
+
+ Specifies the types of members that are dynamically accessed.
+
+ This enumeration has a attribute that allows a
+ bitwise combination of its member values.
+
+
+
+
+ Specifies no members.
+
+
+
+
+ Specifies the default, parameterless public constructor.
+
+
+
+
+ Specifies all public constructors.
+
+
+
+
+ Specifies all non-public constructors.
+
+
+
+
+ Specifies all public methods.
+
+
+
+
+ Specifies all non-public methods.
+
+
+
+
+ Specifies all public fields.
+
+
+
+
+ Specifies all non-public fields.
+
+
+
+
+ Specifies all public nested types.
+
+
+
+
+ Specifies all non-public nested types.
+
+
+
+
+ Specifies all public properties.
+
+
+
+
+ Specifies all non-public properties.
+
+
+
+
+ Specifies all public events.
+
+
+
+
+ Specifies all non-public events.
+
+
+
+
+ Specifies all interfaces implemented by the type.
+
+
+
+
+ Specifies all members.
+
+
+
+
+ States a dependency that one member has on another.
+
+
+ This can be used to inform tooling of a dependency that is otherwise not evident purely from
+ metadata and IL, for example a member relied on via reflection.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on the same type as the consumer.
+
+ The signature of the member depended on.
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on a .
+
+ The signature of the member depended on.
+ The containing .
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on a type in an assembly.
+
+ The signature of the member depended on.
+ The full name of the type containing the specified member.
+ The assembly name of the type containing the specified member.
+
+
+
+ Initializes a new instance of the class
+ with the specified types of members on a .
+
+ The types of members depended on.
+ The containing the specified members.
+
+
+
+ Initializes a new instance of the class
+ with the specified types of members on a type in an assembly.
+
+ The types of members depended on.
+ The full name of the type containing the specified members.
+ The assembly name of the type containing the specified members.
+
+
+
+ Gets the signature of the member depended on.
+
+
+ Either must be a valid string or
+ must not equal , but not both.
+
+
+
+
+ Gets the which specifies the type
+ of members depended on.
+
+
+ Either must be a valid string or
+ must not equal , but not both.
+
+
+
+
+ Gets the containing the specified member.
+
+
+ If neither nor are specified,
+ the type of the consumer is assumed.
+
+
+
+
+ Gets the full name of the type containing the specified member.
+
+
+ If neither nor are specified,
+ the type of the consumer is assumed.
+
+
+
+
+ Gets the assembly name of the specified type.
+
+
+ is only valid when is specified.
+
+
+
+
+ Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG".
+
+
+
+
+ Indicates that the specified member requires assembly files to be on disk.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A message that contains information about the need for assembly files to be on disk.
+
+
+
+
+ Gets an optional message that contains information about the need for
+ assembly files to be on disk.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the member,
+ why it requires assembly files to be on disk, and what options a consumer has
+ to deal with it.
+
+
+
+
+ Indicates that the specified method requires the ability to generate new code at runtime,
+ for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when compiling ahead of time.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets a message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires dynamic code, and what options a consumer has to deal with it.
+
+
+
+
+ Indicates that the specified method requires dynamic access to code that is not referenced
+ statically, for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when removing unreferenced
+ code from an application.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of unreferenced code.
+
+
+
+
+ Gets a message that contains information about the usage of unreferenced code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires unreferenced code, and what options a consumer has to deal with it.
+
+
+
+
+ Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
+ single code artifact.
+
+
+ is different than
+ in that it doesn't have a
+ . So it is always preserved in the compiled assembly.
+
+
+
+
+ Initializes a new instance of the
+ class, specifying the category of the tool and the identifier for an analysis rule.
+
+ The category for the attribute.
+ The identifier of the analysis rule the attribute applies to.
+
+
+
+ Gets the category identifying the classification of the attribute.
+
+
+ The property describes the tool or tool analysis category
+ for which a message suppression attribute applies.
+
+
+
+
+ Gets the identifier of the analysis tool rule to be suppressed.
+
+
+ Concatenated together, the and
+ properties form a unique check identifier.
+
+
+
+
+ Gets or sets the scope of the code that is relevant for the attribute.
+
+
+ The Scope property is an optional argument that specifies the metadata scope for which
+ the attribute is relevant.
+
+
+
+
+ Gets or sets a fully qualified path that represents the target of the attribute.
+
+
+ The property is an optional argument identifying the analysis target
+ of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
+ Because it is fully qualified, it can be long, particularly for targets such as parameters.
+ The analysis tool user interface should be capable of automatically formatting the parameter.
+
+
+
+
+ Gets or sets an optional argument expanding on exclusion criteria.
+
+
+ The property is an optional argument that specifies additional
+ exclusion where the literal metadata target is not sufficiently precise. For example,
+ the cannot be applied within a method,
+ and it may be desirable to suppress a violation against a statement in the method that will
+ give a rule violation, but not against all statements in the method.
+
+
+
+
+ Gets or sets the justification for suppressing the code analysis message.
+
+
+
+
+ Types and Methods attributed with StackTraceHidden will be omitted from the stack trace text shown in StackTrace.ToString()
+ and Exception.StackTrace
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Represent a type can be used to index a collection either from the start or the end.
+
+ Index is used by the C# compiler to support the new index syntax
+
+ int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ;
+ int lastElement = someArray[^1]; // lastElement = 5
+
+
+
+
+ Construct an Index using a value and indicating if the index is from the start or from the end.
+ The index value. it has to be zero or positive number.
+ Indicating if the index is from the start or from the end.
+
+ If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element.
+
+
+
+ Create an Index pointing at first element.
+
+
+ Create an Index pointing at beyond last element.
+
+
+ Create an Index from the start at the position indicated by the value.
+ The index value from the start.
+
+
+ Create an Index from the end at the position indicated by the value.
+ The index value from the end.
+
+
+ Returns the index value.
+
+
+ Indicates whether the index is from the start or the end.
+
+
+ Calculate the offset from the start using the giving collection length.
+ The length of the collection that the Index will be used with. length has to be a positive value
+
+ For performance reason, we don't validate the input length parameter and the returned offset value against negative values.
+ we don't validate either the returned offset is greater than the input length.
+ It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and
+ then used to index a collection will get out of range exception which will be same affect as the validation.
+
+
+
+ Indicates whether the current Index object is equal to another object of the same type.
+ An object to compare with this object
+
+
+ Indicates whether the current Index object is equal to another Index object.
+ An object to compare with this object
+
+
+ Returns the hash code for this instance.
+
+
+ Converts integer number to an Index.
+
+
+ Converts the value of the current Index object to its equivalent string representation.
+
+
+ Represent a range has start and end indexes.
+
+ Range is used by the C# compiler to support the range syntax.
+
+ int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
+ int[] subArray1 = someArray[0..2]; // { 1, 2 }
+ int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 }
+
+
+
+
+ Represent the inclusive start index of the Range.
+
+
+ Represent the exclusive end index of the Range.
+
+
+ Construct a Range object using the start and end indexes.
+ Represent the inclusive start index of the range.
+ Represent the exclusive end index of the range.
+
+
+ Indicates whether the current Range object is equal to another object of the same type.
+ An object to compare with this object
+
+
+ Indicates whether the current Range object is equal to another Range object.
+ An object to compare with this object
+
+
+ Returns the hash code for this instance.
+
+
+ Converts the value of the current Range object to its equivalent string representation.
+
+
+ Create a Range object starting from start index to the end of the collection.
+
+
+ Create a Range object starting from first element in the collection to the end Index.
+
+
+ Create a Range object starting from first element to the end.
+
+
+ Calculate the start offset and length of range object using a collection length.
+ The length of the collection that the range will be used with. length has to be a positive value.
+
+ For performance reason, we don't validate the input length parameter against negative values.
+ It is expected Range will be used with collections which always have non negative length/count.
+ We validate the range is inside the length scope though.
+
+
+
+
+ An attribute that allows parameters to receive the expression of other parameters.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The condition parameter value.
+
+
+
+ Gets the parameter name the expression is retrieved from.
+
+
+
+
+ Initialize the attribute to refer to the method on the type.
+
+ The type of the builder to use to construct the collection.
+ The name of the method on the builder to use to construct the collection.
+
+ must refer to a static method that accepts a single parameter of
+ type and returns an instance of the collection being built containing
+ a copy of the data from that span. In future releases of .NET, additional patterns may be supported.
+
+
+
+
+ Gets the type of the builder to use to construct the collection.
+
+
+
+
+ Gets the name of the method on the builder to use to construct the collection.
+
+
+ This should match the metadata name of the target method.
+ For example, this might be ".ctor" if targeting the type's constructor.
+
+
+
+
+ Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
+
+
+
+
+ Creates a new instance of the type.
+
+ The name of the feature to indicate.
+
+
+
+ The name of the compiler feature.
+
+
+
+
+ If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand .
+
+
+
+
+ The used for the ref structs C# feature.
+
+
+
+
+ The used for the required members C# feature.
+
+
+
+
+ Indicates which arguments to a method involving an interpolated string handler should be passed to that handler.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the argument that should be passed to the handler.
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Initializes a new instance of the class.
+
+ The names of the arguments that should be passed to the handler.
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Gets the names of the arguments that should be passed to the handler.
+
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Indicates the attributed type is to be used as an interpolated string handler.
+
+
+
+
+ Reserved to be used by the compiler for tracking metadata.
+ This class should not be used by developers in source code.
+
+
+
+
+ Used to indicate to the compiler that a method should be called
+ in its containing module's initializer.
+
+
+ When one or more valid methods
+ with this attribute are found in a compilation, the compiler will
+ emit a module initializer which calls each of the attributed methods.
+
+ Certain requirements are imposed on any method targeted with this attribute:
+ - The method must be `static`.
+ - The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc.
+ - The method must be parameterless.
+ - The method must return `void`.
+ - The method must not be generic or be contained in a generic type.
+ - The method's effective accessibility must be `internal` or `public`.
+
+ The specification for module initializers in the .NET runtime can be found here:
+ https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer
+
+
+
+
+ Specifies that a type has required members or that a member is required.
+
+
+
+
+ Reserved for use by a compiler for tracking metadata.
+ This attribute should not be used by developers in source code.
+
+
+
+
+ Used to indicate to the compiler that the .locals init flag should not be set in method headers.
+
+
+
+
+ Disables the built-in runtime managed/unmanaged marshalling subsystem for
+ P/Invokes, Delegate types, and unmanaged function pointer invocations.
+
+
+ The built-in marshalling subsystem has some behaviors that cannot be changed due to
+ backward-compatibility requirements. This attribute allows disabling the built-in
+ subsystem and instead uses the following rules for P/Invokes, Delegates,
+ and unmanaged function pointer invocations:
+
+ - All value types that do not contain reference type fields recursively (unmanaged in C#) are blittable
+ - Value types that recursively have any fields that have [StructLayout(LayoutKind.Auto)] are disallowed from interop.
+ - All reference types are disallowed from usage in interop scenarios.
+ - SetLastError support in P/Invokes is disabled.
+ - varargs support is disabled.
+ - LCIDConversionAttribute support is disabled.
+
+
+
+
+ Provides access to an inaccessible member of a specific type.
+
+
+ This attribute may be applied to an extern static method.
+ The implementation of the extern static method annotated with
+ this attribute will be provided by the runtime based on the information in
+ the attribute and the signature of the method that the attribute is applied to.
+ The runtime will try to find the matching method or field and forward the call
+ to it. If the matching method or field is not found, the body of the extern
+ method will throw or .
+ Only the specific type defined will be examined for inaccessible members. The type hierarchy
+ is not walked looking for a match.
+
+ For ,
+ ,
+ ,
+ and , the type of
+ the first argument of the annotated extern method identifies the owning type.
+ The value of the first argument is treated as this pointer for instance fields and methods.
+ The first argument must be passed as ref for instance fields and methods on structs.
+ The value of the first argument is not used by the implementation for static fields and methods.
+
+ Return type is considered for the signature match. modreqs and modopts are initially not considered for
+ the signature match. However, if an ambiguity exists ignoring modreqs and modopts, a precise match
+ is attempted. If an ambiguity still exists is thrown.
+
+ By default, the attributed method's name dictates the name of the method/field. This can cause confusion
+ in some cases since language abstractions, like C# local functions, generate mangled IL names. The
+ solution to this is to use the nameof mechanism and define the property.
+
+
+ public void Method(Class c)
+ {
+ PrivateMethod(c);
+
+ [UnsafeAccessor(UnsafeAccessorKind.Method, Name = nameof(PrivateMethod))]
+ extern static void PrivateMethod(Class c);
+ }
+
+
+
+
+
+ Instantiates an
+ providing access to a member of kind .
+
+ The kind of the target to which access is provided.
+
+
+
+ Gets the kind of member to which access is provided.
+
+
+
+
+ Gets or sets the name of the member to which access is provided.
+
+
+ The name defaults to the annotated method name if not specified.
+ The name must be unset/null for .
+
+
+
+
+ Specifies the kind of target to which an is providing access.
+
+
+
+
+ Provide access to a constructor.
+
+
+
+
+ Provide access to a method.
+
+
+
+
+ Provide access to a static method.
+
+
+
+
+ Provide access to a field.
+
+
+
+
+ Provide access to a static field.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified message.
+
+ An optional message associated with this attribute instance.
+
+
+
+ Returns the optional message associated with this attribute instance.
+
+
+
+
+ Returns the optional URL associated with this attribute instance.
+
+
+
+
+ Marks APIs that were obsoleted in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that should not be used anymore.
+
+
+
+
+ Records the operating system (and minimum version) that supports an API. Multiple attributes can be
+ applied to indicate support on multiple operating systems.
+
+
+ Callers can apply a
+ or use guards to prevent calls to APIs on unsupported operating systems.
+
+ A given platform should only be specified once.
+
+
+
+
+ Annotates a custom guard field, property or method with a supported platform name and optional version.
+ Multiple attributes can be applied to indicate guard for multiple supported platforms.
+
+
+ Callers can apply a to a field, property or method
+ and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
+
+ The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
+
+
+
+
+ Records the platform that the project targeted.
+
+
+
+
+ Marks APIs that were removed in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that are only available in
+ earlier versions.
+
+
+
+
+ Annotates the custom guard field, property or method with an unsupported platform name and optional version.
+ Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
+
+
+ Callers can apply a to a field, property or method
+ and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
+
+ The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
+
+
+
+
+ Indicates that the instance's storage is sequentially replicated "length" times.
+
+
+
+ This attribute can be used to annotate a type with a single field.
+ The runtime will replicate that field in the actual type layout as many times as is specified.
+
+
+ Here's an example of how an inline array type with 8 values can be declared:
+
+ [InlineArray(8)]
+ struct Float8InlineArray
+ {
+ private float _value;
+ }
+
+
+
+
+
+ Creates a new instance with the specified length.
+ The number of sequential fields to replicate in the inline array type.
+
+
+ Gets the number of sequential fields to replicate in the inline array type.
+
+
+
+ An attribute used to indicate a GC transition should be skipped when making an unmanaged function call.
+
+
+ Example of a valid use case. The Win32 `GetTickCount()` function is a small performance related function
+ that reads some global memory and returns the value. In this case, the GC transition overhead is significantly
+ more than the memory read.
+
+ using System;
+ using System.Runtime.InteropServices;
+ class Program
+ {
+ [DllImport("Kernel32")]
+ [SuppressGCTransition]
+ static extern int GetTickCount();
+ static void Main()
+ {
+ Console.WriteLine($"{GetTickCount()}");
+ }
+ }
+
+
+
+ This attribute is ignored if applied to a method without the .
+
+ Forgoing this transition can yield benefits when the cost of the transition is more than the execution time
+ of the unmanaged function. However, avoiding this transition removes some of the guarantees the runtime
+ provides through a normal P/Invoke. When exiting the managed runtime to enter an unmanaged function the
+ GC must transition from Cooperative mode into Preemptive mode. Full details on these modes can be found at
+ https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-code-guide.md#2.1.8.
+ Suppressing the GC transition is an advanced scenario and should not be done without fully understanding
+ potential consequences.
+
+ One of these consequences is an impact to Mixed-mode debugging (https://docs.microsoft.com/visualstudio/debugger/how-to-debug-in-mixed-mode).
+ During Mixed-mode debugging, it is not possible to step into or set breakpoints in a P/Invoke that
+ has been marked with this attribute. A workaround is to switch to native debugging and set a breakpoint in the native function.
+ In general, usage of this attribute is not recommended if debugging the P/Invoke is important, for example
+ stepping through the native code or diagnosing an exception thrown from the native code.
+
+ The runtime may load the native library for method marked with this attribute in advance before the method is called for the first time.
+ Usage of this attribute is not recommended for platform neutral libraries with conditional platform specific code.
+
+ The P/Invoke method that this attribute is applied to must have all of the following properties:
+ * Native function always executes for a trivial amount of time (less than 1 microsecond).
+ * Native function does not perform a blocking syscall (e.g. any type of I/O).
+ * Native function does not call back into the runtime (e.g. Reverse P/Invoke).
+ * Native function does not throw exceptions.
+ * Native function does not manipulate locks or other concurrency primitives.
+
+ Consequences of invalid uses of this attribute:
+ * GC starvation.
+ * Immediate runtime termination.
+ * Data corruption.
+
+
+
+
+ Any method marked with can be directly called from
+ native code. The function token can be loaded to a local variable using the address-of operator
+ in C# and passed as a callback to a native method.
+
+
+ Methods marked with this attribute have the following restrictions:
+ * Method must be marked "static".
+ * Must not be called from managed code.
+ * Must only have blittable arguments.
+
+
+
+
+ Optional. If omitted, the runtime will use the default platform calling convention.
+
+
+ Supplied types must be from the official "System.Runtime.CompilerServices" namespace and
+ be of the form "CallConvXXX".
+
+
+
+
+ Optional. If omitted, no named export is emitted during compilation.
+
+
+
+
diff --git a/packages/Serilog.4.2.0/lib/net6.0/Serilog.dll b/packages/Serilog.4.2.0/lib/net6.0/Serilog.dll
new file mode 100644
index 0000000..eb19d1c
Binary files /dev/null and b/packages/Serilog.4.2.0/lib/net6.0/Serilog.dll differ
diff --git a/packages/Serilog.4.2.0/lib/net6.0/Serilog.xml b/packages/Serilog.4.2.0/lib/net6.0/Serilog.xml
new file mode 100644
index 0000000..39c9880
--- /dev/null
+++ b/packages/Serilog.4.2.0/lib/net6.0/Serilog.xml
@@ -0,0 +1,5377 @@
+
+
+
+ Serilog
+
+
+
+
+ Recursively traverses a multidimensional array and constructs a nested SequenceValue representation.
+
+ The multidimensional array to traverse.
+ An array of indices representing the current position in each dimension.
+ The current dimension being processed.
+ The destructuring strategy.
+ A LogEventPropertyValue representing the array's structure and elements.
+
+
+
+ Create properties based on an ordered list of provided values.
+
+ The template that the parameters apply to.
+ Objects corresponding to the properties
+ represented in the message template.
+ A list of properties; if the template is malformed then
+ this will be empty.
+
+
+
+ True if compiler-generated types are treated specially by Serilog during logging. The main example
+ of this would be anonymous types, which have a special compiler-generated form. If this switch is
+ disabled, Serilog will not be able to destructure anonymous types, but will still be able to log
+ them as scalar values.
+
+
+
+
+ Initialization options for .
+
+
+
+
+ Eagerly emit a batch containing the first received event, regardless of
+ the target batch size or batching time. This helps with perceived "liveness"
+ when running/debugging applications interactively. The default is true.
+
+
+
+
+ The maximum number of events to include in a single batch. The default is 1000.
+
+
+
+
+ The maximum delay between event batches. The default is two seconds. If a batch can be filled
+ before the buffering time limit is reached, it will be emitted without waiting.
+
+
+
+
+ Maximum number of events to hold in the sink's internal queue, or null
+ for an unbounded queue. The default is 100000. When the limit is exceeded,
+ backpressure is applied.
+
+
+
+
+ The maximum time that the sink will keep retrying failed batches for. The default is ten minutes. Lower
+ this value to reduce buffering and backpressure in high-load scenarios.
+
+
+
+
+ Implemented on types that apply settings to a logger configuration.
+
+
+
+
+ Apply the settings to the logger configuration.
+
+ The logger configuration to apply settings to.
+
+
+
+ Controls audit sink configuration.
+
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+
+
+
+ Controls template parameter destructuring configuration.
+
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances with the provided policies.
+
+ Policies to apply when destructuring.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ When destructuring objects, transform instances with the provided policy.
+
+ Policy to apply when destructuring.
+ Configuration object allowing method chaining.
+
+
+
+ Capture instances of the specified type as dictionaries.
+ By default, only concrete instantiations of are considered dictionary-like.
+
+ Type of dictionary.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function.
+
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function, if the predicate returns true. Be careful to avoid any
+ intensive work in the predicate, as it can slow down the pipeline significantly.
+
+ A predicate used to determine if the transform applies to
+ a specific type of value
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ When destructuring objects, depth will be limited to 10 property traversals deep to
+ guard against ballooning space when recursive/cyclic structures are accidentally passed. To
+ change this limit pass a new maximum depth.
+
+ The maximum depth to use.
+ Configuration object allowing method chaining.
+ When is negative
+
+
+
+ When destructuring objects, string values can be restricted to specified length
+ thus avoiding bloating payload. Limit is applied to each value separately,
+ sum of length of strings can exceed limit.
+
+ The maximum string length.
+ Configuration object allowing method chaining.
+ When is less than 2
+
+
+
+ When destructuring objects, collections be restricted to specified count
+ thus avoiding bloating payload. Limit is applied to each collection separately,
+ sum of length of collection can exceed limit.
+ Applies limit to all including dictionaries.
+
+ Configuration object allowing method chaining.
+ When is less than 1
+
+
+
+ Controls enrichment configuration.
+
+
+
+
+ Specifies one or more enrichers that may add properties dynamically to
+ log events.
+
+ Enrichers to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Specifies an enricher that may add properties dynamically to
+ log events.
+
+ Enricher type to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+
+
+
+ Include the specified property value in all events logged to the logger.
+
+ The name of the property to add.
+ The property value to add.
+ If , objects of unknown type will be logged as structures; otherwise they will be converted using .
+ Configuration object allowing method chaining.
+
+
+
+ Enrich log events with properties from .
+
+ Configuration object allowing method chaining.
+
+ Configuration object allowing method chaining.
+
+
+
+ Apply an enricher only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be enriched.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to .
+
+ The level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to the level specified by .
+
+ A that specifies the level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Helper method for wrapping sinks.
+
+ The parent enrichment configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures enrichers to be wrapped in .
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+ When is null
+
+
+
+ Controls filter configuration.
+
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+
+
+
+ Filter out log events that match a predicate.
+
+ Function that returns true when an event
+ should be excluded (silenced).
+ Configuration object allowing method chaining.
+
+
+
+ Filter log events to include only those that match a predicate.
+
+ Function that returns true when an event
+ should be included (emitted).
+ Configuration object allowing method chaining.
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Sets the minimum level at which events will be passed to sinks.
+
+ The minimum level to set.
+ Configuration object allowing method chaining.
+
+
+
+ Sets the minimum level to be dynamically controlled by the provided switch.
+
+ The switch.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+ Configuration object allowing method chaining.
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+ Configuration object allowing method chaining.
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+ Configuration object allowing method chaining.
+
+
+
+ Service is degraded or endangered.
+
+ Configuration object allowing method chaining.
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+ Configuration object allowing method chaining.
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+ Configuration object allowing method chaining.
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The switch controlling loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+ When a trimmed is empty
+ When is null
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The minimum level applied to loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Allows additional setting sources to drive the logger configuration.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Apply settings specified in the Serilog key-value setting format to the logger configuration.
+
+ A list of key-value pairs describing logger settings.
+ Configuration object allowing method chaining.
+ In case of duplicate keys, the last value for the key is kept and the previous ones are ignored.
+ When is null
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink.
+
+ Configuration object allowing method chaining.
+ Sink configuration methods that specify should also specify .
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to an . Events will be internally buffered, and
+ written to the sink in batches.
+
+ The batched sink to receive events.
+ Options that control batch sizes, buffering time, and backpressure.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger.
+ Whether to shut down automatically the sub-logger
+ when the parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write to a sink only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be written to the configured sink.
+ An action that configures the wrapped sink.
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+
+
+
+ Write to a sink, and if the sink is unable to record the event, write to a second sink. Additional sinks can
+ be added to the chain if necessary.
+
+ A callback to configure the first sink to try. The argument to the callback supports
+ the same syntax as the WriteTo configuration object.
+ A callback to configure the second sink.
+ Additional callbacks to configure more sinks in the fallback chain.
+ Configuration object allowing method chaining.
+ When any argument is null.
+
+ Fallbacks rely on the target sink either a) synchronously throwing exceptions on failure, or b) implementing the
+ interface.
+
+
+
+
+
+ Helper method for constructing wrapper sinks.
+
+ The parent sink configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing wrapper sinks. This may be preferred over because it handles
+ delegation of through to the wrapped sink in cases where the wrapper is not
+ disposable.
+
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The wrapper, or a sink that will handle invoking the wrapper.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing sinks outside of a logger pipeline.
+
+ An action that configures one or more sinks.
+ If only a single sink is configured,
+ it will be returned from . If zero or many sinks are configured, they will be combined
+ in an aggregating wrapper.
+ When is null.
+
+
+
+ Holds ambient properties that can be attached to log events. To
+ configure, use the method.
+
+
+ Configuration:
+
+ var log = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ ...
+
+ Usage:
+
+ using (LogContext.PushProperty("MessageId", message.Id))
+ {
+ Log.Information("The MessageId property will be attached to this event");
+ }
+
+
+ The scope of the context is the current logical thread, using AsyncLocal
+ (and so is preserved across async/await calls).
+
+
+
+ Push a property onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ The name of the property.
+ The value of the property.
+ A handle to later remove the property from the context.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ A token that must be disposed, in order, to pop properties back off the stack.
+
+
+
+ Push an enricher onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ An enricher to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Push multiple enrichers onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ .
+ Enrichers to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Obtain an enricher that represents the current contents of the . This
+ can be pushed back onto the context in a different location/thread when required.
+
+ An enricher that represents the current contents of the .
+
+
+
+ Remove all enrichers from the , returning an
+ that must later be used to restore enrichers that were on the stack before was called.
+
+ A token that must be disposed, in order, to restore properties back to the stack.
+
+
+
+ Remove all enrichers from for the current async scope.
+
+
+
+
+ Constants used in the core logging pipeline and associated types.
+
+
+
+
+ The name of the property included in the emitted log events
+ when ForContext<T>() and overloads are
+ applied.
+
+
+
+
+ Adds a new property enricher to the log event.
+
+
+
+
+ Create a new property enricher.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+ When is null
+ When is null
+
+
+
+ A destination that accepts events in batches. Many sinks gain a performance advantage by handling events in batches,
+ for example to combine multiple events into a single network request to a remote collector. Because the client
+ application cannot wait for every event to be flushed when batching is used, batched sinks normally work
+ asynchronously to conserve local resources while batches are sent.
+
+
+
+
+
+ Emit a batch of log events, asynchronously.
+
+ The batch of events to emit.
+ Implementers should allow exceptions to propagate when batches fail. The batching infrastructure
+ handles exception handling, diagnostics, and retries.
+
+
+
+ Allows sinks to perform periodic work without requiring additional threads
+ or timers (thus avoiding additional flush/shut-down complexity).
+
+
+
+
+ Determine how, when destructuring, a supplied value is represented
+ as a complex log event property.
+
+
+
+
+ If supported, destructure the provided value.
+
+ The value to destructure.
+ Recursively apply policies to destructure additional values.
+ The destructured value, or null.
+ True if the value could be destructured under this policy.
+
+
+
+ Applied during logging to add additional information to log events.
+
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+
+
+
+ Provides filtering of the log event stream.
+
+
+
+
+ Returns true if the provided event is enabled. Otherwise, .
+
+ The event to test.
+ if the event is enabled by this filter. If
+ is returned, the event will not be emitted.
+
+
+
+ Creates log event properties from regular .NET objects, applying policies as
+ required.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ Created instance.
+
+
+
+ Supports the policy-driven construction of s given
+ regular .NET objects.
+
+
+
+
+ Create a given a .NET object and destructuring
+ strategy.
+
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ The value.
+
+
+
+ A destination for log events.
+
+
+
+
+
+ Emit the provided log event to the sink.
+
+ The log event to write.
+
+ Implementers should allow exceptions to propagate when event emission fails. The logger will handle
+ exceptions and produce diagnostics appropriately.
+
+
+
+ Implementers can be notified of various failure conditions in the Serilog pipeline.
+
+
+
+
+ A logging feature has failed. Often, failures will communicate errors encountered when writing
+ log events to sinks.
+
+ The object that generated or observed the failure.
+ An indication of the failure kind.
+ A description of the failure.
+ Events associated with the failure.
+ The exception triggering the failure, if any.
+
+
+
+ Determine how a simple value is carried through the logging
+ pipeline as an immutable .
+
+
+
+
+ If supported, convert the provided value into an immutable scalar.
+
+ The value to convert.
+ The converted value, or null.
+ True if the value could be converted under this policy.
+
+
+
+ Implemented by sinks that can report failures through an .
+
+
+
+
+ Set the (single) failure listener that the sink should use to report failures. This method must
+ be called only during initialization, on the initialization thread, before logging has started.
+
+ The listener through which to report failures.
+
+
+
+ The core Serilog logging pipeline. A must
+ be disposed to flush any events buffered within it. Most application
+ code should depend on , not this class.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Determine if events at the specified level, and higher, will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ An instance that efficiently ignores all method calls.
+
+
+
+
+ Describes the reason for a logging failure.
+
+
+
+
+ A failure has occured; the situation may resolve and if any events are associated with the failure,
+ logging will be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; any events associated with the failure will not be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; the reporting sink is going offline and no retries will be attempted.
+
+
+
+
+ Dynamically controls logging level.
+
+
+
+
+ Create a at the initial
+ minimum level.
+
+ The initial level to which the switch is set.
+
+
+
+ The event arises when changed. Note that the event is raised
+ under a lock so be careful within event handler to not fall into deadlock.
+
+
+
+
+ The current minimum level, below which no events
+ should be generated.
+
+
+
+
+ Event arguments for event.
+
+
+
+
+ Creates an instance of specifying old and new levels.
+
+ Old level.
+ New level.
+
+
+
+ Old level.
+
+
+
+
+ New level.
+
+
+
+
+ Indicates that the marked method logs data using a message template and (optional) arguments.
+ The name of the parameter which contains the message template should be given in the constructor.
+
+
+
+ [MessageTemplateFormatMethod("messageTemplate")]
+ public void Information(string messageTemplate, params object[] propertyValues)
+ {
+ // Do something
+ }
+
+ public void Foo()
+ {
+ Information("Hello, {Name}!") // Warning: Nonexistent argument in message template.
+ }
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the message template parameter.
+
+
+
+ Gets the name of the message template parameter.
+
+ The name of the message template parameter.
+
+
+
+ Buffers log events into batches for background flushing.
+
+
+
+
+ Construct a .
+
+ A to send log event batches to. Batches and empty
+ batch notifications will not be sent concurrently. When the is disposed,
+ it will dispose this object if possible.
+ Options controlling behavior of the sink.
+
+
+
+ Emit the provided log event to the sink. If the sink is being disposed or
+ the app domain unloaded, then the event is ignored.
+
+ Log event to emit.
+ The event is null.
+
+ The sink implements the contract that any events whose Emit() method has
+ completed at the time of sink disposal will be flushed (or attempted to,
+ depending on app domain state).
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Manages reconnection period and transient fault response for .
+ During normal operation an object of this type will simply echo the configured batch transmission
+ period. When availability fluctuates, the class tracks the number of failed attempts, each time
+ increasing the interval before reconnection is attempted (up to a set maximum) and at predefined
+ points indicating that either the current batch, or entire waiting queue, should be dropped. This
+ Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming
+ back online. Second, the sender needs to account for both bad batches (the first fault response) and
+ also overproduction (the second, queue-dropping response). In combination these should provide a
+ reasonable delivery effort but ultimately protect the sender from memory exhaustion.
+
+
+
+
+ Forwards log events to another logging pipeline. Copies the events so
+ that mutations performed on the copies do not affect the originals.
+
+ The properties dictionary is copied, however the values within
+ the dictionary (of type are expected to
+ be immutable.
+
+
+
+ A base class for visitors that rewrite the value with modifications. For example, implementations
+ might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of
+ one type into scalar properties of another.
+
+
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value of an unsupported type. Returns the value unchanged.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ An abstract base class for visitors that walk data in the
+ format. Subclasses, by
+ overriding appropriate methods, may search for, transform,
+ or print the value structures being visited.
+
+
+ Stateless, designed to accommodate allocation-free visiting of multiple
+ values by the same visitor instance.
+
+ The type of a state object passed through
+ the visiting process.
+ The type of the result generated by visiting
+ a node.
+
+
+
+ Visit the root node type. This method delegates to
+ a concrete Visit*Value() method appropriate for the value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value of an unsupported type. Always throws , when is not overridden.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+ Always
+
+
+
+ May be thrown by log event sinks when a failure occurs. Should not be used in cases
+ where the exception would propagate out to callers.
+
+
+
+
+ Construct a to communicate a logging failure.
+
+ A message describing the logging failure.
+
+
+
+ A simple source of information generated by Serilog itself,
+ for example when exceptions are thrown and caught internally.
+
+
+
+
+ Set the output mechanism for self-log messages.
+
+ A synchronized to which
+ self-log messages will be written.
+ When is null
+
+
+
+ Set the output mechanism for self-log messages.
+
+ An action to invoke with self-log messages.
+ // ReSharper disable once MemberCanBePrivate.Global
+ When is null
+
+
+
+ Clear the output mechanism and disable self-log events.
+
+ // ReSharper disable once MemberCanBePrivate.Global
+
+
+
+ Write a message to the self-log.
+
+ Standard .NET format string containing the message.
+ First argument, if supplied.
+ Second argument, if supplied.
+ Third argument, if supplied.
+
+ The name is historical; because this is used from third-party sink packages, removing the "Line"
+ suffix as would seem sensible isn't worth the breakage.
+
+
+
+
+ An that writes diagnostic information to . Sinks
+ that support failure listeners should use this instance by default.
+
+
+
+
+ A value represented as a mapping from keys to values.
+
+
+
+
+ Create a with the provided .
+
+ The key-value mappings represented in the dictionary.
+ When is null
+
+
+
+ The dictionary mapping.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A property associated with a .
+
+ This type is currently internal, while we consider future directions for the logging pipeline, but should end up public
+ in future.
+
+
+
+ No property.
+
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Permit deconstruction of the property into a name/value pair.
+
+ The name of the property.
+ The value of the property.
+
+
+
+
+
+ Indicates whether this instance and a specified are equal.
+ The to compare with the current instance.
+
+ if and this instance represent the same value; otherwise, .
+
+
+
+
+
+
+ Descriptive aliases for .
+
+ These do not appear as members of the enumeration
+ as duplicated underlying values result in issues when presenting
+ enum values with .
+
+
+
+ The least significant level of event.
+
+
+
+
+ The most significant level of event.
+
+
+
+
+ A value that, when used as a "minimum" level, will result in no
+ events being emitted.
+
+ It is never correct to construct a with this value.
+
+
+
+ A log event.
+
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ When is null
+ When is null
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+
+
+
+ The time at which the event occurred.
+
+
+
+
+ The level of the event.
+
+
+
+
+ The id of the trace that was active when the event was created, if any.
+
+
+
+
+ The id of the span that was active when the event was created, if any.
+
+
+
+
+ The message template describing the event.
+
+
+
+
+ Render the message template to the specified output, given the properties associated
+ with the event.
+
+ The output.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Render the message template given the properties associated
+ with the event, and return the result.
+
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Properties associated with the event, including those presented in .
+
+
+
+
+ An exception associated with the event, or null.
+
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is null
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is default
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is null
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is default
+
+
+
+ Remove a property from the event, if present. Otherwise no action
+ is performed.
+
+ The name of the property to remove.
+
+
+
+ Construct a using pre-allocated values for internal fields. Normally,
+ the constructor allocates a dictionary to back ,
+ so that this is not unexpectedly shared. This is unnecessary in many integration scenarios,
+ leading to an additional nontrivial allocation. This
+ method allows specialized callers to avoid that overhead.
+
+
+ Because this method exposes parameters that essentially map 1:1 with internal fields of ,
+ the parameter list may change across major Serilog versions.
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+ A constructed .
+
+
+
+ Specifies the meaning and relative importance of a log event.
+
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+
+
+
+ Service is degraded or endangered.
+
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+
+
+
+ A property associated with a .
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Construct a from an existing instance.
+
+ The existing property.
+ When is default
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Test to determine if it is a valid property name.
+
+ The name to check.
+ if the name is valid; otherwise, .
+
+
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ The value associated with a . Divided into scalar,
+ sequence and structure values to direct serialization into various formats.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ Formats the value of the current instance using the specified format.
+
+
+ The value of the current instance in the specified format.
+
+ The format to use.-or- A null reference (Nothing in Visual Basic) to use
+ the default format defined for the type of the implementation.
+ The provider to use to format the value.-or- A null reference
+ (Nothing in Visual Basic) to obtain the numeric format information from the current locale
+ setting of the operating system. 2
+
+
+
+ Represents a message template passed to a log method. The template
+ can subsequently render the template in textual form given the list
+ of properties.
+
+
+
+
+ Represents the empty message template.
+
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The text and property tokens defining the template.
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The full text of the template; used by Serilog internally to avoid unneeded
+ string concatenation.
+ The text and property tokens defining the template.
+ When is null
+ When is null
+
+
+
+ Similar to , but faster.
+
+
+
+
+ The raw text describing the template.
+
+
+
+
+ Render the template as a string.
+
+ The string representation of the template.
+
+
+
+ The tokens parsed from the template.
+
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ Supplies culture-specific formatting information, or null.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ When is null
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ A property value corresponding to a simple, scalar type.
+
+
+
+
+ Scalar value representing .
+
+
+
+
+ Construct a with the specified
+ value.
+
+ The value, which may be null.
+
+
+
+ The value, which may be null.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+ When is null
+
+
+
+ Determine if this instance is equal to .
+
+ The instance to compare with.
+ if the instances are equal; otherwise, .
+
+
+
+ Get a hash code representing the value.
+
+ The instance's hash code.
+
+
+
+ A value represented as an ordered sequence of values.
+
+
+
+
+ Empty sequence of values.
+
+
+
+
+ Create a with the provided .
+
+ The elements of the sequence.
+ When is null
+
+
+
+ The elements of the sequence.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A value represented as a collection of name-value properties.
+
+
+
+
+ Construct a with the provided properties.
+
+ Optionally, a piece of metadata describing the "type" of the
+ structure. Can be null.
+ The properties of the structure.
+ When is null
+
+
+
+ A piece of metadata describing the "type" of the
+ structure, or null.
+
+
+
+
+ The properties of the structure.
+
+ Not presented as a dictionary because dictionary construction is
+ relatively expensive; it is cheaper to build a dictionary over properties only
+ when the structure is of interest.
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ Predicates applied to log events that can be used
+
+
+
+
+ Matches events from the specified source type.
+
+ The source type.
+ A predicate for matching events.
+
+
+
+ Matches events from the specified source type or namespace and
+ nested types or namespaces.
+
+ A dotted source type or namespace identifier.
+ A function that matches log events emitted by the source.
+ When is null
+
+
+
+ Matches events with the specified property attached,
+ regardless of its value.
+
+ The name of the property to match.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ The property value to match; must be a scalar type.
+ Null is allowed.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ A predicate for testing
+ The type of scalar values to match.
+ A predicate for matching events.
+ When is null
+ When is null
+
+
+
+ Implements the {Level} element.
+ can now have a fixed width applied to it, as well as casing rules.
+ Width is set through formats like "u3" (uppercase three chars),
+ "w1" (one lowercase char), or "t4" (title case four chars).
+
+
+
+
+ A that supports the Serilog
+ message template format. Formatting log events for display
+ has a different set of requirements and expectations from
+ rendering the data within them. To meet this, the formatter
+ overrides some behavior: First, strings are always output
+ as literals (not quoted) unless some other format is applied
+ to them. Second, tokens without matching properties are skipped
+ rather than being written as raw text.
+
+ New code should prefer ExpressionTemplate from Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A message template describing the
+ output messages.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Describes the properties available in standard message template-based
+ output format strings.
+
+
+
+
+ The message rendered from the log event.
+
+
+
+
+ The timestamp of the log event.
+
+
+
+
+ The timestamp of the log event in UTC.
+
+
+
+
+ The level of the log event.
+
+
+
+
+ The id of the trace that was active at the log event's time of creation, if any.
+
+
+
+
+ The id of the span that was active at the log event's time of creation, if any.
+
+
+
+
+ A new line.
+
+
+
+
+ The exception associated with the log event.
+
+
+
+
+ The properties of the log event.
+
+
+
+
+ Formats log events in a textual representation.
+
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+
+
+
+ Formats log events in a simple JSON structure. Instances of this class
+ are safe for concurrent access by multiple threads.
+
+ New code should prefer formatters from Serilog.Formatting.Compact, or ExpressionTemplate from
+ Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A string that will be written after each log event is formatted.
+ If null, will be used.
+ If , the message will be rendered and written to the output as a
+ property named RenderedMessage.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Converts Serilog's structured property value format into JSON.
+
+
+
+
+ Construct a .
+
+ When serializing structured (object) values,
+ the property name to use for the Serilog field
+ in the resulting JSON. If null, no type tag field will be written. The default is
+ "_typeTag".
+
+
+
+ Format as JSON to .
+
+ The value to format
+ The output
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Write a literal as a single JSON value, e.g. as a number or string. Override to
+ support more value types. Don't write arrays/structures through this method - the
+ active destructuring policies have already indicated the value should be scalar at
+ this point.
+
+ The value to write.
+ The output
+
+
+
+ Write a valid JSON string literal, escaping as necessary.
+
+ The string value to write.
+ The output.
+
+
+
+ The core Serilog logging API, used for writing log events.
+
+
+ var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .CreateLogger();
+
+ var thing = "World";
+ log.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its static sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ An optional static entry point for logging that can be easily referenced
+ by different parts of an application. To configure the
+ set the Logger static property to a logger instance.
+
+
+ Log.Logger = new LoggerConfiguration()
+ .WithConsoleSink()
+ .CreateLogger();
+
+ var thing = "World";
+ Log.Logger.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its dynamic sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ The globally-shared logger.
+
+ When is null
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Configuration object for creating instances.
+
+
+
+
+ Construct a .
+
+
+
+
+ Configures the sinks that log events will be emitted to.
+
+
+
+
+ Configures sinks for auditing, instead of regular (safe) logging. When auditing is used,
+ exceptions from sinks and any intermediate filters propagate back to the caller. Most callers
+ should use instead.
+
+
+ Not all sinks are compatible with transactional auditing requirements (many will use asynchronous
+ batching to improve write throughput and latency). Sinks need to opt-in to auditing support by
+ extending , though the generic
+ method allows any sink class to be adapted for auditing.
+
+
+
+
+ Configures the minimum level at which events will be passed to sinks. If
+ not specified, only events at the
+ level and above will be passed through.
+
+ Configuration object allowing method chaining.
+
+
+
+ Configures enrichment of s. Enrichers can add, remove and
+ modify the properties associated with events.
+
+
+
+
+ Configures global filtering of s.
+
+
+
+
+ Configures destructuring of message template parameters.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+
+
+
+ Create a logger using the configured sinks, enrichers and minimum level.
+
+ The logger.
+ To free resources held by sinks ahead of program shutdown,
+ the returned logger may be cast to and
+ disposed.
+ When the logger is already created
+
+
+
+ Extends with additional methods.
+
+
+
+
+ Create a logger that enriches log events when the specified level is enabled.
+
+ The type of the property value.
+ The logger.
+ The log event level used to determine if log is enriched with property.
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+ When is null
+
+
+
+ A structure representing the alignment settings to apply when rendering a property.
+
+
+
+
+ Initializes a new instance of .
+
+ The text alignment direction.
+ The width of the text, in characters.
+
+
+
+ The text alignment direction.
+
+
+
+
+ The width of the text.
+
+
+
+
+ Defines the direction of the alignment.
+
+
+
+
+ Text will be left-aligned.
+
+
+
+
+ Text will be right-aligned.
+
+
+
+
+ Instructs the logger on how to store information about provided
+ parameters.
+
+
+
+
+ Convert known types and objects to scalars, arrays to sequences.
+
+
+
+
+ Convert all types to scalar strings. Prefix name with '$'.
+
+
+
+
+ Convert known types to scalars, destructure objects and collections
+ into sequences and structures. Prefix name with '@'.
+
+
+
+
+ Parses message template strings into sequences of text or property
+ tokens.
+
+
+
+
+ Construct a .
+
+
+
+
+ Parse the supplied message template.
+
+ The message template to parse.
+ A sequence of text or property tokens. Where the template
+ is not syntactically valid, text tokens will be returned. The parser
+ will make a best effort to extract valid property tokens even in the
+ presence of parsing issues.
+ When is null
+
+
+
+ An element parsed from a message template string.
+
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ A message template token representing a log event property.
+
+
+
+
+ Construct a .
+
+ The name of the property.
+ The token as it appears in the message template.
+ The format applied to the property, if any.
+ The alignment applied to the property, if any.
+ The destructuring strategy applied to the property, if any.
+ When is null
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ The property name.
+
+
+
+
+ Destructuring strategy applied to the property.
+
+
+
+
+ Format applied to the property.
+
+
+
+
+ Alignment applied to the property.
+
+
+
+
+ if the property name is a positional index; otherwise, .
+
+
+
+
+ Try to get the integer value represented by the property name.
+
+ The integer value, if present.
+ True if the property is positional, otherwise false.
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ A message template token representing literal text.
+
+
+
+
+ Construct a .
+
+ The text of the token.
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ The text of the token.
+
+
+
+
+ Apply upper or lower casing to when is provided.
+ Returns when no or invalid format provided
+
+ The provided with formatting applied
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+ This is a full copy of the method above that allows to write directly into provided
+ without call on the caller side.
+
+
+
+
+ Class that provides reusable StringWriters to reduce memory allocations
+
+
+
+
+ Max capacity of StringBuilder we keep for next using.
+
+
+
+
+ Gets already created StringWriter if there is one available or creates a new one.
+
+
+
+
+
+ Clear this instance and prepare it for reuse in the future.
+
+
+
+
+ Contains "fake extension" methods for the Serilog configuration API.
+ By default the settings knows how to find extension methods, but some configuration
+ are actually "regular" method calls and would not be found otherwise.
+
+ This static class contains internal methods that can be used instead.
+
+ See also
+
+
+
+
+ A super-simple, cut-down subset of `System.TimeProvider` which we use internally to avoid a package dependency
+ on platforms without it.
+
+
+
+
+ Indicates that an API is experimental and it may change in the future.
+
+
+ This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
+ feature is used. Authors can use this attribute to ship preview features in their assemblies.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+
+
+ Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The unique diagnostic ID.
+
+ The diagnostic ID is shown in build output for warnings and errors.
+ This property represents the unique ID that can be used to suppress the warnings or errors, if needed.
+
+
+
+
+ Gets or sets the URL for corresponding documentation.
+ The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
+
+ The format string that represents a URL to corresponding documentation.
+ An example format string is https://contoso.com/obsoletion-warnings/{0}.
+
+
+
+ Specifies that this constructor sets all required members for the current type,
+ and callers do not need to set any required members themselves.
+
+
+
+
+ Specifies the syntax used in a string.
+
+
+
+
+ Initializes the with the identifier of the syntax used.
+
+ The syntax identifier.
+
+
+ Initializes the with the identifier of the syntax used.
+ The syntax identifier.
+ Optional arguments associated with the specific syntax employed.
+
+
+ Gets the identifier of the syntax used.
+
+
+ Optional arguments associated with the specific syntax employed.
+
+
+ The syntax identifier for strings containing composite formats for string formatting.
+
+
+ The syntax identifier for strings containing date format specifiers.
+
+
+ The syntax identifier for strings containing date and time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing JavaScript Object Notation (JSON).
+
+
+ The syntax identifier for strings containing numeric format specifiers.
+
+
+ The syntax identifier for strings containing regular expressions.
+
+
+ The syntax identifier for strings containing time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing URIs.
+
+
+ The syntax identifier for strings containing XML.
+
+
+
+ Used to indicate a byref escapes and is not scoped.
+
+
+
+ There are several cases where the C# compiler treats a as implicitly
+ - where the compiler does not allow the to escape the method.
+
+
+ For example:
+
+ - for instance methods.
+ - parameters that refer to types.
+ - parameters.
+
+
+
+ This attribute is used in those instances where the should be allowed to escape.
+
+
+ Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
+ API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
+
+
+
+
+
+ Indicates that the specified method requires the ability to generate new code at runtime,
+ for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when compiling ahead of time.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets a message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires dynamic code, and what options a consumer has to deal with it.
+
+
+
+
+ Initialize the attribute to refer to the method on the type.
+
+ The type of the builder to use to construct the collection.
+ The name of the method on the builder to use to construct the collection.
+
+ must refer to a static method that accepts a single parameter of
+ type and returns an instance of the collection being built containing
+ a copy of the data from that span. In future releases of .NET, additional patterns may be supported.
+
+
+
+
+ Gets the type of the builder to use to construct the collection.
+
+
+
+
+ Gets the name of the method on the builder to use to construct the collection.
+
+
+ This should match the metadata name of the target method.
+ For example, this might be ".ctor" if targeting the type's constructor.
+
+
+
+
+ Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
+
+
+
+
+ Creates a new instance of the type.
+
+ The name of the feature to indicate.
+
+
+
+ The name of the compiler feature.
+
+
+
+
+ If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand .
+
+
+
+
+ The used for the ref structs C# feature.
+
+
+
+
+ The used for the required members C# feature.
+
+
+
+
+ Specifies that a type has required members or that a member is required.
+
+
+
+
+ Reserved for use by a compiler for tracking metadata.
+ This attribute should not be used by developers in source code.
+
+
+
+
+ Disables the built-in runtime managed/unmanaged marshalling subsystem for
+ P/Invokes, Delegate types, and unmanaged function pointer invocations.
+
+
+ The built-in marshalling subsystem has some behaviors that cannot be changed due to
+ backward-compatibility requirements. This attribute allows disabling the built-in
+ subsystem and instead uses the following rules for P/Invokes, Delegates,
+ and unmanaged function pointer invocations:
+
+ - All value types that do not contain reference type fields recursively (unmanaged in C#) are blittable
+ - Value types that recursively have any fields that have [StructLayout(LayoutKind.Auto)] are disallowed from interop.
+ - All reference types are disallowed from usage in interop scenarios.
+ - SetLastError support in P/Invokes is disabled.
+ - varargs support is disabled.
+ - LCIDConversionAttribute support is disabled.
+
+
+
+
+ Provides access to an inaccessible member of a specific type.
+
+
+ This attribute may be applied to an extern static method.
+ The implementation of the extern static method annotated with
+ this attribute will be provided by the runtime based on the information in
+ the attribute and the signature of the method that the attribute is applied to.
+ The runtime will try to find the matching method or field and forward the call
+ to it. If the matching method or field is not found, the body of the extern
+ method will throw or .
+ Only the specific type defined will be examined for inaccessible members. The type hierarchy
+ is not walked looking for a match.
+
+ For ,
+ ,
+ ,
+ and , the type of
+ the first argument of the annotated extern method identifies the owning type.
+ The value of the first argument is treated as this pointer for instance fields and methods.
+ The first argument must be passed as ref for instance fields and methods on structs.
+ The value of the first argument is not used by the implementation for static fields and methods.
+
+ Return type is considered for the signature match. modreqs and modopts are initially not considered for
+ the signature match. However, if an ambiguity exists ignoring modreqs and modopts, a precise match
+ is attempted. If an ambiguity still exists is thrown.
+
+ By default, the attributed method's name dictates the name of the method/field. This can cause confusion
+ in some cases since language abstractions, like C# local functions, generate mangled IL names. The
+ solution to this is to use the nameof mechanism and define the property.
+
+
+ public void Method(Class c)
+ {
+ PrivateMethod(c);
+
+ [UnsafeAccessor(UnsafeAccessorKind.Method, Name = nameof(PrivateMethod))]
+ extern static void PrivateMethod(Class c);
+ }
+
+
+
+
+
+ Instantiates an
+ providing access to a member of kind .
+
+ The kind of the target to which access is provided.
+
+
+
+ Gets the kind of member to which access is provided.
+
+
+
+
+ Gets or sets the name of the member to which access is provided.
+
+
+ The name defaults to the annotated method name if not specified.
+ The name must be unset/null for .
+
+
+
+
+ Specifies the kind of target to which an is providing access.
+
+
+
+
+ Provide access to a constructor.
+
+
+
+
+ Provide access to a method.
+
+
+
+
+ Provide access to a static method.
+
+
+
+
+ Provide access to a field.
+
+
+
+
+ Provide access to a static field.
+
+
+
+
+ Indicates that the instance's storage is sequentially replicated "length" times.
+
+
+
+ This attribute can be used to annotate a type with a single field.
+ The runtime will replicate that field in the actual type layout as many times as is specified.
+
+
+ Here's an example of how an inline array type with 8 values can be declared:
+
+ [InlineArray(8)]
+ struct Float8InlineArray
+ {
+ private float _value;
+ }
+
+
+
+
+
+ Creates a new instance with the specified length.
+ The number of sequential fields to replicate in the inline array type.
+
+
+ Gets the number of sequential fields to replicate in the inline array type.
+
+
+
+ Marks APIs that were obsoleted in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that should not be used anymore.
+
+
+
+
diff --git a/packages/Serilog.4.2.0/lib/net8.0/Serilog.dll b/packages/Serilog.4.2.0/lib/net8.0/Serilog.dll
new file mode 100644
index 0000000..4f3ec13
Binary files /dev/null and b/packages/Serilog.4.2.0/lib/net8.0/Serilog.dll differ
diff --git a/packages/Serilog.4.2.0/lib/net8.0/Serilog.xml b/packages/Serilog.4.2.0/lib/net8.0/Serilog.xml
new file mode 100644
index 0000000..87e81c1
--- /dev/null
+++ b/packages/Serilog.4.2.0/lib/net8.0/Serilog.xml
@@ -0,0 +1,5001 @@
+
+
+
+ Serilog
+
+
+
+
+ Recursively traverses a multidimensional array and constructs a nested SequenceValue representation.
+
+ The multidimensional array to traverse.
+ An array of indices representing the current position in each dimension.
+ The current dimension being processed.
+ The destructuring strategy.
+ A LogEventPropertyValue representing the array's structure and elements.
+
+
+
+ Create properties based on an ordered list of provided values.
+
+ The template that the parameters apply to.
+ Objects corresponding to the properties
+ represented in the message template.
+ A list of properties; if the template is malformed then
+ this will be empty.
+
+
+
+ True if compiler-generated types are treated specially by Serilog during logging. The main example
+ of this would be anonymous types, which have a special compiler-generated form. If this switch is
+ disabled, Serilog will not be able to destructure anonymous types, but will still be able to log
+ them as scalar values.
+
+
+
+
+ Initialization options for .
+
+
+
+
+ Eagerly emit a batch containing the first received event, regardless of
+ the target batch size or batching time. This helps with perceived "liveness"
+ when running/debugging applications interactively. The default is true.
+
+
+
+
+ The maximum number of events to include in a single batch. The default is 1000.
+
+
+
+
+ The maximum delay between event batches. The default is two seconds. If a batch can be filled
+ before the buffering time limit is reached, it will be emitted without waiting.
+
+
+
+
+ Maximum number of events to hold in the sink's internal queue, or null
+ for an unbounded queue. The default is 100000. When the limit is exceeded,
+ backpressure is applied.
+
+
+
+
+ The maximum time that the sink will keep retrying failed batches for. The default is ten minutes. Lower
+ this value to reduce buffering and backpressure in high-load scenarios.
+
+
+
+
+ Implemented on types that apply settings to a logger configuration.
+
+
+
+
+ Apply the settings to the logger configuration.
+
+ The logger configuration to apply settings to.
+
+
+
+ Controls audit sink configuration.
+
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+
+
+
+ Controls template parameter destructuring configuration.
+
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances with the provided policies.
+
+ Policies to apply when destructuring.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ When destructuring objects, transform instances with the provided policy.
+
+ Policy to apply when destructuring.
+ Configuration object allowing method chaining.
+
+
+
+ Capture instances of the specified type as dictionaries.
+ By default, only concrete instantiations of are considered dictionary-like.
+
+ Type of dictionary.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function.
+
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function, if the predicate returns true. Be careful to avoid any
+ intensive work in the predicate, as it can slow down the pipeline significantly.
+
+ A predicate used to determine if the transform applies to
+ a specific type of value
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ When destructuring objects, depth will be limited to 10 property traversals deep to
+ guard against ballooning space when recursive/cyclic structures are accidentally passed. To
+ change this limit pass a new maximum depth.
+
+ The maximum depth to use.
+ Configuration object allowing method chaining.
+ When is negative
+
+
+
+ When destructuring objects, string values can be restricted to specified length
+ thus avoiding bloating payload. Limit is applied to each value separately,
+ sum of length of strings can exceed limit.
+
+ The maximum string length.
+ Configuration object allowing method chaining.
+ When is less than 2
+
+
+
+ When destructuring objects, collections be restricted to specified count
+ thus avoiding bloating payload. Limit is applied to each collection separately,
+ sum of length of collection can exceed limit.
+ Applies limit to all including dictionaries.
+
+ Configuration object allowing method chaining.
+ When is less than 1
+
+
+
+ Controls enrichment configuration.
+
+
+
+
+ Specifies one or more enrichers that may add properties dynamically to
+ log events.
+
+ Enrichers to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Specifies an enricher that may add properties dynamically to
+ log events.
+
+ Enricher type to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+
+
+
+ Include the specified property value in all events logged to the logger.
+
+ The name of the property to add.
+ The property value to add.
+ If , objects of unknown type will be logged as structures; otherwise they will be converted using .
+ Configuration object allowing method chaining.
+
+
+
+ Enrich log events with properties from .
+
+ Configuration object allowing method chaining.
+
+ Configuration object allowing method chaining.
+
+
+
+ Apply an enricher only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be enriched.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to .
+
+ The level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to the level specified by .
+
+ A that specifies the level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Helper method for wrapping sinks.
+
+ The parent enrichment configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures enrichers to be wrapped in .
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+ When is null
+
+
+
+ Controls filter configuration.
+
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+
+
+
+ Filter out log events that match a predicate.
+
+ Function that returns true when an event
+ should be excluded (silenced).
+ Configuration object allowing method chaining.
+
+
+
+ Filter log events to include only those that match a predicate.
+
+ Function that returns true when an event
+ should be included (emitted).
+ Configuration object allowing method chaining.
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Sets the minimum level at which events will be passed to sinks.
+
+ The minimum level to set.
+ Configuration object allowing method chaining.
+
+
+
+ Sets the minimum level to be dynamically controlled by the provided switch.
+
+ The switch.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+ Configuration object allowing method chaining.
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+ Configuration object allowing method chaining.
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+ Configuration object allowing method chaining.
+
+
+
+ Service is degraded or endangered.
+
+ Configuration object allowing method chaining.
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+ Configuration object allowing method chaining.
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+ Configuration object allowing method chaining.
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The switch controlling loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+ When a trimmed is empty
+ When is null
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The minimum level applied to loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Allows additional setting sources to drive the logger configuration.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Apply settings specified in the Serilog key-value setting format to the logger configuration.
+
+ A list of key-value pairs describing logger settings.
+ Configuration object allowing method chaining.
+ In case of duplicate keys, the last value for the key is kept and the previous ones are ignored.
+ When is null
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink.
+
+ Configuration object allowing method chaining.
+ Sink configuration methods that specify should also specify .
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to an . Events will be internally buffered, and
+ written to the sink in batches.
+
+ The batched sink to receive events.
+ Options that control batch sizes, buffering time, and backpressure.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger.
+ Whether to shut down automatically the sub-logger
+ when the parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write to a sink only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be written to the configured sink.
+ An action that configures the wrapped sink.
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+
+
+
+ Write to a sink, and if the sink is unable to record the event, write to a second sink. Additional sinks can
+ be added to the chain if necessary.
+
+ A callback to configure the first sink to try. The argument to the callback supports
+ the same syntax as the WriteTo configuration object.
+ A callback to configure the second sink.
+ Additional callbacks to configure more sinks in the fallback chain.
+ Configuration object allowing method chaining.
+ When any argument is null.
+
+ Fallbacks rely on the target sink either a) synchronously throwing exceptions on failure, or b) implementing the
+ interface.
+
+
+
+
+
+ Helper method for constructing wrapper sinks.
+
+ The parent sink configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing wrapper sinks. This may be preferred over because it handles
+ delegation of through to the wrapped sink in cases where the wrapper is not
+ disposable.
+
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The wrapper, or a sink that will handle invoking the wrapper.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing sinks outside of a logger pipeline.
+
+ An action that configures one or more sinks.
+ If only a single sink is configured,
+ it will be returned from . If zero or many sinks are configured, they will be combined
+ in an aggregating wrapper.
+ When is null.
+
+
+
+ Holds ambient properties that can be attached to log events. To
+ configure, use the method.
+
+
+ Configuration:
+
+ var log = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ ...
+
+ Usage:
+
+ using (LogContext.PushProperty("MessageId", message.Id))
+ {
+ Log.Information("The MessageId property will be attached to this event");
+ }
+
+
+ The scope of the context is the current logical thread, using AsyncLocal
+ (and so is preserved across async/await calls).
+
+
+
+ Push a property onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ The name of the property.
+ The value of the property.
+ A handle to later remove the property from the context.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ A token that must be disposed, in order, to pop properties back off the stack.
+
+
+
+ Push an enricher onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ An enricher to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Push multiple enrichers onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ .
+ Enrichers to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Obtain an enricher that represents the current contents of the . This
+ can be pushed back onto the context in a different location/thread when required.
+
+ An enricher that represents the current contents of the .
+
+
+
+ Remove all enrichers from the , returning an
+ that must later be used to restore enrichers that were on the stack before was called.
+
+ A token that must be disposed, in order, to restore properties back to the stack.
+
+
+
+ Remove all enrichers from for the current async scope.
+
+
+
+
+ Constants used in the core logging pipeline and associated types.
+
+
+
+
+ The name of the property included in the emitted log events
+ when ForContext<T>() and overloads are
+ applied.
+
+
+
+
+ Adds a new property enricher to the log event.
+
+
+
+
+ Create a new property enricher.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+ When is null
+ When is null
+
+
+
+ A destination that accepts events in batches. Many sinks gain a performance advantage by handling events in batches,
+ for example to combine multiple events into a single network request to a remote collector. Because the client
+ application cannot wait for every event to be flushed when batching is used, batched sinks normally work
+ asynchronously to conserve local resources while batches are sent.
+
+
+
+
+
+ Emit a batch of log events, asynchronously.
+
+ The batch of events to emit.
+ Implementers should allow exceptions to propagate when batches fail. The batching infrastructure
+ handles exception handling, diagnostics, and retries.
+
+
+
+ Allows sinks to perform periodic work without requiring additional threads
+ or timers (thus avoiding additional flush/shut-down complexity).
+
+
+
+
+ Determine how, when destructuring, a supplied value is represented
+ as a complex log event property.
+
+
+
+
+ If supported, destructure the provided value.
+
+ The value to destructure.
+ Recursively apply policies to destructure additional values.
+ The destructured value, or null.
+ True if the value could be destructured under this policy.
+
+
+
+ Applied during logging to add additional information to log events.
+
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+
+
+
+ Provides filtering of the log event stream.
+
+
+
+
+ Returns true if the provided event is enabled. Otherwise, .
+
+ The event to test.
+ if the event is enabled by this filter. If
+ is returned, the event will not be emitted.
+
+
+
+ Creates log event properties from regular .NET objects, applying policies as
+ required.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ Created instance.
+
+
+
+ Supports the policy-driven construction of s given
+ regular .NET objects.
+
+
+
+
+ Create a given a .NET object and destructuring
+ strategy.
+
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ The value.
+
+
+
+ A destination for log events.
+
+
+
+
+
+ Emit the provided log event to the sink.
+
+ The log event to write.
+
+ Implementers should allow exceptions to propagate when event emission fails. The logger will handle
+ exceptions and produce diagnostics appropriately.
+
+
+
+ Implementers can be notified of various failure conditions in the Serilog pipeline.
+
+
+
+
+ A logging feature has failed. Often, failures will communicate errors encountered when writing
+ log events to sinks.
+
+ The object that generated or observed the failure.
+ An indication of the failure kind.
+ A description of the failure.
+ Events associated with the failure.
+ The exception triggering the failure, if any.
+
+
+
+ Determine how a simple value is carried through the logging
+ pipeline as an immutable .
+
+
+
+
+ If supported, convert the provided value into an immutable scalar.
+
+ The value to convert.
+ The converted value, or null.
+ True if the value could be converted under this policy.
+
+
+
+ Implemented by sinks that can report failures through an .
+
+
+
+
+ Set the (single) failure listener that the sink should use to report failures. This method must
+ be called only during initialization, on the initialization thread, before logging has started.
+
+ The listener through which to report failures.
+
+
+
+ The core Serilog logging pipeline. A must
+ be disposed to flush any events buffered within it. Most application
+ code should depend on , not this class.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Determine if events at the specified level, and higher, will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ An instance that efficiently ignores all method calls.
+
+
+
+
+ Describes the reason for a logging failure.
+
+
+
+
+ A failure has occured; the situation may resolve and if any events are associated with the failure,
+ logging will be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; any events associated with the failure will not be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; the reporting sink is going offline and no retries will be attempted.
+
+
+
+
+ Dynamically controls logging level.
+
+
+
+
+ Create a at the initial
+ minimum level.
+
+ The initial level to which the switch is set.
+
+
+
+ The event arises when changed. Note that the event is raised
+ under a lock so be careful within event handler to not fall into deadlock.
+
+
+
+
+ The current minimum level, below which no events
+ should be generated.
+
+
+
+
+ Event arguments for event.
+
+
+
+
+ Creates an instance of specifying old and new levels.
+
+ Old level.
+ New level.
+
+
+
+ Old level.
+
+
+
+
+ New level.
+
+
+
+
+ Indicates that the marked method logs data using a message template and (optional) arguments.
+ The name of the parameter which contains the message template should be given in the constructor.
+
+
+
+ [MessageTemplateFormatMethod("messageTemplate")]
+ public void Information(string messageTemplate, params object[] propertyValues)
+ {
+ // Do something
+ }
+
+ public void Foo()
+ {
+ Information("Hello, {Name}!") // Warning: Nonexistent argument in message template.
+ }
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the message template parameter.
+
+
+
+ Gets the name of the message template parameter.
+
+ The name of the message template parameter.
+
+
+
+ Buffers log events into batches for background flushing.
+
+
+
+
+ Construct a .
+
+ A to send log event batches to. Batches and empty
+ batch notifications will not be sent concurrently. When the is disposed,
+ it will dispose this object if possible.
+ Options controlling behavior of the sink.
+
+
+
+ Emit the provided log event to the sink. If the sink is being disposed or
+ the app domain unloaded, then the event is ignored.
+
+ Log event to emit.
+ The event is null.
+
+ The sink implements the contract that any events whose Emit() method has
+ completed at the time of sink disposal will be flushed (or attempted to,
+ depending on app domain state).
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Manages reconnection period and transient fault response for .
+ During normal operation an object of this type will simply echo the configured batch transmission
+ period. When availability fluctuates, the class tracks the number of failed attempts, each time
+ increasing the interval before reconnection is attempted (up to a set maximum) and at predefined
+ points indicating that either the current batch, or entire waiting queue, should be dropped. This
+ Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming
+ back online. Second, the sender needs to account for both bad batches (the first fault response) and
+ also overproduction (the second, queue-dropping response). In combination these should provide a
+ reasonable delivery effort but ultimately protect the sender from memory exhaustion.
+
+
+
+
+ Forwards log events to another logging pipeline. Copies the events so
+ that mutations performed on the copies do not affect the originals.
+
+ The properties dictionary is copied, however the values within
+ the dictionary (of type are expected to
+ be immutable.
+
+
+
+ A base class for visitors that rewrite the value with modifications. For example, implementations
+ might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of
+ one type into scalar properties of another.
+
+
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value of an unsupported type. Returns the value unchanged.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ An abstract base class for visitors that walk data in the
+ format. Subclasses, by
+ overriding appropriate methods, may search for, transform,
+ or print the value structures being visited.
+
+
+ Stateless, designed to accommodate allocation-free visiting of multiple
+ values by the same visitor instance.
+
+ The type of a state object passed through
+ the visiting process.
+ The type of the result generated by visiting
+ a node.
+
+
+
+ Visit the root node type. This method delegates to
+ a concrete Visit*Value() method appropriate for the value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value of an unsupported type. Always throws , when is not overridden.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+ Always
+
+
+
+ May be thrown by log event sinks when a failure occurs. Should not be used in cases
+ where the exception would propagate out to callers.
+
+
+
+
+ Construct a to communicate a logging failure.
+
+ A message describing the logging failure.
+
+
+
+ A simple source of information generated by Serilog itself,
+ for example when exceptions are thrown and caught internally.
+
+
+
+
+ Set the output mechanism for self-log messages.
+
+ A synchronized to which
+ self-log messages will be written.
+ When is null
+
+
+
+ Set the output mechanism for self-log messages.
+
+ An action to invoke with self-log messages.
+ // ReSharper disable once MemberCanBePrivate.Global
+ When is null
+
+
+
+ Clear the output mechanism and disable self-log events.
+
+ // ReSharper disable once MemberCanBePrivate.Global
+
+
+
+ Write a message to the self-log.
+
+ Standard .NET format string containing the message.
+ First argument, if supplied.
+ Second argument, if supplied.
+ Third argument, if supplied.
+
+ The name is historical; because this is used from third-party sink packages, removing the "Line"
+ suffix as would seem sensible isn't worth the breakage.
+
+
+
+
+ An that writes diagnostic information to . Sinks
+ that support failure listeners should use this instance by default.
+
+
+
+
+ A value represented as a mapping from keys to values.
+
+
+
+
+ Create a with the provided .
+
+ The key-value mappings represented in the dictionary.
+ When is null
+
+
+
+ The dictionary mapping.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A property associated with a .
+
+ This type is currently internal, while we consider future directions for the logging pipeline, but should end up public
+ in future.
+
+
+
+ No property.
+
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Permit deconstruction of the property into a name/value pair.
+
+ The name of the property.
+ The value of the property.
+
+
+
+
+
+ Indicates whether this instance and a specified are equal.
+ The to compare with the current instance.
+
+ if and this instance represent the same value; otherwise, .
+
+
+
+
+
+
+ Descriptive aliases for .
+
+ These do not appear as members of the enumeration
+ as duplicated underlying values result in issues when presenting
+ enum values with .
+
+
+
+ The least significant level of event.
+
+
+
+
+ The most significant level of event.
+
+
+
+
+ A value that, when used as a "minimum" level, will result in no
+ events being emitted.
+
+ It is never correct to construct a with this value.
+
+
+
+ A log event.
+
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ When is null
+ When is null
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+
+
+
+ The time at which the event occurred.
+
+
+
+
+ The level of the event.
+
+
+
+
+ The id of the trace that was active when the event was created, if any.
+
+
+
+
+ The id of the span that was active when the event was created, if any.
+
+
+
+
+ The message template describing the event.
+
+
+
+
+ Render the message template to the specified output, given the properties associated
+ with the event.
+
+ The output.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Render the message template given the properties associated
+ with the event, and return the result.
+
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Properties associated with the event, including those presented in .
+
+
+
+
+ An exception associated with the event, or null.
+
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is null
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is default
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is null
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is default
+
+
+
+ Remove a property from the event, if present. Otherwise no action
+ is performed.
+
+ The name of the property to remove.
+
+
+
+ Construct a using pre-allocated values for internal fields. Normally,
+ the constructor allocates a dictionary to back ,
+ so that this is not unexpectedly shared. This is unnecessary in many integration scenarios,
+ leading to an additional nontrivial allocation. This
+ method allows specialized callers to avoid that overhead.
+
+
+ Because this method exposes parameters that essentially map 1:1 with internal fields of ,
+ the parameter list may change across major Serilog versions.
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+ A constructed .
+
+
+
+ Specifies the meaning and relative importance of a log event.
+
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+
+
+
+ Service is degraded or endangered.
+
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+
+
+
+ A property associated with a .
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Construct a from an existing instance.
+
+ The existing property.
+ When is default
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Test to determine if it is a valid property name.
+
+ The name to check.
+ if the name is valid; otherwise, .
+
+
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ The value associated with a . Divided into scalar,
+ sequence and structure values to direct serialization into various formats.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ Formats the value of the current instance using the specified format.
+
+
+ The value of the current instance in the specified format.
+
+ The format to use.-or- A null reference (Nothing in Visual Basic) to use
+ the default format defined for the type of the implementation.
+ The provider to use to format the value.-or- A null reference
+ (Nothing in Visual Basic) to obtain the numeric format information from the current locale
+ setting of the operating system. 2
+
+
+
+ Represents a message template passed to a log method. The template
+ can subsequently render the template in textual form given the list
+ of properties.
+
+
+
+
+ Represents the empty message template.
+
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The text and property tokens defining the template.
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The full text of the template; used by Serilog internally to avoid unneeded
+ string concatenation.
+ The text and property tokens defining the template.
+ When is null
+ When is null
+
+
+
+ Similar to , but faster.
+
+
+
+
+ The raw text describing the template.
+
+
+
+
+ Render the template as a string.
+
+ The string representation of the template.
+
+
+
+ The tokens parsed from the template.
+
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ Supplies culture-specific formatting information, or null.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ When is null
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ A property value corresponding to a simple, scalar type.
+
+
+
+
+ Scalar value representing .
+
+
+
+
+ Construct a with the specified
+ value.
+
+ The value, which may be null.
+
+
+
+ The value, which may be null.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+ When is null
+
+
+
+ Determine if this instance is equal to .
+
+ The instance to compare with.
+ if the instances are equal; otherwise, .
+
+
+
+ Get a hash code representing the value.
+
+ The instance's hash code.
+
+
+
+ A value represented as an ordered sequence of values.
+
+
+
+
+ Empty sequence of values.
+
+
+
+
+ Create a with the provided .
+
+ The elements of the sequence.
+ When is null
+
+
+
+ The elements of the sequence.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A value represented as a collection of name-value properties.
+
+
+
+
+ Construct a with the provided properties.
+
+ Optionally, a piece of metadata describing the "type" of the
+ structure. Can be null.
+ The properties of the structure.
+ When is null
+
+
+
+ A piece of metadata describing the "type" of the
+ structure, or null.
+
+
+
+
+ The properties of the structure.
+
+ Not presented as a dictionary because dictionary construction is
+ relatively expensive; it is cheaper to build a dictionary over properties only
+ when the structure is of interest.
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ Predicates applied to log events that can be used
+
+
+
+
+ Matches events from the specified source type.
+
+ The source type.
+ A predicate for matching events.
+
+
+
+ Matches events from the specified source type or namespace and
+ nested types or namespaces.
+
+ A dotted source type or namespace identifier.
+ A function that matches log events emitted by the source.
+ When is null
+
+
+
+ Matches events with the specified property attached,
+ regardless of its value.
+
+ The name of the property to match.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ The property value to match; must be a scalar type.
+ Null is allowed.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ A predicate for testing
+ The type of scalar values to match.
+ A predicate for matching events.
+ When is null
+ When is null
+
+
+
+ Implements the {Level} element.
+ can now have a fixed width applied to it, as well as casing rules.
+ Width is set through formats like "u3" (uppercase three chars),
+ "w1" (one lowercase char), or "t4" (title case four chars).
+
+
+
+
+ A that supports the Serilog
+ message template format. Formatting log events for display
+ has a different set of requirements and expectations from
+ rendering the data within them. To meet this, the formatter
+ overrides some behavior: First, strings are always output
+ as literals (not quoted) unless some other format is applied
+ to them. Second, tokens without matching properties are skipped
+ rather than being written as raw text.
+
+ New code should prefer ExpressionTemplate from Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A message template describing the
+ output messages.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Describes the properties available in standard message template-based
+ output format strings.
+
+
+
+
+ The message rendered from the log event.
+
+
+
+
+ The timestamp of the log event.
+
+
+
+
+ The timestamp of the log event in UTC.
+
+
+
+
+ The level of the log event.
+
+
+
+
+ The id of the trace that was active at the log event's time of creation, if any.
+
+
+
+
+ The id of the span that was active at the log event's time of creation, if any.
+
+
+
+
+ A new line.
+
+
+
+
+ The exception associated with the log event.
+
+
+
+
+ The properties of the log event.
+
+
+
+
+ Formats log events in a textual representation.
+
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+
+
+
+ Formats log events in a simple JSON structure. Instances of this class
+ are safe for concurrent access by multiple threads.
+
+ New code should prefer formatters from Serilog.Formatting.Compact, or ExpressionTemplate from
+ Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A string that will be written after each log event is formatted.
+ If null, will be used.
+ If , the message will be rendered and written to the output as a
+ property named RenderedMessage.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Converts Serilog's structured property value format into JSON.
+
+
+
+
+ Construct a .
+
+ When serializing structured (object) values,
+ the property name to use for the Serilog field
+ in the resulting JSON. If null, no type tag field will be written. The default is
+ "_typeTag".
+
+
+
+ Format as JSON to .
+
+ The value to format
+ The output
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Write a literal as a single JSON value, e.g. as a number or string. Override to
+ support more value types. Don't write arrays/structures through this method - the
+ active destructuring policies have already indicated the value should be scalar at
+ this point.
+
+ The value to write.
+ The output
+
+
+
+ Write a valid JSON string literal, escaping as necessary.
+
+ The string value to write.
+ The output.
+
+
+
+ The core Serilog logging API, used for writing log events.
+
+
+ var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .CreateLogger();
+
+ var thing = "World";
+ log.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its static sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ An optional static entry point for logging that can be easily referenced
+ by different parts of an application. To configure the
+ set the Logger static property to a logger instance.
+
+
+ Log.Logger = new LoggerConfiguration()
+ .WithConsoleSink()
+ .CreateLogger();
+
+ var thing = "World";
+ Log.Logger.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its dynamic sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ The globally-shared logger.
+
+ When is null
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Configuration object for creating instances.
+
+
+
+
+ Construct a .
+
+
+
+
+ Configures the sinks that log events will be emitted to.
+
+
+
+
+ Configures sinks for auditing, instead of regular (safe) logging. When auditing is used,
+ exceptions from sinks and any intermediate filters propagate back to the caller. Most callers
+ should use instead.
+
+
+ Not all sinks are compatible with transactional auditing requirements (many will use asynchronous
+ batching to improve write throughput and latency). Sinks need to opt-in to auditing support by
+ extending , though the generic
+ method allows any sink class to be adapted for auditing.
+
+
+
+
+ Configures the minimum level at which events will be passed to sinks. If
+ not specified, only events at the
+ level and above will be passed through.
+
+ Configuration object allowing method chaining.
+
+
+
+ Configures enrichment of s. Enrichers can add, remove and
+ modify the properties associated with events.
+
+
+
+
+ Configures global filtering of s.
+
+
+
+
+ Configures destructuring of message template parameters.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+
+
+
+ Create a logger using the configured sinks, enrichers and minimum level.
+
+ The logger.
+ To free resources held by sinks ahead of program shutdown,
+ the returned logger may be cast to and
+ disposed.
+ When the logger is already created
+
+
+
+ Extends with additional methods.
+
+
+
+
+ Create a logger that enriches log events when the specified level is enabled.
+
+ The type of the property value.
+ The logger.
+ The log event level used to determine if log is enriched with property.
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+ When is null
+
+
+
+ A structure representing the alignment settings to apply when rendering a property.
+
+
+
+
+ Initializes a new instance of .
+
+ The text alignment direction.
+ The width of the text, in characters.
+
+
+
+ The text alignment direction.
+
+
+
+
+ The width of the text.
+
+
+
+
+ Defines the direction of the alignment.
+
+
+
+
+ Text will be left-aligned.
+
+
+
+
+ Text will be right-aligned.
+
+
+
+
+ Instructs the logger on how to store information about provided
+ parameters.
+
+
+
+
+ Convert known types and objects to scalars, arrays to sequences.
+
+
+
+
+ Convert all types to scalar strings. Prefix name with '$'.
+
+
+
+
+ Convert known types to scalars, destructure objects and collections
+ into sequences and structures. Prefix name with '@'.
+
+
+
+
+ Parses message template strings into sequences of text or property
+ tokens.
+
+
+
+
+ Construct a .
+
+
+
+
+ Parse the supplied message template.
+
+ The message template to parse.
+ A sequence of text or property tokens. Where the template
+ is not syntactically valid, text tokens will be returned. The parser
+ will make a best effort to extract valid property tokens even in the
+ presence of parsing issues.
+ When is null
+
+
+
+ An element parsed from a message template string.
+
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ A message template token representing a log event property.
+
+
+
+
+ Construct a .
+
+ The name of the property.
+ The token as it appears in the message template.
+ The format applied to the property, if any.
+ The alignment applied to the property, if any.
+ The destructuring strategy applied to the property, if any.
+ When is null
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ The property name.
+
+
+
+
+ Destructuring strategy applied to the property.
+
+
+
+
+ Format applied to the property.
+
+
+
+
+ Alignment applied to the property.
+
+
+
+
+ if the property name is a positional index; otherwise, .
+
+
+
+
+ Try to get the integer value represented by the property name.
+
+ The integer value, if present.
+ True if the property is positional, otherwise false.
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ A message template token representing literal text.
+
+
+
+
+ Construct a .
+
+ The text of the token.
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ The text of the token.
+
+
+
+
+ Apply upper or lower casing to when is provided.
+ Returns when no or invalid format provided
+
+ The provided with formatting applied
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+ This is a full copy of the method above that allows to write directly into provided
+ without call on the caller side.
+
+
+
+
+ Class that provides reusable StringWriters to reduce memory allocations
+
+
+
+
+ Max capacity of StringBuilder we keep for next using.
+
+
+
+
+ Gets already created StringWriter if there is one available or creates a new one.
+
+
+
+
+
+ Clear this instance and prepare it for reuse in the future.
+
+
+
+
+ Contains "fake extension" methods for the Serilog configuration API.
+ By default the settings knows how to find extension methods, but some configuration
+ are actually "regular" method calls and would not be found otherwise.
+
+ This static class contains internal methods that can be used instead.
+
+ See also
+
+
+
+
diff --git a/packages/Serilog.4.2.0/lib/net9.0/Serilog.dll b/packages/Serilog.4.2.0/lib/net9.0/Serilog.dll
new file mode 100644
index 0000000..1790bfa
Binary files /dev/null and b/packages/Serilog.4.2.0/lib/net9.0/Serilog.dll differ
diff --git a/packages/Serilog.4.2.0/lib/net9.0/Serilog.xml b/packages/Serilog.4.2.0/lib/net9.0/Serilog.xml
new file mode 100644
index 0000000..87e81c1
--- /dev/null
+++ b/packages/Serilog.4.2.0/lib/net9.0/Serilog.xml
@@ -0,0 +1,5001 @@
+
+
+
+ Serilog
+
+
+
+
+ Recursively traverses a multidimensional array and constructs a nested SequenceValue representation.
+
+ The multidimensional array to traverse.
+ An array of indices representing the current position in each dimension.
+ The current dimension being processed.
+ The destructuring strategy.
+ A LogEventPropertyValue representing the array's structure and elements.
+
+
+
+ Create properties based on an ordered list of provided values.
+
+ The template that the parameters apply to.
+ Objects corresponding to the properties
+ represented in the message template.
+ A list of properties; if the template is malformed then
+ this will be empty.
+
+
+
+ True if compiler-generated types are treated specially by Serilog during logging. The main example
+ of this would be anonymous types, which have a special compiler-generated form. If this switch is
+ disabled, Serilog will not be able to destructure anonymous types, but will still be able to log
+ them as scalar values.
+
+
+
+
+ Initialization options for .
+
+
+
+
+ Eagerly emit a batch containing the first received event, regardless of
+ the target batch size or batching time. This helps with perceived "liveness"
+ when running/debugging applications interactively. The default is true.
+
+
+
+
+ The maximum number of events to include in a single batch. The default is 1000.
+
+
+
+
+ The maximum delay between event batches. The default is two seconds. If a batch can be filled
+ before the buffering time limit is reached, it will be emitted without waiting.
+
+
+
+
+ Maximum number of events to hold in the sink's internal queue, or null
+ for an unbounded queue. The default is 100000. When the limit is exceeded,
+ backpressure is applied.
+
+
+
+
+ The maximum time that the sink will keep retrying failed batches for. The default is ten minutes. Lower
+ this value to reduce buffering and backpressure in high-load scenarios.
+
+
+
+
+ Implemented on types that apply settings to a logger configuration.
+
+
+
+
+ Apply the settings to the logger configuration.
+
+ The logger configuration to apply settings to.
+
+
+
+ Controls audit sink configuration.
+
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+
+
+
+ Controls template parameter destructuring configuration.
+
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances with the provided policies.
+
+ Policies to apply when destructuring.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ When destructuring objects, transform instances with the provided policy.
+
+ Policy to apply when destructuring.
+ Configuration object allowing method chaining.
+
+
+
+ Capture instances of the specified type as dictionaries.
+ By default, only concrete instantiations of are considered dictionary-like.
+
+ Type of dictionary.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function.
+
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function, if the predicate returns true. Be careful to avoid any
+ intensive work in the predicate, as it can slow down the pipeline significantly.
+
+ A predicate used to determine if the transform applies to
+ a specific type of value
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ When destructuring objects, depth will be limited to 10 property traversals deep to
+ guard against ballooning space when recursive/cyclic structures are accidentally passed. To
+ change this limit pass a new maximum depth.
+
+ The maximum depth to use.
+ Configuration object allowing method chaining.
+ When is negative
+
+
+
+ When destructuring objects, string values can be restricted to specified length
+ thus avoiding bloating payload. Limit is applied to each value separately,
+ sum of length of strings can exceed limit.
+
+ The maximum string length.
+ Configuration object allowing method chaining.
+ When is less than 2
+
+
+
+ When destructuring objects, collections be restricted to specified count
+ thus avoiding bloating payload. Limit is applied to each collection separately,
+ sum of length of collection can exceed limit.
+ Applies limit to all including dictionaries.
+
+ Configuration object allowing method chaining.
+ When is less than 1
+
+
+
+ Controls enrichment configuration.
+
+
+
+
+ Specifies one or more enrichers that may add properties dynamically to
+ log events.
+
+ Enrichers to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Specifies an enricher that may add properties dynamically to
+ log events.
+
+ Enricher type to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+
+
+
+ Include the specified property value in all events logged to the logger.
+
+ The name of the property to add.
+ The property value to add.
+ If , objects of unknown type will be logged as structures; otherwise they will be converted using .
+ Configuration object allowing method chaining.
+
+
+
+ Enrich log events with properties from .
+
+ Configuration object allowing method chaining.
+
+ Configuration object allowing method chaining.
+
+
+
+ Apply an enricher only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be enriched.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to .
+
+ The level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to the level specified by .
+
+ A that specifies the level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Helper method for wrapping sinks.
+
+ The parent enrichment configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures enrichers to be wrapped in .
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+ When is null
+
+
+
+ Controls filter configuration.
+
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+
+
+
+ Filter out log events that match a predicate.
+
+ Function that returns true when an event
+ should be excluded (silenced).
+ Configuration object allowing method chaining.
+
+
+
+ Filter log events to include only those that match a predicate.
+
+ Function that returns true when an event
+ should be included (emitted).
+ Configuration object allowing method chaining.
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Sets the minimum level at which events will be passed to sinks.
+
+ The minimum level to set.
+ Configuration object allowing method chaining.
+
+
+
+ Sets the minimum level to be dynamically controlled by the provided switch.
+
+ The switch.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+ Configuration object allowing method chaining.
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+ Configuration object allowing method chaining.
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+ Configuration object allowing method chaining.
+
+
+
+ Service is degraded or endangered.
+
+ Configuration object allowing method chaining.
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+ Configuration object allowing method chaining.
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+ Configuration object allowing method chaining.
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The switch controlling loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+ When a trimmed is empty
+ When is null
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The minimum level applied to loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Allows additional setting sources to drive the logger configuration.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Apply settings specified in the Serilog key-value setting format to the logger configuration.
+
+ A list of key-value pairs describing logger settings.
+ Configuration object allowing method chaining.
+ In case of duplicate keys, the last value for the key is kept and the previous ones are ignored.
+ When is null
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink.
+
+ Configuration object allowing method chaining.
+ Sink configuration methods that specify should also specify .
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to an . Events will be internally buffered, and
+ written to the sink in batches.
+
+ The batched sink to receive events.
+ Options that control batch sizes, buffering time, and backpressure.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger.
+ Whether to shut down automatically the sub-logger
+ when the parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write to a sink only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be written to the configured sink.
+ An action that configures the wrapped sink.
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+
+
+
+ Write to a sink, and if the sink is unable to record the event, write to a second sink. Additional sinks can
+ be added to the chain if necessary.
+
+ A callback to configure the first sink to try. The argument to the callback supports
+ the same syntax as the WriteTo configuration object.
+ A callback to configure the second sink.
+ Additional callbacks to configure more sinks in the fallback chain.
+ Configuration object allowing method chaining.
+ When any argument is null.
+
+ Fallbacks rely on the target sink either a) synchronously throwing exceptions on failure, or b) implementing the
+ interface.
+
+
+
+
+
+ Helper method for constructing wrapper sinks.
+
+ The parent sink configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing wrapper sinks. This may be preferred over because it handles
+ delegation of through to the wrapped sink in cases where the wrapper is not
+ disposable.
+
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The wrapper, or a sink that will handle invoking the wrapper.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing sinks outside of a logger pipeline.
+
+ An action that configures one or more sinks.
+ If only a single sink is configured,
+ it will be returned from . If zero or many sinks are configured, they will be combined
+ in an aggregating wrapper.
+ When is null.
+
+
+
+ Holds ambient properties that can be attached to log events. To
+ configure, use the method.
+
+
+ Configuration:
+
+ var log = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ ...
+
+ Usage:
+
+ using (LogContext.PushProperty("MessageId", message.Id))
+ {
+ Log.Information("The MessageId property will be attached to this event");
+ }
+
+
+ The scope of the context is the current logical thread, using AsyncLocal
+ (and so is preserved across async/await calls).
+
+
+
+ Push a property onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ The name of the property.
+ The value of the property.
+ A handle to later remove the property from the context.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ A token that must be disposed, in order, to pop properties back off the stack.
+
+
+
+ Push an enricher onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ An enricher to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Push multiple enrichers onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ .
+ Enrichers to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Obtain an enricher that represents the current contents of the . This
+ can be pushed back onto the context in a different location/thread when required.
+
+ An enricher that represents the current contents of the .
+
+
+
+ Remove all enrichers from the , returning an
+ that must later be used to restore enrichers that were on the stack before was called.
+
+ A token that must be disposed, in order, to restore properties back to the stack.
+
+
+
+ Remove all enrichers from for the current async scope.
+
+
+
+
+ Constants used in the core logging pipeline and associated types.
+
+
+
+
+ The name of the property included in the emitted log events
+ when ForContext<T>() and overloads are
+ applied.
+
+
+
+
+ Adds a new property enricher to the log event.
+
+
+
+
+ Create a new property enricher.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+ When is null
+ When is null
+
+
+
+ A destination that accepts events in batches. Many sinks gain a performance advantage by handling events in batches,
+ for example to combine multiple events into a single network request to a remote collector. Because the client
+ application cannot wait for every event to be flushed when batching is used, batched sinks normally work
+ asynchronously to conserve local resources while batches are sent.
+
+
+
+
+
+ Emit a batch of log events, asynchronously.
+
+ The batch of events to emit.
+ Implementers should allow exceptions to propagate when batches fail. The batching infrastructure
+ handles exception handling, diagnostics, and retries.
+
+
+
+ Allows sinks to perform periodic work without requiring additional threads
+ or timers (thus avoiding additional flush/shut-down complexity).
+
+
+
+
+ Determine how, when destructuring, a supplied value is represented
+ as a complex log event property.
+
+
+
+
+ If supported, destructure the provided value.
+
+ The value to destructure.
+ Recursively apply policies to destructure additional values.
+ The destructured value, or null.
+ True if the value could be destructured under this policy.
+
+
+
+ Applied during logging to add additional information to log events.
+
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+
+
+
+ Provides filtering of the log event stream.
+
+
+
+
+ Returns true if the provided event is enabled. Otherwise, .
+
+ The event to test.
+ if the event is enabled by this filter. If
+ is returned, the event will not be emitted.
+
+
+
+ Creates log event properties from regular .NET objects, applying policies as
+ required.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ Created instance.
+
+
+
+ Supports the policy-driven construction of s given
+ regular .NET objects.
+
+
+
+
+ Create a given a .NET object and destructuring
+ strategy.
+
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ The value.
+
+
+
+ A destination for log events.
+
+
+
+
+
+ Emit the provided log event to the sink.
+
+ The log event to write.
+
+ Implementers should allow exceptions to propagate when event emission fails. The logger will handle
+ exceptions and produce diagnostics appropriately.
+
+
+
+ Implementers can be notified of various failure conditions in the Serilog pipeline.
+
+
+
+
+ A logging feature has failed. Often, failures will communicate errors encountered when writing
+ log events to sinks.
+
+ The object that generated or observed the failure.
+ An indication of the failure kind.
+ A description of the failure.
+ Events associated with the failure.
+ The exception triggering the failure, if any.
+
+
+
+ Determine how a simple value is carried through the logging
+ pipeline as an immutable .
+
+
+
+
+ If supported, convert the provided value into an immutable scalar.
+
+ The value to convert.
+ The converted value, or null.
+ True if the value could be converted under this policy.
+
+
+
+ Implemented by sinks that can report failures through an .
+
+
+
+
+ Set the (single) failure listener that the sink should use to report failures. This method must
+ be called only during initialization, on the initialization thread, before logging has started.
+
+ The listener through which to report failures.
+
+
+
+ The core Serilog logging pipeline. A must
+ be disposed to flush any events buffered within it. Most application
+ code should depend on , not this class.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Determine if events at the specified level, and higher, will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ An instance that efficiently ignores all method calls.
+
+
+
+
+ Describes the reason for a logging failure.
+
+
+
+
+ A failure has occured; the situation may resolve and if any events are associated with the failure,
+ logging will be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; any events associated with the failure will not be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; the reporting sink is going offline and no retries will be attempted.
+
+
+
+
+ Dynamically controls logging level.
+
+
+
+
+ Create a at the initial
+ minimum level.
+
+ The initial level to which the switch is set.
+
+
+
+ The event arises when changed. Note that the event is raised
+ under a lock so be careful within event handler to not fall into deadlock.
+
+
+
+
+ The current minimum level, below which no events
+ should be generated.
+
+
+
+
+ Event arguments for event.
+
+
+
+
+ Creates an instance of specifying old and new levels.
+
+ Old level.
+ New level.
+
+
+
+ Old level.
+
+
+
+
+ New level.
+
+
+
+
+ Indicates that the marked method logs data using a message template and (optional) arguments.
+ The name of the parameter which contains the message template should be given in the constructor.
+
+
+
+ [MessageTemplateFormatMethod("messageTemplate")]
+ public void Information(string messageTemplate, params object[] propertyValues)
+ {
+ // Do something
+ }
+
+ public void Foo()
+ {
+ Information("Hello, {Name}!") // Warning: Nonexistent argument in message template.
+ }
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the message template parameter.
+
+
+
+ Gets the name of the message template parameter.
+
+ The name of the message template parameter.
+
+
+
+ Buffers log events into batches for background flushing.
+
+
+
+
+ Construct a .
+
+ A to send log event batches to. Batches and empty
+ batch notifications will not be sent concurrently. When the is disposed,
+ it will dispose this object if possible.
+ Options controlling behavior of the sink.
+
+
+
+ Emit the provided log event to the sink. If the sink is being disposed or
+ the app domain unloaded, then the event is ignored.
+
+ Log event to emit.
+ The event is null.
+
+ The sink implements the contract that any events whose Emit() method has
+ completed at the time of sink disposal will be flushed (or attempted to,
+ depending on app domain state).
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Manages reconnection period and transient fault response for .
+ During normal operation an object of this type will simply echo the configured batch transmission
+ period. When availability fluctuates, the class tracks the number of failed attempts, each time
+ increasing the interval before reconnection is attempted (up to a set maximum) and at predefined
+ points indicating that either the current batch, or entire waiting queue, should be dropped. This
+ Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming
+ back online. Second, the sender needs to account for both bad batches (the first fault response) and
+ also overproduction (the second, queue-dropping response). In combination these should provide a
+ reasonable delivery effort but ultimately protect the sender from memory exhaustion.
+
+
+
+
+ Forwards log events to another logging pipeline. Copies the events so
+ that mutations performed on the copies do not affect the originals.
+
+ The properties dictionary is copied, however the values within
+ the dictionary (of type are expected to
+ be immutable.
+
+
+
+ A base class for visitors that rewrite the value with modifications. For example, implementations
+ might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of
+ one type into scalar properties of another.
+
+
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value of an unsupported type. Returns the value unchanged.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ An abstract base class for visitors that walk data in the
+ format. Subclasses, by
+ overriding appropriate methods, may search for, transform,
+ or print the value structures being visited.
+
+
+ Stateless, designed to accommodate allocation-free visiting of multiple
+ values by the same visitor instance.
+
+ The type of a state object passed through
+ the visiting process.
+ The type of the result generated by visiting
+ a node.
+
+
+
+ Visit the root node type. This method delegates to
+ a concrete Visit*Value() method appropriate for the value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value of an unsupported type. Always throws , when is not overridden.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+ Always
+
+
+
+ May be thrown by log event sinks when a failure occurs. Should not be used in cases
+ where the exception would propagate out to callers.
+
+
+
+
+ Construct a to communicate a logging failure.
+
+ A message describing the logging failure.
+
+
+
+ A simple source of information generated by Serilog itself,
+ for example when exceptions are thrown and caught internally.
+
+
+
+
+ Set the output mechanism for self-log messages.
+
+ A synchronized to which
+ self-log messages will be written.
+ When is null
+
+
+
+ Set the output mechanism for self-log messages.
+
+ An action to invoke with self-log messages.
+ // ReSharper disable once MemberCanBePrivate.Global
+ When is null
+
+
+
+ Clear the output mechanism and disable self-log events.
+
+ // ReSharper disable once MemberCanBePrivate.Global
+
+
+
+ Write a message to the self-log.
+
+ Standard .NET format string containing the message.
+ First argument, if supplied.
+ Second argument, if supplied.
+ Third argument, if supplied.
+
+ The name is historical; because this is used from third-party sink packages, removing the "Line"
+ suffix as would seem sensible isn't worth the breakage.
+
+
+
+
+ An that writes diagnostic information to . Sinks
+ that support failure listeners should use this instance by default.
+
+
+
+
+ A value represented as a mapping from keys to values.
+
+
+
+
+ Create a with the provided .
+
+ The key-value mappings represented in the dictionary.
+ When is null
+
+
+
+ The dictionary mapping.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A property associated with a .
+
+ This type is currently internal, while we consider future directions for the logging pipeline, but should end up public
+ in future.
+
+
+
+ No property.
+
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Permit deconstruction of the property into a name/value pair.
+
+ The name of the property.
+ The value of the property.
+
+
+
+
+
+ Indicates whether this instance and a specified are equal.
+ The to compare with the current instance.
+
+ if and this instance represent the same value; otherwise, .
+
+
+
+
+
+
+ Descriptive aliases for .
+
+ These do not appear as members of the enumeration
+ as duplicated underlying values result in issues when presenting
+ enum values with .
+
+
+
+ The least significant level of event.
+
+
+
+
+ The most significant level of event.
+
+
+
+
+ A value that, when used as a "minimum" level, will result in no
+ events being emitted.
+
+ It is never correct to construct a with this value.
+
+
+
+ A log event.
+
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ When is null
+ When is null
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+
+
+
+ The time at which the event occurred.
+
+
+
+
+ The level of the event.
+
+
+
+
+ The id of the trace that was active when the event was created, if any.
+
+
+
+
+ The id of the span that was active when the event was created, if any.
+
+
+
+
+ The message template describing the event.
+
+
+
+
+ Render the message template to the specified output, given the properties associated
+ with the event.
+
+ The output.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Render the message template given the properties associated
+ with the event, and return the result.
+
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Properties associated with the event, including those presented in .
+
+
+
+
+ An exception associated with the event, or null.
+
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is null
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is default
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is null
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is default
+
+
+
+ Remove a property from the event, if present. Otherwise no action
+ is performed.
+
+ The name of the property to remove.
+
+
+
+ Construct a using pre-allocated values for internal fields. Normally,
+ the constructor allocates a dictionary to back ,
+ so that this is not unexpectedly shared. This is unnecessary in many integration scenarios,
+ leading to an additional nontrivial allocation. This
+ method allows specialized callers to avoid that overhead.
+
+
+ Because this method exposes parameters that essentially map 1:1 with internal fields of ,
+ the parameter list may change across major Serilog versions.
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+ A constructed .
+
+
+
+ Specifies the meaning and relative importance of a log event.
+
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+
+
+
+ Service is degraded or endangered.
+
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+
+
+
+ A property associated with a .
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Construct a from an existing instance.
+
+ The existing property.
+ When is default
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Test to determine if it is a valid property name.
+
+ The name to check.
+ if the name is valid; otherwise, .
+
+
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ The value associated with a . Divided into scalar,
+ sequence and structure values to direct serialization into various formats.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ Formats the value of the current instance using the specified format.
+
+
+ The value of the current instance in the specified format.
+
+ The format to use.-or- A null reference (Nothing in Visual Basic) to use
+ the default format defined for the type of the implementation.
+ The provider to use to format the value.-or- A null reference
+ (Nothing in Visual Basic) to obtain the numeric format information from the current locale
+ setting of the operating system. 2
+
+
+
+ Represents a message template passed to a log method. The template
+ can subsequently render the template in textual form given the list
+ of properties.
+
+
+
+
+ Represents the empty message template.
+
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The text and property tokens defining the template.
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The full text of the template; used by Serilog internally to avoid unneeded
+ string concatenation.
+ The text and property tokens defining the template.
+ When is null
+ When is null
+
+
+
+ Similar to , but faster.
+
+
+
+
+ The raw text describing the template.
+
+
+
+
+ Render the template as a string.
+
+ The string representation of the template.
+
+
+
+ The tokens parsed from the template.
+
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ Supplies culture-specific formatting information, or null.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ When is null
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ A property value corresponding to a simple, scalar type.
+
+
+
+
+ Scalar value representing .
+
+
+
+
+ Construct a with the specified
+ value.
+
+ The value, which may be null.
+
+
+
+ The value, which may be null.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+ When is null
+
+
+
+ Determine if this instance is equal to .
+
+ The instance to compare with.
+ if the instances are equal; otherwise, .
+
+
+
+ Get a hash code representing the value.
+
+ The instance's hash code.
+
+
+
+ A value represented as an ordered sequence of values.
+
+
+
+
+ Empty sequence of values.
+
+
+
+
+ Create a with the provided .
+
+ The elements of the sequence.
+ When is null
+
+
+
+ The elements of the sequence.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A value represented as a collection of name-value properties.
+
+
+
+
+ Construct a with the provided properties.
+
+ Optionally, a piece of metadata describing the "type" of the
+ structure. Can be null.
+ The properties of the structure.
+ When is null
+
+
+
+ A piece of metadata describing the "type" of the
+ structure, or null.
+
+
+
+
+ The properties of the structure.
+
+ Not presented as a dictionary because dictionary construction is
+ relatively expensive; it is cheaper to build a dictionary over properties only
+ when the structure is of interest.
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ Predicates applied to log events that can be used
+
+
+
+
+ Matches events from the specified source type.
+
+ The source type.
+ A predicate for matching events.
+
+
+
+ Matches events from the specified source type or namespace and
+ nested types or namespaces.
+
+ A dotted source type or namespace identifier.
+ A function that matches log events emitted by the source.
+ When is null
+
+
+
+ Matches events with the specified property attached,
+ regardless of its value.
+
+ The name of the property to match.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ The property value to match; must be a scalar type.
+ Null is allowed.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ A predicate for testing
+ The type of scalar values to match.
+ A predicate for matching events.
+ When is null
+ When is null
+
+
+
+ Implements the {Level} element.
+ can now have a fixed width applied to it, as well as casing rules.
+ Width is set through formats like "u3" (uppercase three chars),
+ "w1" (one lowercase char), or "t4" (title case four chars).
+
+
+
+
+ A that supports the Serilog
+ message template format. Formatting log events for display
+ has a different set of requirements and expectations from
+ rendering the data within them. To meet this, the formatter
+ overrides some behavior: First, strings are always output
+ as literals (not quoted) unless some other format is applied
+ to them. Second, tokens without matching properties are skipped
+ rather than being written as raw text.
+
+ New code should prefer ExpressionTemplate from Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A message template describing the
+ output messages.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Describes the properties available in standard message template-based
+ output format strings.
+
+
+
+
+ The message rendered from the log event.
+
+
+
+
+ The timestamp of the log event.
+
+
+
+
+ The timestamp of the log event in UTC.
+
+
+
+
+ The level of the log event.
+
+
+
+
+ The id of the trace that was active at the log event's time of creation, if any.
+
+
+
+
+ The id of the span that was active at the log event's time of creation, if any.
+
+
+
+
+ A new line.
+
+
+
+
+ The exception associated with the log event.
+
+
+
+
+ The properties of the log event.
+
+
+
+
+ Formats log events in a textual representation.
+
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+
+
+
+ Formats log events in a simple JSON structure. Instances of this class
+ are safe for concurrent access by multiple threads.
+
+ New code should prefer formatters from Serilog.Formatting.Compact, or ExpressionTemplate from
+ Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A string that will be written after each log event is formatted.
+ If null, will be used.
+ If , the message will be rendered and written to the output as a
+ property named RenderedMessage.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Converts Serilog's structured property value format into JSON.
+
+
+
+
+ Construct a .
+
+ When serializing structured (object) values,
+ the property name to use for the Serilog field
+ in the resulting JSON. If null, no type tag field will be written. The default is
+ "_typeTag".
+
+
+
+ Format as JSON to .
+
+ The value to format
+ The output
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Write a literal as a single JSON value, e.g. as a number or string. Override to
+ support more value types. Don't write arrays/structures through this method - the
+ active destructuring policies have already indicated the value should be scalar at
+ this point.
+
+ The value to write.
+ The output
+
+
+
+ Write a valid JSON string literal, escaping as necessary.
+
+ The string value to write.
+ The output.
+
+
+
+ The core Serilog logging API, used for writing log events.
+
+
+ var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .CreateLogger();
+
+ var thing = "World";
+ log.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its static sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ An optional static entry point for logging that can be easily referenced
+ by different parts of an application. To configure the
+ set the Logger static property to a logger instance.
+
+
+ Log.Logger = new LoggerConfiguration()
+ .WithConsoleSink()
+ .CreateLogger();
+
+ var thing = "World";
+ Log.Logger.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its dynamic sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ The globally-shared logger.
+
+ When is null
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Configuration object for creating instances.
+
+
+
+
+ Construct a .
+
+
+
+
+ Configures the sinks that log events will be emitted to.
+
+
+
+
+ Configures sinks for auditing, instead of regular (safe) logging. When auditing is used,
+ exceptions from sinks and any intermediate filters propagate back to the caller. Most callers
+ should use instead.
+
+
+ Not all sinks are compatible with transactional auditing requirements (many will use asynchronous
+ batching to improve write throughput and latency). Sinks need to opt-in to auditing support by
+ extending , though the generic
+ method allows any sink class to be adapted for auditing.
+
+
+
+
+ Configures the minimum level at which events will be passed to sinks. If
+ not specified, only events at the
+ level and above will be passed through.
+
+ Configuration object allowing method chaining.
+
+
+
+ Configures enrichment of s. Enrichers can add, remove and
+ modify the properties associated with events.
+
+
+
+
+ Configures global filtering of s.
+
+
+
+
+ Configures destructuring of message template parameters.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+
+
+
+ Create a logger using the configured sinks, enrichers and minimum level.
+
+ The logger.
+ To free resources held by sinks ahead of program shutdown,
+ the returned logger may be cast to and
+ disposed.
+ When the logger is already created
+
+
+
+ Extends with additional methods.
+
+
+
+
+ Create a logger that enriches log events when the specified level is enabled.
+
+ The type of the property value.
+ The logger.
+ The log event level used to determine if log is enriched with property.
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+ When is null
+
+
+
+ A structure representing the alignment settings to apply when rendering a property.
+
+
+
+
+ Initializes a new instance of .
+
+ The text alignment direction.
+ The width of the text, in characters.
+
+
+
+ The text alignment direction.
+
+
+
+
+ The width of the text.
+
+
+
+
+ Defines the direction of the alignment.
+
+
+
+
+ Text will be left-aligned.
+
+
+
+
+ Text will be right-aligned.
+
+
+
+
+ Instructs the logger on how to store information about provided
+ parameters.
+
+
+
+
+ Convert known types and objects to scalars, arrays to sequences.
+
+
+
+
+ Convert all types to scalar strings. Prefix name with '$'.
+
+
+
+
+ Convert known types to scalars, destructure objects and collections
+ into sequences and structures. Prefix name with '@'.
+
+
+
+
+ Parses message template strings into sequences of text or property
+ tokens.
+
+
+
+
+ Construct a .
+
+
+
+
+ Parse the supplied message template.
+
+ The message template to parse.
+ A sequence of text or property tokens. Where the template
+ is not syntactically valid, text tokens will be returned. The parser
+ will make a best effort to extract valid property tokens even in the
+ presence of parsing issues.
+ When is null
+
+
+
+ An element parsed from a message template string.
+
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ A message template token representing a log event property.
+
+
+
+
+ Construct a .
+
+ The name of the property.
+ The token as it appears in the message template.
+ The format applied to the property, if any.
+ The alignment applied to the property, if any.
+ The destructuring strategy applied to the property, if any.
+ When is null
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ The property name.
+
+
+
+
+ Destructuring strategy applied to the property.
+
+
+
+
+ Format applied to the property.
+
+
+
+
+ Alignment applied to the property.
+
+
+
+
+ if the property name is a positional index; otherwise, .
+
+
+
+
+ Try to get the integer value represented by the property name.
+
+ The integer value, if present.
+ True if the property is positional, otherwise false.
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ A message template token representing literal text.
+
+
+
+
+ Construct a .
+
+ The text of the token.
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ The text of the token.
+
+
+
+
+ Apply upper or lower casing to when is provided.
+ Returns when no or invalid format provided
+
+ The provided with formatting applied
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+ This is a full copy of the method above that allows to write directly into provided
+ without call on the caller side.
+
+
+
+
+ Class that provides reusable StringWriters to reduce memory allocations
+
+
+
+
+ Max capacity of StringBuilder we keep for next using.
+
+
+
+
+ Gets already created StringWriter if there is one available or creates a new one.
+
+
+
+
+
+ Clear this instance and prepare it for reuse in the future.
+
+
+
+
+ Contains "fake extension" methods for the Serilog configuration API.
+ By default the settings knows how to find extension methods, but some configuration
+ are actually "regular" method calls and would not be found otherwise.
+
+ This static class contains internal methods that can be used instead.
+
+ See also
+
+
+
+
diff --git a/packages/Serilog.4.2.0/lib/netstandard2.0/Serilog.dll b/packages/Serilog.4.2.0/lib/netstandard2.0/Serilog.dll
new file mode 100644
index 0000000..86a6a85
Binary files /dev/null and b/packages/Serilog.4.2.0/lib/netstandard2.0/Serilog.dll differ
diff --git a/packages/Serilog.4.2.0/lib/netstandard2.0/Serilog.xml b/packages/Serilog.4.2.0/lib/netstandard2.0/Serilog.xml
new file mode 100644
index 0000000..da91d88
--- /dev/null
+++ b/packages/Serilog.4.2.0/lib/netstandard2.0/Serilog.xml
@@ -0,0 +1,6223 @@
+
+
+
+ Serilog
+
+
+
+
+ Recursively traverses a multidimensional array and constructs a nested SequenceValue representation.
+
+ The multidimensional array to traverse.
+ An array of indices representing the current position in each dimension.
+ The current dimension being processed.
+ The destructuring strategy.
+ A LogEventPropertyValue representing the array's structure and elements.
+
+
+
+ Create properties based on an ordered list of provided values.
+
+ The template that the parameters apply to.
+ Objects corresponding to the properties
+ represented in the message template.
+ A list of properties; if the template is malformed then
+ this will be empty.
+
+
+
+ True if compiler-generated types are treated specially by Serilog during logging. The main example
+ of this would be anonymous types, which have a special compiler-generated form. If this switch is
+ disabled, Serilog will not be able to destructure anonymous types, but will still be able to log
+ them as scalar values.
+
+
+
+
+ Initialization options for .
+
+
+
+
+ Eagerly emit a batch containing the first received event, regardless of
+ the target batch size or batching time. This helps with perceived "liveness"
+ when running/debugging applications interactively. The default is true.
+
+
+
+
+ The maximum number of events to include in a single batch. The default is 1000.
+
+
+
+
+ The maximum delay between event batches. The default is two seconds. If a batch can be filled
+ before the buffering time limit is reached, it will be emitted without waiting.
+
+
+
+
+ Maximum number of events to hold in the sink's internal queue, or null
+ for an unbounded queue. The default is 100000. When the limit is exceeded,
+ backpressure is applied.
+
+
+
+
+ The maximum time that the sink will keep retrying failed batches for. The default is ten minutes. Lower
+ this value to reduce buffering and backpressure in high-load scenarios.
+
+
+
+
+ Implemented on types that apply settings to a logger configuration.
+
+
+
+
+ Apply the settings to the logger configuration.
+
+ The logger configuration to apply settings to.
+
+
+
+ Controls audit sink configuration.
+
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Audit log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+
+
+
+ Controls template parameter destructuring configuration.
+
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Treat objects of the specified type as scalar values, i.e., don't break
+ them down into properties even when destructuring complex types.
+
+ Type to treat as scalar.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances with the provided policies.
+
+ Policies to apply when destructuring.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ When destructuring objects, transform instances with the provided policy.
+
+ Policy to apply when destructuring.
+ Configuration object allowing method chaining.
+
+
+
+ Capture instances of the specified type as dictionaries.
+ By default, only concrete instantiations of are considered dictionary-like.
+
+ Type of dictionary.
+ Configuration object allowing method chaining.
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function.
+
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ When destructuring objects, transform instances of the specified type with
+ the provided function, if the predicate returns true. Be careful to avoid any
+ intensive work in the predicate, as it can slow down the pipeline significantly.
+
+ A predicate used to determine if the transform applies to
+ a specific type of value
+ Function mapping instances of
+ to an alternative representation.
+ Type of values to transform.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ When destructuring objects, depth will be limited to 10 property traversals deep to
+ guard against ballooning space when recursive/cyclic structures are accidentally passed. To
+ change this limit pass a new maximum depth.
+
+ The maximum depth to use.
+ Configuration object allowing method chaining.
+ When is negative
+
+
+
+ When destructuring objects, string values can be restricted to specified length
+ thus avoiding bloating payload. Limit is applied to each value separately,
+ sum of length of strings can exceed limit.
+
+ The maximum string length.
+ Configuration object allowing method chaining.
+ When is less than 2
+
+
+
+ When destructuring objects, collections be restricted to specified count
+ thus avoiding bloating payload. Limit is applied to each collection separately,
+ sum of length of collection can exceed limit.
+ Applies limit to all including dictionaries.
+
+ Configuration object allowing method chaining.
+ When is less than 1
+
+
+
+ Controls enrichment configuration.
+
+
+
+
+ Specifies one or more enrichers that may add properties dynamically to
+ log events.
+
+ Enrichers to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Specifies an enricher that may add properties dynamically to
+ log events.
+
+ Enricher type to apply to all events passing through
+ the logger.
+ Configuration object allowing method chaining.
+
+
+
+ Include the specified property value in all events logged to the logger.
+
+ The name of the property to add.
+ The property value to add.
+ If , objects of unknown type will be logged as structures; otherwise they will be converted using .
+ Configuration object allowing method chaining.
+
+
+
+ Enrich log events with properties from .
+
+ Configuration object allowing method chaining.
+
+ Configuration object allowing method chaining.
+
+
+
+ Apply an enricher only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be enriched.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to .
+
+ The level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Apply an enricher only to events with a greater than or equal to the level specified by .
+
+ A that specifies the level from which the enricher will be applied.
+ An action that configures the wrapped enricher.
+ Configuration object allowing method chaining.
+ This method permits additional information to be attached to e.g. warnings and errors, that might be too expensive
+ to collect or store at lower levels.
+ When is null
+
+
+
+ Helper method for wrapping sinks.
+
+ The parent enrichment configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures enrichers to be wrapped in .
+ Configuration object allowing method chaining.
+ When is null
+ When is null
+ When is null
+
+
+
+ Controls filter configuration.
+
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+ When is null
+ When any element of is null
+
+
+
+ Filter out log events from the stream based on the provided filter.
+
+ The filters to apply.
+ Configuration object allowing method chaining.
+
+
+
+ Filter out log events that match a predicate.
+
+ Function that returns true when an event
+ should be excluded (silenced).
+ Configuration object allowing method chaining.
+
+
+
+ Filter log events to include only those that match a predicate.
+
+ Function that returns true when an event
+ should be included (emitted).
+ Configuration object allowing method chaining.
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Sets the minimum level at which events will be passed to sinks.
+
+ The minimum level to set.
+ Configuration object allowing method chaining.
+
+
+
+ Sets the minimum level to be dynamically controlled by the provided switch.
+
+ The switch.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+ Configuration object allowing method chaining.
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+ Configuration object allowing method chaining.
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+ Configuration object allowing method chaining.
+
+
+
+ Service is degraded or endangered.
+
+ Configuration object allowing method chaining.
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+ Configuration object allowing method chaining.
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+ Configuration object allowing method chaining.
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The switch controlling loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+ When a trimmed is empty
+ When is null
+
+
+
+ Override the minimum level for events from a specific namespace or type name.
+ This API is not supported for configuring sub-loggers (created through ). Use or instead.
+ You also might consider using https://github.com/serilog/serilog-filters-expressions.
+
+ The (partial) namespace or type name to set the override for.
+ The minimum level applied to loggers for matching sources.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Allows additional setting sources to drive the logger configuration.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Apply settings specified in the Serilog key-value setting format to the logger configuration.
+
+ A list of key-value pairs describing logger settings.
+ Configuration object allowing method chaining.
+ In case of duplicate keys, the last value for the key is kept and the previous ones are ignored.
+ When is null
+
+
+
+ Controls sink configuration.
+
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink.
+
+ Configuration object allowing method chaining.
+ Sink configuration methods that specify should also specify .
+
+
+
+ Write log events to an .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to the specified .
+
+ The sink.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+ Write log events to an . Events will be internally buffered, and
+ written to the sink in batches.
+
+ The batched sink to receive events.
+ Options that control batch sizes, buffering time, and backpressure.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime.
+ Configuration object allowing method chaining.
+
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ An action that configures the sub-logger.
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger. This will not be shut down automatically when the
+ parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write log events to a sub-logger, where further processing may occur. Events through
+ the sub-logger will be constrained by filters and enriched by enrichers that are
+ active in the parent. A sub-logger cannot be used to log at a more verbose level, but
+ a less verbose level is possible.
+
+ The sub-logger.
+ Whether to shut down automatically the sub-logger
+ when the parent logger is disposed.
+ The minimum level for
+ events passed through the sink.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null
+
+
+
+ Write to a sink only when evaluates to true.
+
+ A predicate that evaluates to true when the supplied
+ should be written to the configured sink.
+ An action that configures the wrapped sink.
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+
+
+
+ Write to a sink, and if the sink is unable to record the event, write to a second sink. Additional sinks can
+ be added to the chain if necessary.
+
+ A callback to configure the first sink to try. The argument to the callback supports
+ the same syntax as the WriteTo configuration object.
+ A callback to configure the second sink.
+ Additional callbacks to configure more sinks in the fallback chain.
+ Configuration object allowing method chaining.
+ When any argument is null.
+
+ Fallbacks rely on the target sink either a) synchronously throwing exceptions on failure, or b) implementing the
+ interface.
+
+
+
+
+
+ Helper method for constructing wrapper sinks.
+
+ The parent sink configuration.
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The minimum level for
+ events passed through the sink. Ignored when is specified.
+ A switch allowing the pass-through minimum level
+ to be changed at runtime. Can be null
+ Configuration object allowing method chaining.
+ When is null.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing wrapper sinks. This may be preferred over because it handles
+ delegation of through to the wrapped sink in cases where the wrapper is not
+ disposable.
+
+ A function that allows for wrapping s
+ added in .
+ An action that configures sinks to be wrapped in .
+ The wrapper, or a sink that will handle invoking the wrapper.
+ When is null.
+ When is null.
+
+
+
+ Helper method for constructing sinks outside of a logger pipeline.
+
+ An action that configures one or more sinks.
+ If only a single sink is configured,
+ it will be returned from . If zero or many sinks are configured, they will be combined
+ in an aggregating wrapper.
+ When is null.
+
+
+
+ Holds ambient properties that can be attached to log events. To
+ configure, use the method.
+
+
+ Configuration:
+
+ var log = new LoggerConfiguration()
+ .Enrich.FromLogContext()
+ ...
+
+ Usage:
+
+ using (LogContext.PushProperty("MessageId", message.Id))
+ {
+ Log.Information("The MessageId property will be attached to this event");
+ }
+
+
+ The scope of the context is the current logical thread, using AsyncLocal
+ (and so is preserved across async/await calls).
+
+
+
+ Push a property onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ The name of the property.
+ The value of the property.
+ A handle to later remove the property from the context.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ A token that must be disposed, in order, to pop properties back off the stack.
+
+
+
+ Push an enricher onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ An enricher to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Push multiple enrichers onto the context, returning an
+ that must later be used to remove the property, along with any others that
+ may have been pushed on top of it and not yet popped. The property must
+ be popped from the same thread/logical call context.
+
+ .
+ Enrichers to push onto the log context
+ A token that must be disposed, in order, to pop properties back off the stack.
+ When is null
+
+
+
+ Obtain an enricher that represents the current contents of the . This
+ can be pushed back onto the context in a different location/thread when required.
+
+ An enricher that represents the current contents of the .
+
+
+
+ Remove all enrichers from the , returning an
+ that must later be used to restore enrichers that were on the stack before was called.
+
+ A token that must be disposed, in order, to restore properties back to the stack.
+
+
+
+ Remove all enrichers from for the current async scope.
+
+
+
+
+ Constants used in the core logging pipeline and associated types.
+
+
+
+
+ The name of the property included in the emitted log events
+ when ForContext<T>() and overloads are
+ applied.
+
+
+
+
+ Adds a new property enricher to the log event.
+
+
+
+
+ Create a new property enricher.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+ When is null
+ When is null
+
+
+
+ A destination that accepts events in batches. Many sinks gain a performance advantage by handling events in batches,
+ for example to combine multiple events into a single network request to a remote collector. Because the client
+ application cannot wait for every event to be flushed when batching is used, batched sinks normally work
+ asynchronously to conserve local resources while batches are sent.
+
+
+
+
+
+ Emit a batch of log events, asynchronously.
+
+ The batch of events to emit.
+ Implementers should allow exceptions to propagate when batches fail. The batching infrastructure
+ handles exception handling, diagnostics, and retries.
+
+
+
+ Allows sinks to perform periodic work without requiring additional threads
+ or timers (thus avoiding additional flush/shut-down complexity).
+
+
+
+
+ Determine how, when destructuring, a supplied value is represented
+ as a complex log event property.
+
+
+
+
+ If supported, destructure the provided value.
+
+ The value to destructure.
+ Recursively apply policies to destructure additional values.
+ The destructured value, or null.
+ True if the value could be destructured under this policy.
+
+
+
+ Applied during logging to add additional information to log events.
+
+
+
+
+ Enrich the log event.
+
+ The log event to enrich.
+ Factory for creating new properties to add to the event.
+
+
+
+ Provides filtering of the log event stream.
+
+
+
+
+ Returns true if the provided event is enabled. Otherwise, .
+
+ The event to test.
+ if the event is enabled by this filter. If
+ is returned, the event will not be emitted.
+
+
+
+ Creates log event properties from regular .NET objects, applying policies as
+ required.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ Created instance.
+
+
+
+ Supports the policy-driven construction of s given
+ regular .NET objects.
+
+
+
+
+ Create a given a .NET object and destructuring
+ strategy.
+
+ The value of the property.
+ If , and the value is a non-primitive, non-array type,
+ then the value will be converted to a structure; otherwise, unknown types will
+ be converted to scalars, which are generally stored as strings.
+ The value.
+
+
+
+ A destination for log events.
+
+
+
+
+
+ Emit the provided log event to the sink.
+
+ The log event to write.
+
+ Implementers should allow exceptions to propagate when event emission fails. The logger will handle
+ exceptions and produce diagnostics appropriately.
+
+
+
+ Implementers can be notified of various failure conditions in the Serilog pipeline.
+
+
+
+
+ A logging feature has failed. Often, failures will communicate errors encountered when writing
+ log events to sinks.
+
+ The object that generated or observed the failure.
+ An indication of the failure kind.
+ A description of the failure.
+ Events associated with the failure.
+ The exception triggering the failure, if any.
+
+
+
+ Determine how a simple value is carried through the logging
+ pipeline as an immutable .
+
+
+
+
+ If supported, convert the provided value into an immutable scalar.
+
+ The value to convert.
+ The converted value, or null.
+ True if the value could be converted under this policy.
+
+
+
+ Implemented by sinks that can report failures through an .
+
+
+
+
+ Set the (single) failure listener that the sink should use to report failures. This method must
+ be called only during initialization, on the initialization thread, before logging has started.
+
+ The listener through which to report failures.
+
+
+
+ The core Serilog logging pipeline. A must
+ be disposed to flush any events buffered within it. Most application
+ code should depend on , not this class.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Determine if events at the specified level, and higher, will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Close and flush the logging pipeline.
+
+
+
+
+ An instance that efficiently ignores all method calls.
+
+
+
+
+ Describes the reason for a logging failure.
+
+
+
+
+ A failure has occured; the situation may resolve and if any events are associated with the failure,
+ logging will be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; any events associated with the failure will not be retried by the reporting sink.
+
+
+
+
+ A failure has occurred; the reporting sink is going offline and no retries will be attempted.
+
+
+
+
+ Dynamically controls logging level.
+
+
+
+
+ Create a at the initial
+ minimum level.
+
+ The initial level to which the switch is set.
+
+
+
+ The event arises when changed. Note that the event is raised
+ under a lock so be careful within event handler to not fall into deadlock.
+
+
+
+
+ The current minimum level, below which no events
+ should be generated.
+
+
+
+
+ Event arguments for event.
+
+
+
+
+ Creates an instance of specifying old and new levels.
+
+ Old level.
+ New level.
+
+
+
+ Old level.
+
+
+
+
+ New level.
+
+
+
+
+ Indicates that the marked method logs data using a message template and (optional) arguments.
+ The name of the parameter which contains the message template should be given in the constructor.
+
+
+
+ [MessageTemplateFormatMethod("messageTemplate")]
+ public void Information(string messageTemplate, params object[] propertyValues)
+ {
+ // Do something
+ }
+
+ public void Foo()
+ {
+ Information("Hello, {Name}!") // Warning: Nonexistent argument in message template.
+ }
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the message template parameter.
+
+
+
+ Gets the name of the message template parameter.
+
+ The name of the message template parameter.
+
+
+
+ Buffers log events into batches for background flushing.
+
+
+
+
+ Construct a .
+
+ A to send log event batches to. Batches and empty
+ batch notifications will not be sent concurrently. When the is disposed,
+ it will dispose this object if possible.
+ Options controlling behavior of the sink.
+
+
+
+ Emit the provided log event to the sink. If the sink is being disposed or
+ the app domain unloaded, then the event is ignored.
+
+ Log event to emit.
+ The event is null.
+
+ The sink implements the contract that any events whose Emit() method has
+ completed at the time of sink disposal will be flushed (or attempted to,
+ depending on app domain state).
+
+
+
+
+
+
+
+
+
+
+ Manages reconnection period and transient fault response for .
+ During normal operation an object of this type will simply echo the configured batch transmission
+ period. When availability fluctuates, the class tracks the number of failed attempts, each time
+ increasing the interval before reconnection is attempted (up to a set maximum) and at predefined
+ points indicating that either the current batch, or entire waiting queue, should be dropped. This
+ Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming
+ back online. Second, the sender needs to account for both bad batches (the first fault response) and
+ also overproduction (the second, queue-dropping response). In combination these should provide a
+ reasonable delivery effort but ultimately protect the sender from memory exhaustion.
+
+
+
+
+ Forwards log events to another logging pipeline. Copies the events so
+ that mutations performed on the copies do not affect the originals.
+
+ The properties dictionary is copied, however the values within
+ the dictionary (of type are expected to
+ be immutable.
+
+
+
+ A base class for visitors that rewrite the value with modifications. For example, implementations
+ might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of
+ one type into scalar properties of another.
+
+
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value of an unsupported type. Returns the value unchanged.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ An abstract base class for visitors that walk data in the
+ format. Subclasses, by
+ overriding appropriate methods, may search for, transform,
+ or print the value structures being visited.
+
+
+ Stateless, designed to accommodate allocation-free visiting of multiple
+ values by the same visitor instance.
+
+ The type of a state object passed through
+ the visiting process.
+ The type of the result generated by visiting
+ a node.
+
+
+
+ Visit the root node type. This method delegates to
+ a concrete Visit*Value() method appropriate for the value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value of an unsupported type. Always throws , when is not overridden.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+ Always
+
+
+
+ May be thrown by log event sinks when a failure occurs. Should not be used in cases
+ where the exception would propagate out to callers.
+
+
+
+
+ Construct a to communicate a logging failure.
+
+ A message describing the logging failure.
+
+
+
+ A simple source of information generated by Serilog itself,
+ for example when exceptions are thrown and caught internally.
+
+
+
+
+ Set the output mechanism for self-log messages.
+
+ A synchronized to which
+ self-log messages will be written.
+ When is null
+
+
+
+ Set the output mechanism for self-log messages.
+
+ An action to invoke with self-log messages.
+ // ReSharper disable once MemberCanBePrivate.Global
+ When is null
+
+
+
+ Clear the output mechanism and disable self-log events.
+
+ // ReSharper disable once MemberCanBePrivate.Global
+
+
+
+ Write a message to the self-log.
+
+ Standard .NET format string containing the message.
+ First argument, if supplied.
+ Second argument, if supplied.
+ Third argument, if supplied.
+
+ The name is historical; because this is used from third-party sink packages, removing the "Line"
+ suffix as would seem sensible isn't worth the breakage.
+
+
+
+
+ An that writes diagnostic information to . Sinks
+ that support failure listeners should use this instance by default.
+
+
+
+
+ A value represented as a mapping from keys to values.
+
+
+
+
+ Create a with the provided .
+
+ The key-value mappings represented in the dictionary.
+ When is null
+
+
+
+ The dictionary mapping.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A property associated with a .
+
+ This type is currently internal, while we consider future directions for the logging pipeline, but should end up public
+ in future.
+
+
+
+ No property.
+
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Permit deconstruction of the property into a name/value pair.
+
+ The name of the property.
+ The value of the property.
+
+
+
+
+
+ Indicates whether this instance and a specified are equal.
+ The to compare with the current instance.
+
+ if and this instance represent the same value; otherwise, .
+
+
+
+
+
+
+ Descriptive aliases for .
+
+ These do not appear as members of the enumeration
+ as duplicated underlying values result in issues when presenting
+ enum values with .
+
+
+
+ The least significant level of event.
+
+
+
+
+ The most significant level of event.
+
+
+
+
+ A value that, when used as a "minimum" level, will result in no
+ events being emitted.
+
+ It is never correct to construct a with this value.
+
+
+
+ A log event.
+
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ When is null
+ When is null
+
+
+
+ Construct a new .
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+
+
+
+ The time at which the event occurred.
+
+
+
+
+ The level of the event.
+
+
+
+
+ The id of the trace that was active when the event was created, if any.
+
+
+
+
+ The id of the span that was active when the event was created, if any.
+
+
+
+
+ The message template describing the event.
+
+
+
+
+ Render the message template to the specified output, given the properties associated
+ with the event.
+
+ The output.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Render the message template given the properties associated
+ with the event, and return the result.
+
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Properties associated with the event, including those presented in .
+
+
+
+
+ An exception associated with the event, or null.
+
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is null
+
+
+
+ Add a property to the event if not already present, otherwise, update its value.
+
+ The property to add or update.
+ When is default
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is null
+
+
+
+ Add a property to the event if not already present.
+
+ The property to add.
+ When is default
+
+
+
+ Remove a property from the event, if present. Otherwise no action
+ is performed.
+
+ The name of the property to remove.
+
+
+
+ Construct a using pre-allocated values for internal fields. Normally,
+ the constructor allocates a dictionary to back ,
+ so that this is not unexpectedly shared. This is unnecessary in many integration scenarios,
+ leading to an additional nontrivial allocation. This
+ method allows specialized callers to avoid that overhead.
+
+
+ Because this method exposes parameters that essentially map 1:1 with internal fields of ,
+ the parameter list may change across major Serilog versions.
+
+ The time at which the event occurred.
+ The level of the event.
+ An exception associated with the event, or null.
+ The message template describing the event.
+ Properties associated with the event, including those presented in .
+ The id of the trace that was active when the event was created, if any.
+ The id of the span that was active when the event was created, if any.
+ When is null
+ When is null
+ A constructed .
+
+
+
+ Specifies the meaning and relative importance of a log event.
+
+
+
+
+ Anything and everything you might want to know about
+ a running block of code.
+
+
+
+
+ Internal system events that aren't necessarily
+ observable from the outside.
+
+
+
+
+ The lifeblood of operational intelligence - things
+ happen.
+
+
+
+
+ Service is degraded or endangered.
+
+
+
+
+ Functionality is unavailable, invariants are broken
+ or data is lost.
+
+
+
+
+ If you have a pager, it goes off when one of these
+ occurs.
+
+
+
+
+ A property associated with a .
+
+
+
+
+ Construct a with the specified name and value.
+
+ The name of the property.
+ The value of the property.
+ When is null
+ When is empty or only contains whitespace
+ When is null
+
+
+
+ Construct a from an existing instance.
+
+ The existing property.
+ When is default
+
+
+
+ The name of the property.
+
+
+
+
+ The value of the property.
+
+
+
+
+ Test to determine if it is a valid property name.
+
+ The name to check.
+ if the name is valid; otherwise, .
+
+
+ When is null
+ When is empty or only contains whitespace
+
+
+
+ The value associated with a . Divided into scalar,
+ sequence and structure values to direct serialization into various formats.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ Formats the value of the current instance using the specified format.
+
+
+ The value of the current instance in the specified format.
+
+ The format to use.-or- A null reference (Nothing in Visual Basic) to use
+ the default format defined for the type of the implementation.
+ The provider to use to format the value.-or- A null reference
+ (Nothing in Visual Basic) to obtain the numeric format information from the current locale
+ setting of the operating system. 2
+
+
+
+ Represents a message template passed to a log method. The template
+ can subsequently render the template in textual form given the list
+ of properties.
+
+
+
+
+ Represents the empty message template.
+
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The text and property tokens defining the template.
+
+
+
+ Construct a message template using manually-defined text and property tokens.
+
+ The full text of the template; used by Serilog internally to avoid unneeded
+ string concatenation.
+ The text and property tokens defining the template.
+ When is null
+ When is null
+
+
+
+ Similar to , but faster.
+
+
+
+
+ The raw text describing the template.
+
+
+
+
+ Render the template as a string.
+
+ The string representation of the template.
+
+
+
+ The tokens parsed from the template.
+
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ Supplies culture-specific formatting information, or null.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ When is null
+
+
+
+ Convert the message template into a textual message, given the
+ properties matching the tokens in the message template.
+
+ Properties matching template tokens.
+ The message created from the template and properties. If the
+ properties are mismatched with the template, the template will be
+ returned with incomplete substitution.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ A property value corresponding to a simple, scalar type.
+
+
+
+
+ Scalar value representing .
+
+
+
+
+ Construct a with the specified
+ value.
+
+ The value, which may be null.
+
+
+
+ The value, which may be null.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+ When is null
+
+
+
+ Determine if this instance is equal to .
+
+ The instance to compare with.
+ if the instances are equal; otherwise, .
+
+
+
+ Get a hash code representing the value.
+
+ The instance's hash code.
+
+
+
+ A value represented as an ordered sequence of values.
+
+
+
+
+ Empty sequence of values.
+
+
+
+
+ Create a with the provided .
+
+ The elements of the sequence.
+ When is null
+
+
+
+ The elements of the sequence.
+
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ A value represented as a collection of name-value properties.
+
+
+
+
+ Construct a with the provided properties.
+
+ Optionally, a piece of metadata describing the "type" of the
+ structure. Can be null.
+ The properties of the structure.
+ When is null
+
+
+
+ A piece of metadata describing the "type" of the
+ structure, or null.
+
+
+
+
+ The properties of the structure.
+
+ Not presented as a dictionary because dictionary construction is
+ relatively expensive; it is cheaper to build a dictionary over properties only
+ when the structure is of interest.
+
+
+
+ Render the value to the output.
+
+ The output.
+ A format string applied to the value, or null.
+ A format provider to apply to the value, or null to use the default.
+ .
+ When is null
+
+
+
+ Predicates applied to log events that can be used
+
+
+
+
+ Matches events from the specified source type.
+
+ The source type.
+ A predicate for matching events.
+
+
+
+ Matches events from the specified source type or namespace and
+ nested types or namespaces.
+
+ A dotted source type or namespace identifier.
+ A function that matches log events emitted by the source.
+ When is null
+
+
+
+ Matches events with the specified property attached,
+ regardless of its value.
+
+ The name of the property to match.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ The property value to match; must be a scalar type.
+ Null is allowed.
+ A predicate for matching events.
+ When is null
+
+
+
+ Matches events with the specified property value.
+
+ The name of the property to match.
+ A predicate for testing
+ The type of scalar values to match.
+ A predicate for matching events.
+ When is null
+ When is null
+
+
+
+ Implements the {Level} element.
+ can now have a fixed width applied to it, as well as casing rules.
+ Width is set through formats like "u3" (uppercase three chars),
+ "w1" (one lowercase char), or "t4" (title case four chars).
+
+
+
+
+ A that supports the Serilog
+ message template format. Formatting log events for display
+ has a different set of requirements and expectations from
+ rendering the data within them. To meet this, the formatter
+ overrides some behavior: First, strings are always output
+ as literals (not quoted) unless some other format is applied
+ to them. Second, tokens without matching properties are skipped
+ rather than being written as raw text.
+
+ New code should prefer ExpressionTemplate from Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A message template describing the
+ output messages.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Describes the properties available in standard message template-based
+ output format strings.
+
+
+
+
+ The message rendered from the log event.
+
+
+
+
+ The timestamp of the log event.
+
+
+
+
+ The timestamp of the log event in UTC.
+
+
+
+
+ The level of the log event.
+
+
+
+
+ The id of the trace that was active at the log event's time of creation, if any.
+
+
+
+
+ The id of the span that was active at the log event's time of creation, if any.
+
+
+
+
+ A new line.
+
+
+
+
+ The exception associated with the log event.
+
+
+
+
+ The properties of the log event.
+
+
+
+
+ Formats log events in a textual representation.
+
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+
+
+
+ Formats log events in a simple JSON structure. Instances of this class
+ are safe for concurrent access by multiple threads.
+
+ New code should prefer formatters from Serilog.Formatting.Compact, or ExpressionTemplate from
+ Serilog.Expressions.
+
+
+
+ Construct a .
+
+ A string that will be written after each log event is formatted.
+ If null, will be used.
+ If , the message will be rendered and written to the output as a
+ property named RenderedMessage.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ Format the log event into the output.
+
+ The event to format.
+ The output.
+ When is null
+ When is null
+
+
+
+ Converts Serilog's structured property value format into JSON.
+
+
+
+
+ Construct a .
+
+ When serializing structured (object) values,
+ the property name to use for the Serilog field
+ in the resulting JSON. If null, no type tag field will be written. The default is
+ "_typeTag".
+
+
+
+ Format as JSON to .
+
+ The value to format
+ The output
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+ When is null
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Visit a value.
+
+ Operation state.
+ The value to visit.
+ The result of visiting .
+
+
+
+ Write a literal as a single JSON value, e.g. as a number or string. Override to
+ support more value types. Don't write arrays/structures through this method - the
+ active destructuring policies have already indicated the value should be scalar at
+ this point.
+
+ The value to write.
+ The output
+
+
+
+ Write a valid JSON string literal, escaping as necessary.
+
+ The string value to write.
+ The output.
+
+
+
+ The core Serilog logging API, used for writing log events.
+
+
+ var log = new LoggerConfiguration()
+ .WriteTo.Console()
+ .CreateLogger();
+
+ var thing = "World";
+ log.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its static sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+
+
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ An optional static entry point for logging that can be easily referenced
+ by different parts of an application. To configure the
+ set the Logger static property to a logger instance.
+
+
+ Log.Logger = new LoggerConfiguration()
+ .WithConsoleSink()
+ .CreateLogger();
+
+ var thing = "World";
+ Log.Logger.Information("Hello, {Thing}!", thing);
+
+
+ The methods on (and its dynamic sibling ) are guaranteed
+ never to throw exceptions. Methods on all other types may.
+
+
+
+
+ The globally-shared logger.
+
+ When is null
+
+
+
+ Resets to the default and disposes the original if possible
+
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enricher that applies in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events via the provided enrichers.
+
+ Enrichers that apply in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that enriches log events with the specified property.
+
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Create a logger that marks log events as being from the specified
+ source type.
+
+ Type generating log messages in the context.
+ A logger that will enrich log events as specified.
+
+
+
+ Write an event to the log.
+
+ The event to write.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level.
+
+ The level of the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+
+
+ Write a log event with the specified level and associated exception.
+
+ The level of the event.
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+
+
+ Determine if events at the specified level will be passed through
+ to the log sinks.
+
+ Level to check.
+ if the level is enabled; otherwise, .
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose("Staring into space, wondering if we're alone.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Verbose(ex, "Staring into space, wondering where this comet came from.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug("Starting up at {StartedAt}.", DateTime.Now);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Debug(ex, "Swallowing a mundane exception.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error("Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length);
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level.
+
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal("Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+ Object positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Write a log event with the level and associated exception.
+
+ Exception related to the event.
+ Message template describing the event.
+ Objects positionally formatted into the message template.
+
+ Log.Fatal(ex, "Process terminating.");
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a set of properties to a
+ message template. Returns false if the template or values are invalid (ILogger
+ methods never throw exceptions).
+
+ Message template describing an event.
+ Objects positionally formatted into the message template.
+ The internal representation of the template, which may be used to
+ render the as text.
+ Captured properties from the template and .
+
+ MessageTemplate template;
+ IEnumerable<LogEventProperty> properties>;
+ if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties)
+ {
+ var propsByName = properties.ToDictionary(p => p.Name, p => p.Value);
+ Console.WriteLine(template.Render(propsByName, null));
+ // -> "Hello, World!"
+ }
+
+
+
+
+ Uses configured scalar conversion and destructuring rules to bind a property value to its captured
+ representation.
+
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ The resulting property.
+ True if the property could be bound, otherwise false (ILogger
+ methods never throw exceptions).
+
+
+
+ Configuration object for creating instances.
+
+
+
+
+ Construct a .
+
+
+
+
+ Configures the sinks that log events will be emitted to.
+
+
+
+
+ Configures sinks for auditing, instead of regular (safe) logging. When auditing is used,
+ exceptions from sinks and any intermediate filters propagate back to the caller. Most callers
+ should use instead.
+
+
+ Not all sinks are compatible with transactional auditing requirements (many will use asynchronous
+ batching to improve write throughput and latency). Sinks need to opt-in to auditing support by
+ extending , though the generic
+ method allows any sink class to be adapted for auditing.
+
+
+
+
+ Configures the minimum level at which events will be passed to sinks. If
+ not specified, only events at the
+ level and above will be passed through.
+
+ Configuration object allowing method chaining.
+
+
+
+ Configures enrichment of s. Enrichers can add, remove and
+ modify the properties associated with events.
+
+
+
+
+ Configures global filtering of s.
+
+
+
+
+ Configures destructuring of message template parameters.
+
+
+
+
+ Apply external settings to the logger configuration.
+
+
+
+
+ Create a logger using the configured sinks, enrichers and minimum level.
+
+ The logger.
+ To free resources held by sinks ahead of program shutdown,
+ the returned logger may be cast to and
+ disposed.
+ When the logger is already created
+
+
+
+ Extends with additional methods.
+
+
+
+
+ Create a logger that enriches log events when the specified level is enabled.
+
+ The type of the property value.
+ The logger.
+ The log event level used to determine if log is enriched with property.
+ The name of the property. Must be non-empty.
+ The property value.
+ If , the value will be serialized as a structured
+ object if possible; if , the object will be recorded as a scalar or simple array.
+ A logger that will enrich log events as specified.
+ When is null
+
+
+
+ A structure representing the alignment settings to apply when rendering a property.
+
+
+
+
+ Initializes a new instance of .
+
+ The text alignment direction.
+ The width of the text, in characters.
+
+
+
+ The text alignment direction.
+
+
+
+
+ The width of the text.
+
+
+
+
+ Defines the direction of the alignment.
+
+
+
+
+ Text will be left-aligned.
+
+
+
+
+ Text will be right-aligned.
+
+
+
+
+ Instructs the logger on how to store information about provided
+ parameters.
+
+
+
+
+ Convert known types and objects to scalars, arrays to sequences.
+
+
+
+
+ Convert all types to scalar strings. Prefix name with '$'.
+
+
+
+
+ Convert known types to scalars, destructure objects and collections
+ into sequences and structures. Prefix name with '@'.
+
+
+
+
+ Parses message template strings into sequences of text or property
+ tokens.
+
+
+
+
+ Construct a .
+
+
+
+
+ Parse the supplied message template.
+
+ The message template to parse.
+ A sequence of text or property tokens. Where the template
+ is not syntactically valid, text tokens will be returned. The parser
+ will make a best effort to extract valid property tokens even in the
+ presence of parsing issues.
+ When is null
+
+
+
+ An element parsed from a message template string.
+
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+
+
+
+ A message template token representing a log event property.
+
+
+
+
+ Construct a .
+
+ The name of the property.
+ The token as it appears in the message template.
+ The format applied to the property, if any.
+ The alignment applied to the property, if any.
+ The destructuring strategy applied to the property, if any.
+ When is null
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+ When is null
+
+
+
+ The property name.
+
+
+
+
+ Destructuring strategy applied to the property.
+
+
+
+
+ Format applied to the property.
+
+
+
+
+ Alignment applied to the property.
+
+
+
+
+ if the property name is a positional index; otherwise, .
+
+
+
+
+ Try to get the integer value represented by the property name.
+
+ The integer value, if present.
+ True if the property is positional, otherwise false.
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ A message template token representing literal text.
+
+
+
+
+ Construct a .
+
+ The text of the token.
+ When is null
+
+
+
+ The token's length.
+
+
+
+
+ Render the token to the output.
+
+ Properties that may be represented by the token.
+ Output for the rendered string.
+ Supplies culture-specific formatting information, or null.
+ When is null
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ if the specified object is equal to the current object; otherwise, .
+
+ The object to compare with the current object. 2
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+ 2
+
+
+
+ Returns a string that represents the current object.
+
+
+ A string that represents the current object.
+
+ 2
+
+
+
+ The text of the token.
+
+
+
+
+ Apply upper or lower casing to when is provided.
+ Returns when no or invalid format provided
+
+ The provided with formatting applied
+
+
+
+ Writes the provided value to the output, applying direction-based padding when is provided.
+
+
+
+
+ Class that provides reusable StringWriters to reduce memory allocations
+
+
+
+
+ Max capacity of StringBuilder we keep for next using.
+
+
+
+
+ Gets already created StringWriter if there is one available or creates a new one.
+
+
+
+
+
+ Clear this instance and prepare it for reuse in the future.
+
+
+
+
+ Contains "fake extension" methods for the Serilog configuration API.
+ By default the settings knows how to find extension methods, but some configuration
+ are actually "regular" method calls and would not be found otherwise.
+
+ This static class contains internal methods that can be used instead.
+
+ See also
+
+
+
+
+ A super-simple, cut-down subset of `System.TimeProvider` which we use internally to avoid a package dependency
+ on platforms without it.
+
+
+
+
+ Specifies that null is allowed as an input even if the corresponding type disallows it.
+
+
+
+
+ Specifies that null is disallowed as an input even if the corresponding type allows it.
+
+
+
+
+ Applied to a method that will never return under any circumstance.
+
+
+
+
+ Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
+
+
+
+
+ Initializes the attribute with the specified parameter value.
+
+
+ The condition parameter value. Code after the method will be considered unreachable
+ by diagnostics if the argument to the associated parameter matches this value.
+
+
+
+
+ Gets the condition parameter value.
+
+
+
+
+ Indicates that an API is experimental and it may change in the future.
+
+
+ This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
+ feature is used. Authors can use this attribute to ship preview features in their assemblies.
+
+
+
+
+ Initializes a new instance of the class,
+ specifying the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+
+
+ Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
+
+ The unique diagnostic ID.
+
+ The diagnostic ID is shown in build output for warnings and errors.
+ This property represents the unique ID that can be used to suppress the warnings or errors, if needed.
+
+
+
+
+ Gets or sets the URL for corresponding documentation.
+ The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
+
+ The format string that represents a URL to corresponding documentation.
+ An example format string is https://contoso.com/obsoletion-warnings/{0}.
+
+
+
+ Specifies that an output may be null even if the corresponding type disallows it.
+
+
+
+
+ Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it.
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter may be null.
+
+
+
+ Gets the return value condition.
+
+
+
+
+ Specifies that the method or property will ensure that the listed field and property members have not-null values.
+
+
+
+
+ Initializes the attribute with a field or property member.
+
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the list of field and property members.
+
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets field or property member names.
+
+
+
+
+ Specifies that the method or property will ensure that the listed field and property
+ members have not-null values when returning with the specified return value condition.
+
+
+
+
+ Initializes the attribute with the specified return value condition and a field or property member.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+ The field or property member that is promised to be not-null.
+
+
+
+ Initializes the attribute with the specified return value condition and list of field and property members.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+ The list of field and property members that are promised to be not-null.
+
+
+
+ Gets the return value condition.
+
+
+
+
+ Gets field or property member names.
+
+
+
+
+ Specifies that an output will not be null even if the corresponding type allows it.
+ Specifies that an input argument was not null when the call returns.
+
+
+
+
+ Specifies that the output will be non-null if the named parameter is non-null.
+
+
+
+
+ Initializes the attribute with the associated parameter name.
+
+ The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
+
+
+
+ Gets the associated parameter name.
+
+
+
+
+ Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
+
+
+
+
+ Initializes the attribute with the specified return value condition.
+
+ The return value condition. If the method returns this value, the associated parameter will not be null.
+
+
+ Gets the return value condition.
+
+
+
+ Specifies that this constructor sets all required members for the current type,
+ and callers do not need to set any required members themselves.
+
+
+
+
+ Specifies the syntax used in a string.
+
+
+
+
+ Initializes the with the identifier of the syntax used.
+
+ The syntax identifier.
+
+
+ Initializes the with the identifier of the syntax used.
+ The syntax identifier.
+ Optional arguments associated with the specific syntax employed.
+
+
+ Gets the identifier of the syntax used.
+
+
+ Optional arguments associated with the specific syntax employed.
+
+
+ The syntax identifier for strings containing composite formats for string formatting.
+
+
+ The syntax identifier for strings containing date format specifiers.
+
+
+ The syntax identifier for strings containing date and time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing JavaScript Object Notation (JSON).
+
+
+ The syntax identifier for strings containing numeric format specifiers.
+
+
+ The syntax identifier for strings containing regular expressions.
+
+
+ The syntax identifier for strings containing time format specifiers.
+
+
+ The syntax identifier for strings containing format specifiers.
+
+
+ The syntax identifier for strings containing URIs.
+
+
+ The syntax identifier for strings containing XML.
+
+
+
+ Used to indicate a byref escapes and is not scoped.
+
+
+
+ There are several cases where the C# compiler treats a as implicitly
+ - where the compiler does not allow the to escape the method.
+
+
+ For example:
+
+ - for instance methods.
+ - parameters that refer to types.
+ - parameters.
+
+
+
+ This attribute is used in those instances where the should be allowed to escape.
+
+
+ Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
+ API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
+
+
+
+
+
+ Indicates that certain members on a specified are accessed dynamically,
+ for example through .
+
+
+ This allows tools to understand which members are being accessed during the execution
+ of a program.
+
+ This attribute is valid on members whose type is or .
+
+ When this attribute is applied to a location of type , the assumption is
+ that the string represents a fully qualified type name.
+
+ When this attribute is applied to a class, interface, or struct, the members specified
+ can be accessed dynamically on instances returned from calling
+ on instances of that class, interface, or struct.
+
+ If the attribute is applied to a method it's treated as a special case and it implies
+ the attribute should be applied to the "this" parameter of the method. As such the attribute
+ should only be used on instance methods of types assignable to System.Type (or string, but no methods
+ will use it there).
+
+
+
+
+ Initializes a new instance of the class
+ with the specified member types.
+
+ The types of members dynamically accessed.
+
+
+
+ Gets the which specifies the type
+ of members dynamically accessed.
+
+
+
+
+ Specifies the types of members that are dynamically accessed.
+
+ This enumeration has a attribute that allows a
+ bitwise combination of its member values.
+
+
+
+
+ Specifies no members.
+
+
+
+
+ Specifies the default, parameterless public constructor.
+
+
+
+
+ Specifies all public constructors.
+
+
+
+
+ Specifies all non-public constructors.
+
+
+
+
+ Specifies all public methods.
+
+
+
+
+ Specifies all non-public methods.
+
+
+
+
+ Specifies all public fields.
+
+
+
+
+ Specifies all non-public fields.
+
+
+
+
+ Specifies all public nested types.
+
+
+
+
+ Specifies all non-public nested types.
+
+
+
+
+ Specifies all public properties.
+
+
+
+
+ Specifies all non-public properties.
+
+
+
+
+ Specifies all public events.
+
+
+
+
+ Specifies all non-public events.
+
+
+
+
+ Specifies all interfaces implemented by the type.
+
+
+
+
+ Specifies all members.
+
+
+
+
+ States a dependency that one member has on another.
+
+
+ This can be used to inform tooling of a dependency that is otherwise not evident purely from
+ metadata and IL, for example a member relied on via reflection.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on the same type as the consumer.
+
+ The signature of the member depended on.
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on a .
+
+ The signature of the member depended on.
+ The containing .
+
+
+
+ Initializes a new instance of the class
+ with the specified signature of a member on a type in an assembly.
+
+ The signature of the member depended on.
+ The full name of the type containing the specified member.
+ The assembly name of the type containing the specified member.
+
+
+
+ Initializes a new instance of the class
+ with the specified types of members on a .
+
+ The types of members depended on.
+ The containing the specified members.
+
+
+
+ Initializes a new instance of the class
+ with the specified types of members on a type in an assembly.
+
+ The types of members depended on.
+ The full name of the type containing the specified members.
+ The assembly name of the type containing the specified members.
+
+
+
+ Gets the signature of the member depended on.
+
+
+ Either must be a valid string or
+ must not equal , but not both.
+
+
+
+
+ Gets the which specifies the type
+ of members depended on.
+
+
+ Either must be a valid string or
+ must not equal , but not both.
+
+
+
+
+ Gets the containing the specified member.
+
+
+ If neither nor are specified,
+ the type of the consumer is assumed.
+
+
+
+
+ Gets the full name of the type containing the specified member.
+
+
+ If neither nor are specified,
+ the type of the consumer is assumed.
+
+
+
+
+ Gets the assembly name of the specified type.
+
+
+ is only valid when is specified.
+
+
+
+
+ Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG".
+
+
+
+
+ Indicates that the specified member requires assembly files to be on disk.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ A message that contains information about the need for assembly files to be on disk.
+
+
+
+
+ Gets an optional message that contains information about the need for
+ assembly files to be on disk.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the member,
+ why it requires assembly files to be on disk, and what options a consumer has
+ to deal with it.
+
+
+
+
+ Indicates that the specified method requires the ability to generate new code at runtime,
+ for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when compiling ahead of time.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets a message that contains information about the usage of dynamic code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires dynamic code, and what options a consumer has to deal with it.
+
+
+
+
+ Indicates that the specified method requires dynamic access to code that is not referenced
+ statically, for example through .
+
+
+ This allows tools to understand which methods are unsafe to call when removing unreferenced
+ code from an application.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified message.
+
+
+ A message that contains information about the usage of unreferenced code.
+
+
+
+
+ Gets a message that contains information about the usage of unreferenced code.
+
+
+
+
+ Gets or sets an optional URL that contains more information about the method,
+ why it requires unreferenced code, and what options a consumer has to deal with it.
+
+
+
+
+ Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
+ single code artifact.
+
+
+ is different than
+ in that it doesn't have a
+ . So it is always preserved in the compiled assembly.
+
+
+
+
+ Initializes a new instance of the
+ class, specifying the category of the tool and the identifier for an analysis rule.
+
+ The category for the attribute.
+ The identifier of the analysis rule the attribute applies to.
+
+
+
+ Gets the category identifying the classification of the attribute.
+
+
+ The property describes the tool or tool analysis category
+ for which a message suppression attribute applies.
+
+
+
+
+ Gets the identifier of the analysis tool rule to be suppressed.
+
+
+ Concatenated together, the and
+ properties form a unique check identifier.
+
+
+
+
+ Gets or sets the scope of the code that is relevant for the attribute.
+
+
+ The Scope property is an optional argument that specifies the metadata scope for which
+ the attribute is relevant.
+
+
+
+
+ Gets or sets a fully qualified path that represents the target of the attribute.
+
+
+ The property is an optional argument identifying the analysis target
+ of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
+ Because it is fully qualified, it can be long, particularly for targets such as parameters.
+ The analysis tool user interface should be capable of automatically formatting the parameter.
+
+
+
+
+ Gets or sets an optional argument expanding on exclusion criteria.
+
+
+ The property is an optional argument that specifies additional
+ exclusion where the literal metadata target is not sufficiently precise. For example,
+ the cannot be applied within a method,
+ and it may be desirable to suppress a violation against a statement in the method that will
+ give a rule violation, but not against all statements in the method.
+
+
+
+
+ Gets or sets the justification for suppressing the code analysis message.
+
+
+
+
+ Types and Methods attributed with StackTraceHidden will be omitted from the stack trace text shown in StackTrace.ToString()
+ and Exception.StackTrace
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Represent a type can be used to index a collection either from the start or the end.
+
+ Index is used by the C# compiler to support the new index syntax
+
+ int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ;
+ int lastElement = someArray[^1]; // lastElement = 5
+
+
+
+
+ Construct an Index using a value and indicating if the index is from the start or from the end.
+ The index value. it has to be zero or positive number.
+ Indicating if the index is from the start or from the end.
+
+ If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element.
+
+
+
+ Create an Index pointing at first element.
+
+
+ Create an Index pointing at beyond last element.
+
+
+ Create an Index from the start at the position indicated by the value.
+ The index value from the start.
+
+
+ Create an Index from the end at the position indicated by the value.
+ The index value from the end.
+
+
+ Returns the index value.
+
+
+ Indicates whether the index is from the start or the end.
+
+
+ Calculate the offset from the start using the giving collection length.
+ The length of the collection that the Index will be used with. length has to be a positive value
+
+ For performance reason, we don't validate the input length parameter and the returned offset value against negative values.
+ we don't validate either the returned offset is greater than the input length.
+ It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and
+ then used to index a collection will get out of range exception which will be same affect as the validation.
+
+
+
+ Indicates whether the current Index object is equal to another object of the same type.
+ An object to compare with this object
+
+
+ Indicates whether the current Index object is equal to another Index object.
+ An object to compare with this object
+
+
+ Returns the hash code for this instance.
+
+
+ Converts integer number to an Index.
+
+
+ Converts the value of the current Index object to its equivalent string representation.
+
+
+ Represent a range has start and end indexes.
+
+ Range is used by the C# compiler to support the range syntax.
+
+ int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
+ int[] subArray1 = someArray[0..2]; // { 1, 2 }
+ int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 }
+
+
+
+
+ Represent the inclusive start index of the Range.
+
+
+ Represent the exclusive end index of the Range.
+
+
+ Construct a Range object using the start and end indexes.
+ Represent the inclusive start index of the range.
+ Represent the exclusive end index of the range.
+
+
+ Indicates whether the current Range object is equal to another object of the same type.
+ An object to compare with this object
+
+
+ Indicates whether the current Range object is equal to another Range object.
+ An object to compare with this object
+
+
+ Returns the hash code for this instance.
+
+
+ Converts the value of the current Range object to its equivalent string representation.
+
+
+ Create a Range object starting from start index to the end of the collection.
+
+
+ Create a Range object starting from first element in the collection to the end Index.
+
+
+ Create a Range object starting from first element to the end.
+
+
+ Calculate the start offset and length of range object using a collection length.
+ The length of the collection that the range will be used with. length has to be a positive value.
+
+ For performance reason, we don't validate the input length parameter against negative values.
+ It is expected Range will be used with collections which always have non negative length/count.
+ We validate the range is inside the length scope though.
+
+
+
+
+ An attribute that allows parameters to receive the expression of other parameters.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The condition parameter value.
+
+
+
+ Gets the parameter name the expression is retrieved from.
+
+
+
+
+ Initialize the attribute to refer to the method on the type.
+
+ The type of the builder to use to construct the collection.
+ The name of the method on the builder to use to construct the collection.
+
+ must refer to a static method that accepts a single parameter of
+ type and returns an instance of the collection being built containing
+ a copy of the data from that span. In future releases of .NET, additional patterns may be supported.
+
+
+
+
+ Gets the type of the builder to use to construct the collection.
+
+
+
+
+ Gets the name of the method on the builder to use to construct the collection.
+
+
+ This should match the metadata name of the target method.
+ For example, this might be ".ctor" if targeting the type's constructor.
+
+
+
+
+ Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
+
+
+
+
+ Creates a new instance of the type.
+
+ The name of the feature to indicate.
+
+
+
+ The name of the compiler feature.
+
+
+
+
+ If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand .
+
+
+
+
+ The used for the ref structs C# feature.
+
+
+
+
+ The used for the required members C# feature.
+
+
+
+
+ Indicates which arguments to a method involving an interpolated string handler should be passed to that handler.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the argument that should be passed to the handler.
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Initializes a new instance of the class.
+
+ The names of the arguments that should be passed to the handler.
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Gets the names of the arguments that should be passed to the handler.
+
+ may be used as the name of the receiver in an instance method.
+
+
+
+ Indicates the attributed type is to be used as an interpolated string handler.
+
+
+
+
+ Reserved to be used by the compiler for tracking metadata.
+ This class should not be used by developers in source code.
+
+
+
+
+ Used to indicate to the compiler that a method should be called
+ in its containing module's initializer.
+
+
+ When one or more valid methods
+ with this attribute are found in a compilation, the compiler will
+ emit a module initializer which calls each of the attributed methods.
+
+ Certain requirements are imposed on any method targeted with this attribute:
+ - The method must be `static`.
+ - The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc.
+ - The method must be parameterless.
+ - The method must return `void`.
+ - The method must not be generic or be contained in a generic type.
+ - The method's effective accessibility must be `internal` or `public`.
+
+ The specification for module initializers in the .NET runtime can be found here:
+ https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer
+
+
+
+
+ Specifies that a type has required members or that a member is required.
+
+
+
+
+ Reserved for use by a compiler for tracking metadata.
+ This attribute should not be used by developers in source code.
+
+
+
+
+ Used to indicate to the compiler that the .locals init flag should not be set in method headers.
+
+
+
+
+ Disables the built-in runtime managed/unmanaged marshalling subsystem for
+ P/Invokes, Delegate types, and unmanaged function pointer invocations.
+
+
+ The built-in marshalling subsystem has some behaviors that cannot be changed due to
+ backward-compatibility requirements. This attribute allows disabling the built-in
+ subsystem and instead uses the following rules for P/Invokes, Delegates,
+ and unmanaged function pointer invocations:
+
+ - All value types that do not contain reference type fields recursively (unmanaged in C#) are blittable
+ - Value types that recursively have any fields that have [StructLayout(LayoutKind.Auto)] are disallowed from interop.
+ - All reference types are disallowed from usage in interop scenarios.
+ - SetLastError support in P/Invokes is disabled.
+ - varargs support is disabled.
+ - LCIDConversionAttribute support is disabled.
+
+
+
+
+ Provides access to an inaccessible member of a specific type.
+
+
+ This attribute may be applied to an extern static method.
+ The implementation of the extern static method annotated with
+ this attribute will be provided by the runtime based on the information in
+ the attribute and the signature of the method that the attribute is applied to.
+ The runtime will try to find the matching method or field and forward the call
+ to it. If the matching method or field is not found, the body of the extern
+ method will throw or .
+ Only the specific type defined will be examined for inaccessible members. The type hierarchy
+ is not walked looking for a match.
+
+ For ,
+ ,
+ ,
+ and , the type of
+ the first argument of the annotated extern method identifies the owning type.
+ The value of the first argument is treated as this pointer for instance fields and methods.
+ The first argument must be passed as ref for instance fields and methods on structs.
+ The value of the first argument is not used by the implementation for static fields and methods.
+
+ Return type is considered for the signature match. modreqs and modopts are initially not considered for
+ the signature match. However, if an ambiguity exists ignoring modreqs and modopts, a precise match
+ is attempted. If an ambiguity still exists is thrown.
+
+ By default, the attributed method's name dictates the name of the method/field. This can cause confusion
+ in some cases since language abstractions, like C# local functions, generate mangled IL names. The
+ solution to this is to use the nameof mechanism and define the property.
+
+
+ public void Method(Class c)
+ {
+ PrivateMethod(c);
+
+ [UnsafeAccessor(UnsafeAccessorKind.Method, Name = nameof(PrivateMethod))]
+ extern static void PrivateMethod(Class c);
+ }
+
+
+
+
+
+ Instantiates an
+ providing access to a member of kind .
+
+ The kind of the target to which access is provided.
+
+
+
+ Gets the kind of member to which access is provided.
+
+
+
+
+ Gets or sets the name of the member to which access is provided.
+
+
+ The name defaults to the annotated method name if not specified.
+ The name must be unset/null for .
+
+
+
+
+ Specifies the kind of target to which an is providing access.
+
+
+
+
+ Provide access to a constructor.
+
+
+
+
+ Provide access to a method.
+
+
+
+
+ Provide access to a static method.
+
+
+
+
+ Provide access to a field.
+
+
+
+
+ Provide access to a static field.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified message.
+
+ An optional message associated with this attribute instance.
+
+
+
+ Returns the optional message associated with this attribute instance.
+
+
+
+
+ Returns the optional URL associated with this attribute instance.
+
+
+
+
+ Marks APIs that were obsoleted in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that should not be used anymore.
+
+
+
+
+ Records the operating system (and minimum version) that supports an API. Multiple attributes can be
+ applied to indicate support on multiple operating systems.
+
+
+ Callers can apply a
+ or use guards to prevent calls to APIs on unsupported operating systems.
+
+ A given platform should only be specified once.
+
+
+
+
+ Annotates a custom guard field, property or method with a supported platform name and optional version.
+ Multiple attributes can be applied to indicate guard for multiple supported platforms.
+
+
+ Callers can apply a to a field, property or method
+ and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs.
+
+ The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
+
+
+
+
+ Records the platform that the project targeted.
+
+
+
+
+ Marks APIs that were removed in a given operating system version.
+
+
+ Primarily used by OS bindings to indicate APIs that are only available in
+ earlier versions.
+
+
+
+
+ Annotates the custom guard field, property or method with an unsupported platform name and optional version.
+ Multiple attributes can be applied to indicate guard for multiple unsupported platforms.
+
+
+ Callers can apply a to a field, property or method
+ and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms.
+
+ The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard.
+
+
+
+
+ Indicates that the instance's storage is sequentially replicated "length" times.
+
+
+
+ This attribute can be used to annotate a type with a single field.
+ The runtime will replicate that field in the actual type layout as many times as is specified.
+
+
+ Here's an example of how an inline array type with 8 values can be declared:
+
+ [InlineArray(8)]
+ struct Float8InlineArray
+ {
+ private float _value;
+ }
+
+
+
+
+
+ Creates a new instance with the specified length.
+ The number of sequential fields to replicate in the inline array type.
+
+
+ Gets the number of sequential fields to replicate in the inline array type.
+
+
+
+ An attribute used to indicate a GC transition should be skipped when making an unmanaged function call.
+
+
+ Example of a valid use case. The Win32 `GetTickCount()` function is a small performance related function
+ that reads some global memory and returns the value. In this case, the GC transition overhead is significantly
+ more than the memory read.
+
+ using System;
+ using System.Runtime.InteropServices;
+ class Program
+ {
+ [DllImport("Kernel32")]
+ [SuppressGCTransition]
+ static extern int GetTickCount();
+ static void Main()
+ {
+ Console.WriteLine($"{GetTickCount()}");
+ }
+ }
+
+
+
+ This attribute is ignored if applied to a method without the .
+
+ Forgoing this transition can yield benefits when the cost of the transition is more than the execution time
+ of the unmanaged function. However, avoiding this transition removes some of the guarantees the runtime
+ provides through a normal P/Invoke. When exiting the managed runtime to enter an unmanaged function the
+ GC must transition from Cooperative mode into Preemptive mode. Full details on these modes can be found at
+ https://github.com/dotnet/runtime/blob/main/docs/coding-guidelines/clr-code-guide.md#2.1.8.
+ Suppressing the GC transition is an advanced scenario and should not be done without fully understanding
+ potential consequences.
+
+ One of these consequences is an impact to Mixed-mode debugging (https://docs.microsoft.com/visualstudio/debugger/how-to-debug-in-mixed-mode).
+ During Mixed-mode debugging, it is not possible to step into or set breakpoints in a P/Invoke that
+ has been marked with this attribute. A workaround is to switch to native debugging and set a breakpoint in the native function.
+ In general, usage of this attribute is not recommended if debugging the P/Invoke is important, for example
+ stepping through the native code or diagnosing an exception thrown from the native code.
+
+ The runtime may load the native library for method marked with this attribute in advance before the method is called for the first time.
+ Usage of this attribute is not recommended for platform neutral libraries with conditional platform specific code.
+
+ The P/Invoke method that this attribute is applied to must have all of the following properties:
+ * Native function always executes for a trivial amount of time (less than 1 microsecond).
+ * Native function does not perform a blocking syscall (e.g. any type of I/O).
+ * Native function does not call back into the runtime (e.g. Reverse P/Invoke).
+ * Native function does not throw exceptions.
+ * Native function does not manipulate locks or other concurrency primitives.
+
+ Consequences of invalid uses of this attribute:
+ * GC starvation.
+ * Immediate runtime termination.
+ * Data corruption.
+
+
+
+
+ Any method marked with can be directly called from
+ native code. The function token can be loaded to a local variable using the address-of operator
+ in C# and passed as a callback to a native method.
+
+
+ Methods marked with this attribute have the following restrictions:
+ * Method must be marked "static".
+ * Must not be called from managed code.
+ * Must only have blittable arguments.
+
+
+
+
+ Optional. If omitted, the runtime will use the default platform calling convention.
+
+
+ Supplied types must be from the official "System.Runtime.CompilerServices" namespace and
+ be of the form "CallConvXXX".
+
+
+
+
+ Optional. If omitted, no named export is emitted during compilation.
+
+
+
+
diff --git a/packages/System.Buffers.4.5.1/.signature.p7s b/packages/System.Buffers.4.5.1/.signature.p7s
new file mode 100644
index 0000000..1bf2285
Binary files /dev/null and b/packages/System.Buffers.4.5.1/.signature.p7s differ
diff --git a/packages/System.Buffers.4.5.1/LICENSE.TXT b/packages/System.Buffers.4.5.1/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg b/packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg
new file mode 100644
index 0000000..f7ee6b2
Binary files /dev/null and b/packages/System.Buffers.4.5.1/System.Buffers.4.5.1.nupkg differ
diff --git a/packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT b/packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..db542ca
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.11, January 15th, 2017
+
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
diff --git a/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll
new file mode 100644
index 0000000..f2d83c5
Binary files /dev/null and b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.dll differ
diff --git a/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml
new file mode 100644
index 0000000..e243dce
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml
@@ -0,0 +1,38 @@
+
+
+ System.Buffers
+
+
+
+ Provides a resource pool that enables reusing instances of type .
+ The type of the objects that are in the resource pool.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+
+
+ Creates a new instance of the class using the specifed configuration.
+ The maximum length of an array instance that may be stored in the pool.
+ The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.
+ A new instance of the class with the specified configuration.
+
+
+ Retrieves a buffer that is at least the requested length.
+ The minimum length of the array.
+ An array of type that is at least minimumLength in length.
+
+
+ Returns an array to the pool that was previously obtained using the method on the same instance.
+ A buffer to return to the pool that was previously obtained using the method.
+ Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array's contents are left unchanged.
+
+
+ Gets a shared instance.
+ A shared instance.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ b/packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll
new file mode 100644
index 0000000..14e5c53
Binary files /dev/null and b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.dll differ
diff --git a/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml
new file mode 100644
index 0000000..e243dce
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml
@@ -0,0 +1,38 @@
+
+
+ System.Buffers
+
+
+
+ Provides a resource pool that enables reusing instances of type .
+ The type of the objects that are in the resource pool.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+
+
+ Creates a new instance of the class using the specifed configuration.
+ The maximum length of an array instance that may be stored in the pool.
+ The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.
+ A new instance of the class with the specified configuration.
+
+
+ Retrieves a buffer that is at least the requested length.
+ The minimum length of the array.
+ An array of type that is at least minimumLength in length.
+
+
+ Returns an array to the pool that was previously obtained using the method on the same instance.
+ A buffer to return to the pool that was previously obtained using the method.
+ Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array's contents are left unchanged.
+
+
+ Gets a shared instance.
+ A shared instance.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll b/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll
new file mode 100644
index 0000000..c0970c0
Binary files /dev/null and b/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.dll differ
diff --git a/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml b/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml
new file mode 100644
index 0000000..e243dce
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml
@@ -0,0 +1,38 @@
+
+
+ System.Buffers
+
+
+
+ Provides a resource pool that enables reusing instances of type .
+ The type of the objects that are in the resource pool.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+
+
+ Creates a new instance of the class using the specifed configuration.
+ The maximum length of an array instance that may be stored in the pool.
+ The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.
+ A new instance of the class with the specified configuration.
+
+
+ Retrieves a buffer that is at least the requested length.
+ The minimum length of the array.
+ An array of type that is at least minimumLength in length.
+
+
+ Returns an array to the pool that was previously obtained using the method on the same instance.
+ A buffer to return to the pool that was previously obtained using the method.
+ Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array's contents are left unchanged.
+
+
+ Gets a shared instance.
+ A shared instance.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ b/packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll
new file mode 100644
index 0000000..022667e
Binary files /dev/null and b/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.dll differ
diff --git a/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml b/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml
new file mode 100644
index 0000000..e243dce
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml
@@ -0,0 +1,38 @@
+
+
+ System.Buffers
+
+
+
+ Provides a resource pool that enables reusing instances of type .
+ The type of the objects that are in the resource pool.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+
+
+ Creates a new instance of the class using the specifed configuration.
+ The maximum length of an array instance that may be stored in the pool.
+ The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.
+ A new instance of the class with the specified configuration.
+
+
+ Retrieves a buffer that is at least the requested length.
+ The minimum length of the array.
+ An array of type that is at least minimumLength in length.
+
+
+ Returns an array to the pool that was previously obtained using the method on the same instance.
+ A buffer to return to the pool that was previously obtained using the method.
+ Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array's contents are left unchanged.
+
+
+ Gets a shared instance.
+ A shared instance.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ b/packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll
new file mode 100644
index 0000000..9daa056
Binary files /dev/null and b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.dll differ
diff --git a/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml
new file mode 100644
index 0000000..e243dce
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml
@@ -0,0 +1,38 @@
+
+
+ System.Buffers
+
+
+
+ Provides a resource pool that enables reusing instances of type .
+ The type of the objects that are in the resource pool.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+
+
+ Creates a new instance of the class using the specifed configuration.
+ The maximum length of an array instance that may be stored in the pool.
+ The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.
+ A new instance of the class with the specified configuration.
+
+
+ Retrieves a buffer that is at least the requested length.
+ The minimum length of the array.
+ An array of type that is at least minimumLength in length.
+
+
+ Returns an array to the pool that was previously obtained using the method on the same instance.
+ A buffer to return to the pool that was previously obtained using the method.
+ Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array's contents are left unchanged.
+
+
+ Gets a shared instance.
+ A shared instance.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll b/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll
new file mode 100644
index 0000000..a294e52
Binary files /dev/null and b/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.dll differ
diff --git a/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml b/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml
new file mode 100644
index 0000000..e243dce
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml
@@ -0,0 +1,38 @@
+
+
+ System.Buffers
+
+
+
+ Provides a resource pool that enables reusing instances of type .
+ The type of the objects that are in the resource pool.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+
+
+ Creates a new instance of the class using the specifed configuration.
+ The maximum length of an array instance that may be stored in the pool.
+ The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.
+ A new instance of the class with the specified configuration.
+
+
+ Retrieves a buffer that is at least the requested length.
+ The minimum length of the array.
+ An array of type that is at least minimumLength in length.
+
+
+ Returns an array to the pool that was previously obtained using the method on the same instance.
+ A buffer to return to the pool that was previously obtained using the method.
+ Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array's contents are left unchanged.
+
+
+ Gets a shared instance.
+ A shared instance.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ b/packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Buffers.4.5.1/useSharedDesignerContext.txt b/packages/System.Buffers.4.5.1/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Buffers.4.5.1/version.txt b/packages/System.Buffers.4.5.1/version.txt
new file mode 100644
index 0000000..8d6cdd6
--- /dev/null
+++ b/packages/System.Buffers.4.5.1/version.txt
@@ -0,0 +1 @@
+7601f4f6225089ffb291dc7d58293c7bbf5c5d4f
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/.signature.p7s b/packages/System.Diagnostics.DiagnosticSource.8.0.1/.signature.p7s
new file mode 100644
index 0000000..3147f7f
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/.signature.p7s differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/Icon.png b/packages/System.Diagnostics.DiagnosticSource.8.0.1/Icon.png
new file mode 100644
index 0000000..a0f1fdb
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/Icon.png differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/LICENSE.TXT b/packages/System.Diagnostics.DiagnosticSource.8.0.1/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/System.Diagnostics.DiagnosticSource.8.0.1.nupkg b/packages/System.Diagnostics.DiagnosticSource.8.0.1/System.Diagnostics.DiagnosticSource.8.0.1.nupkg
new file mode 100644
index 0000000..3d12a30
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/System.Diagnostics.DiagnosticSource.8.0.1.nupkg differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/THIRD-PARTY-NOTICES.TXT b/packages/System.Diagnostics.DiagnosticSource.8.0.1/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..4b40333
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,1272 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2022 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+https://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.13, October 13th, 2022
+
+ Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for vectorized hex parsing
+--------------------------------------------------------
+
+Copyright (c) 2022, Geoff Langdale
+Copyright (c) 2022, Wojciech Mula
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for RFC 3492
+---------------------------
+
+The punycode implementation is based on the sample code in RFC 3492
+
+Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any
+kind, provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for
+copyrights defined in the Internet Standards process must be
+followed, or as required to translate it into languages other than
+English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Copyright(C) The Internet Society 1997. All Rights Reserved.
+
+This document and translations of it may be copied and furnished to others,
+and derivative works that comment on or otherwise explain it or assist in
+its implementation may be prepared, copied, published and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this paragraph are included on all such copies and
+derivative works.However, this document itself may not be modified in any
+way, such as by removing the copyright notice or references to the Internet
+Society or other Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for copyrights
+defined in the Internet Standards process must be followed, or as required
+to translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be revoked
+by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an "AS IS"
+basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
+PARTICULAR PURPOSE.
+
+License notice for Algorithm from RFC 4122 -
+A Universally Unique IDentifier (UUID) URN Namespace
+----------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+Copyright (c) 1998 Microsoft.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, Microsoft, or Digital Equipment Corporation be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
+Equipment Corporation makes any representations about the
+suitability of this software for any purpose."
+
+License notice for The LLVM Compiler Infrastructure (Legacy License)
+--------------------------------------------------------------------
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+License notice for Bob Jenkins
+------------------------------
+
+By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this
+code any way you wish, private, educational, or commercial. It's free.
+
+License notice for Greg Parker
+------------------------------
+
+Greg Parker gparker@cs.stanford.edu December 2000
+This code is in the public domain and may be copied or modified without
+permission.
+
+License notice for libunwind based code
+----------------------------------------
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for Printing Floating-Point Numbers (Dragon4)
+------------------------------------------------------------
+
+/******************************************************************************
+ Copyright (c) 2014 Ryan Juckett
+ http://www.ryanjuckett.com/
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source
+ distribution.
+******************************************************************************/
+
+License notice for Printing Floating-point Numbers (Grisu3)
+-----------------------------------------------------------
+
+Copyright 2012 the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xxHash
+-------------------------
+
+xxHash - Extremely Fast Hash algorithm
+Header File
+Copyright (C) 2012-2021 Yann Collet
+
+BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You can contact the author at:
+ - xxHash homepage: https://www.xxhash.com
+ - xxHash source repository: https://github.com/Cyan4973/xxHash
+
+License notice for Berkeley SoftFloat Release 3e
+------------------------------------------------
+
+https://github.com/ucb-bar/berkeley-softfloat-3
+https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt
+
+License for Berkeley SoftFloat Release 3e
+
+John R. Hauser
+2018 January 20
+
+The following applies to the whole of SoftFloat Release 3e as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions, and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See .
+
+License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange)
+--------------------------------------
+
+ Copyright 2018 Daniel Lemire
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr)
+--------------------------------------
+
+ Copyright (c) 2008-2016, Wojciech Mula
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+ The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for The LLVM Project
+-----------------------------------
+
+Copyright 2019 LLVM Project
+
+Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions;
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+https://llvm.org/LICENSE.txt
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for Apple header files
+-------------------------------------
+
+Copyright (c) 1980, 1986, 1993
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+License notice for JavaScript queues
+-------------------------------------
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
+Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
+For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
+the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
+moral rights retained by the original author(s) and/or performer(s);
+publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
+rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
+rights protecting the extraction, dissemination, use and reuse of data in a Work;
+database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
+other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
+2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
+3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
+4. Limitations and Disclaimers.
+a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
+b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
+c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
+d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
+
+
+License notice for FastFloat algorithm
+-------------------------------------
+MIT License
+Copyright (c) 2021 csFastFloat authors
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MsQuic
+--------------------------------------
+
+Copyright (c) Microsoft Corporation.
+Licensed under the MIT License.
+
+Available at
+https://github.com/microsoft/msquic/blob/main/LICENSE
+
+License notice for m-ou-se/floatconv
+-------------------------------
+
+Copyright (c) 2020 Mara Bos
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for code from The Practice of Programming
+-------------------------------
+
+Copyright (C) 1999 Lucent Technologies
+
+Excerpted from 'The Practice of Programming
+by Brian W. Kernighan and Rob Pike
+
+You may use this code for any purpose, as long as you leave the copyright notice and book citation attached.
+
+Notice for Euclidean Affine Functions and Applications to Calendar
+Algorithms
+-------------------------------
+
+Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar
+Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf
+
+License notice for amd/aocl-libm-ose
+-------------------------------
+
+Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+License notice for fmtlib/fmt
+-------------------------------
+
+Formatting library for C++
+
+Copyright (c) 2012 - present, Victor Zverovich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License for Jb Evain
+---------------------
+
+Copyright (c) 2006 Jb Evain (jbevain@gmail.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+--- Optional exception to the license ---
+
+As an exception, if, as a result of your compiling your source code, portions
+of this Software are embedded into a machine-executable object form of such
+source code, you may redistribute such embedded portions in such object form
+without including the above copyright and permission notices.
+
+
+License for MurmurHash3
+--------------------------------------
+
+https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp
+
+MurmurHash3 was written by Austin Appleby, and is placed in the public
+domain. The author hereby disclaims copyright to this source
+
+License for Fast CRC Computation
+--------------------------------------
+
+https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm
+https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm
+
+Copyright(c) 2011-2015 Intel Corporation All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License for C# Implementation of Fast CRC Computation
+-----------------------------------------------------
+
+https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs
+
+Copyright (c) Six Labors.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets b/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets
new file mode 100644
index 0000000..f678576
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net461/System.Diagnostics.DiagnosticSource.targets
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net462/_._ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net462/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net6.0/_._ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/net6.0/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets b/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets
new file mode 100644
index 0000000..0e3b471
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/buildTransitive/netcoreapp2.0/System.Diagnostics.DiagnosticSource.targets
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net462/System.Diagnostics.DiagnosticSource.dll b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net462/System.Diagnostics.DiagnosticSource.dll
new file mode 100644
index 0000000..b58b31a
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net462/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net462/System.Diagnostics.DiagnosticSource.xml b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net462/System.Diagnostics.DiagnosticSource.xml
new file mode 100644
index 0000000..d94e6d2
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net462/System.Diagnostics.DiagnosticSource.xml
@@ -0,0 +1,1886 @@
+
+
+
+ System.Diagnostics.DiagnosticSource
+
+
+
+ Represents an operation with context to be used for logging.
+
+
+ Occurs when the value changes.
+
+
+ Initializes a new instance of the class.
+ The name of the operation.
+
+
+ Updates the to have a new baggage item with the specified key and value.
+ The baggage key.
+ The baggage value.
+
+ for convenient chaining.
+
+
+ Adds the specified activity event to the events list.
+ The activity event to add.
+
+ for convenient chaining.
+
+
+ Updates the activity to have a tag with an additional and .
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Updates the to have a new tag with the provided and .
+ The tag key.
+ The tag value.
+
+ for convenient chaining.
+
+
+ Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise.
+
+
+ When overriden by a derived type, this method releases any allocated resources.
+
+ if the method is being called from the finalizer; if calling from user code.
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the tags attached to this Activity object.
+
+ .
+
+
+ Returns the value of a key-value pair added to the activity with .
+ The baggage key.
+ The value of the key-value-pair item if it exists, or if it does not exist.
+
+
+ Returns the object mapped to the specified property name.
+ The name associated to the object.
+ The object mapped to the property name, if one is found; otherwise, .
+
+
+ Returns the value of the Activity tag mapped to the input key/>.
+ Returns if that key does not exist.
+ The tag key string.
+ The tag value mapped to the input key.
+
+
+ Add or update the Activity baggage with the input key and value.
+ If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection.
+ - otherwise, nothing will happen and the collection will not change.
+ If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value.
+ - otherwise, the key and value will get added as a new baggage to the collection.
+ Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead.
+ The baggage key name
+ The baggage value mapped to the input key
+
+ for convenient chaining.
+
+
+ Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value.
+ The name to associate the value with.
+ The object to attach and map to the property name.
+
+
+ Updates the to set its as the difference between and the specified stop time.
+ The UTC stop time.
+
+ for convenient chaining.
+
+
+ Sets the ID format on this before it is started.
+ One of the enumeration values that specifies the format of the property.
+
+ for convenient chaining.
+
+
+ Sets the parent ID using the W3C convention of a TraceId and a SpanId.
+ The parent activity's TraceId.
+ The parent activity's SpanId.
+ One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity.
+
+ for convenient chaining.
+
+
+ Updates this to indicate that the with an ID of caused this .
+ The ID of the parent operation.
+
+ for convenient chaining.
+
+
+ Sets the start time of this .
+ The start time in UTC.
+
+ for convenient chaining.
+
+
+ Sets the status code and description on the current activity object.
+ The status code
+ The error status description
+
+ for convenient chaining.
+
+
+ Adds or update the activity tag with the input key and value.
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Starts the activity.
+
+ for convenient chaining.
+
+
+ Stops the activity.
+
+
+ Gets or sets the flags (defined by the W3C ID specification) associated with the activity.
+ the flags associated with the activity.
+
+
+ Gets a collection of key/value pairs that represents information that is passed to children of this .
+ Information that's passed to children of this .
+
+
+ Gets the context of the activity. Context becomes valid only if the activity has been started.
+ The context of the activity, if the activity has been started; otherwise, returns the default context.
+
+
+ Gets or sets the current operation () for the current thread. This flows across async calls.
+ The current operation for the current thread.
+
+
+ Gets or sets the default ID format for the .
+
+
+ Gets or sets the display name of the activity.
+ A string that represents the activity display name.
+
+
+ Gets the duration of the operation.
+ The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called.
+
+
+ Gets the list of all the activity events attached to this activity.
+ An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration.
+
+
+ Gets or sets a value that detrmines if the is always used to define the default ID format.
+
+ to always use the ; otherwise, .
+
+
+ Gets a value that indicates whether the parent context was created from remote propagation.
+
+
+ Gets an identifier that is specific to a particular request.
+ The activity ID.
+
+
+ Gets the format for the .
+ The format for the .
+
+
+ Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events.
+
+ if the activity should be populated; otherwise.
+
+
+ Gets a value that indicates whether this object is stopped or not.
+
+
+ Gets the relationship between the activity, its parents, and its children in a trace.
+ One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace.
+
+
+ Gets the list of all the activity links attached to this activity.
+ An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration.
+
+
+ Gets the operation name.
+ The name of the operation.
+
+
+ Gets the parent that created this activity.
+ The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process.
+
+
+ Gets the ID of this activity's parent.
+ The parent ID, if one exists, or if it does not.
+
+
+ Gets the parent's .
+ The parent's .
+
+
+ Gets a value that indicates whether the W3CIdFlags.Recorded flag is set.
+
+ if the W3CIdFlags.Recorded flag is set; otherwise, .
+
+
+ Gets the root ID of this .
+ The root ID, or if the current instance has either a or an .
+
+
+ Gets the activity source associated with this activity.
+
+
+ Gets the SPAN part of the .
+ The ID for the SPAN part of , if the has the W3C format; otherwise, a zero .
+
+
+ Gets the time when the operation started.
+ The UTC time that the operation started.
+
+
+ Gets status code of the current activity object.
+
+
+ Gets the status description of the current activity object.
+
+
+ Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity.
+ A key-value pair enumeration of tags and objects.
+
+
+ Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system.
+ Information that will be logged along with the to the logging system.
+
+
+ Gets the TraceId part of the .
+ The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId.
+
+
+ When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers.
+ TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm.
+
+
+ Gets or sets the W3C header.
+ The W3C header.
+
+
+ Enumerates the data stored on an object.
+ Type being enumerated.
+
+
+ Returns an enumerator that iterates through the data stored on an Activity object.
+
+ .
+
+
+ Advances the enumerator to the next element of the data.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Gets the element at the current position of the enumerator.
+
+
+ Provides data for the event.
+
+
+ Gets the object after the event.
+
+
+ Gets the object before the event.
+
+
+ A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
+
+
+ Construct a new activity context instance using the specified arguments.
+ A trace identifier.
+ A span identifier.
+ Contain details about the trace.
+ Carries system-specific configuration data.
+ Indicates if the context is propagated from a remote parent.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Determines whether this instance and a specified object have the same value.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Parses a W3C trace context headers to an object.
+ The W3C trace parent header.
+ The trace state.
+ The trace parent is invalid.
+ The object created from the parsing operation.
+
+
+ Tries to parse the W3C trace context headers to the object.
+ The W3C trace parent header.
+ The W3C trace state.
+
+ to propagate the context from the remote parent; otherwise, .
+ When this method returns, contains the object created from the parsing operation.
+
+ if the operation succeeds; otherwise.
+
+
+ Tries to parse the W3C trace context headers to an object.
+ The W3C trace parent header.
+ The W3C trace state.
+ When this method returns , the object created from the parsing operation.
+
+ if the parsing was successful; otherwise.
+
+
+ Indicates if the activity context was propagated from a remote parent.
+
+ if it was propagated from a remote parent; otherwise.
+
+
+ The Id of the request as known by the caller.
+ The Span Id in the context.
+
+
+ The flags defined by the W3C standard along with the ID for the activity.
+ The context tracing flags.
+
+
+ The trace identifier.
+ The tracing identifier in the context.
+
+
+ Holds the W3C 'tracestate' header.
+ A string representing the W3C 'tracestate' header.
+
+
+ Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
+
+The possible generic type parameters are or .
+ The type of the property. Should be either or .
+
+
+ Gets the activity kind which the activity will be created with.
+ One of the enumeration values that represent an activity kind.
+
+
+ Gets the enumeration of activity links that the activity will be created with.
+ An enumeration of activity links.
+
+
+ Gets the name to use as OperationName of the activity that will get created.
+ A string representing the activity name.
+
+
+ Gets the parent context or parent Id that the activity will get created with.
+ The parent of the activity, represented either as a or as an .
+
+
+ Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks.
+ The Activity tags collection.
+
+
+ Gets the activity source that creates the activity.
+ An activity source object.
+
+
+ Gets the tags that the activity will be created with.
+ A key-value pair enumeration of tags associated with the activity.
+
+
+ Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks.
+ The trace Id.
+
+
+ Gets or initializes the trace state to use when creating the Activity.
+
+
+ Represents an event containing a name and a timestamp, as well as an optional list of tags.
+
+
+ Initializes a new activity event instance using the specified name and the current time as the event timestamp.
+ The event name.
+
+
+ Initializes a new activity event instance using the specified name, timestamp and tags.
+ The event name.
+ The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call.
+ The event tags.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Gets the activity event name.
+ A string representing the activity event name.
+
+
+ Gets the collection of tags associated with the event.
+ A key-value pair enumeration containing the tags associated with the event.
+
+
+ Gets the activity event timestamp.
+ A datetime offset representing the activity event timestamp.
+
+
+ Specifies the format of the property.
+
+
+ The hierarchical format.
+
+
+ An unknown format.
+
+
+ The W3C format.
+
+
+ Describes the relationship between the activity, its parents and its children in a trace.
+
+
+ Outgoing request to the external component.
+
+
+ Output received from an external component.
+
+
+ Internal operation within an application, as opposed to operations with remote parents or children. This is the default value.
+
+
+ Output provided to external components.
+
+
+ Requests incoming from external component.
+
+
+ Activities may be linked to zero or more activity context instances that are causally related.
+
+Activity links can point to activity contexts inside a single trace or across different traces.
+
+Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
+
+
+ Constructs a new activity link, which can be linked to an activity.
+ The trace activity context.
+ The key-value pair list of tags associated to the activity context.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Indicates whether the current activity link is equal to another activity link.
+ The activity link to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Indicates whether the current activity link is equal to another object.
+ The object to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Retrieves the activity context inside this activity link.
+
+
+ Retrieves the key-value pair enumeration of tags attached to the activity context.
+ An enumeration of tags attached to the activity context.
+
+
+ Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
+
+
+ Construct a new activity listener object to start listeneing to the activity events.
+
+
+ Unregisters this activity listener object from listening to activity events.
+
+
+ Gets or sets the callback used to listen to the activity start event.
+ An activity callback instance used to listen to the activity start event.
+
+
+ Gets or sets the callback used to listen to the activity stop event.
+ An activity callback instance used to listen to the activity stop event.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not.
+
+ to listen events; otherwise.
+
+
+ Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead.
+
+
+ The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return .
+
+
+ The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere.
+
+
+ The activity object does not need to be created.
+
+
+ The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener.
+
+
+ Provides APIs to create and start objects and to register objects to listen to the events.
+
+
+ Constructs an activity source object with the specified .
+ The name of the activity source object.
+ The version of the component publishing the tracing info.
+
+
+ Adds a listener to the activity starting and stopping events.
+ The activity listener object to use for listening to the activity events.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity
+ The
+ The created object or if there is no any event listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ If the Activity object is created, it will not automatically start. Callers will need to call to start it.
+ The operation name of the Activity.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity.
+ The
+ The parent Id to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Disposes the activity source object, removes the current instance from the global list, and empties the listeners list.
+
+
+ Checks if there are any listeners for this activity source.
+
+ if there is a listener registered for this activity source; otherwise, .
+
+
+ Creates and starts a new object if there is any listener to the Activity events, returns otherwise.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The optional start timestamp to set on the created Activity object.
+ The operation name of the Activity.
+ The created object or if there is no any listener.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name and activity kind.
+ The operation name of the activity.
+ The activity kind.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent object to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent Id to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Returns the activity source name.
+ A string that represents the activity source name.
+
+
+ Returns the activity source version.
+ A string that represents the activity source version.
+
+
+ Represents a formatted based on a W3C standard.
+
+
+ Copies the 8 bytes of the current to a specified span.
+ The span to which the 8 bytes of the SpanID are to be copied.
+
+
+ Creates a new value from a read-only span of eight bytes.
+ A read-only span of eight bytes.
+
+ does not contain eight bytes.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of 16 hexadecimal characters.
+ A span that contains 16 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new span ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new span ID.
+
+
+ Determines whether this instance and the specified instance have the same value.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ the current instance and a specified object, which also must be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the SpanId.
+ The hash code of the SpanId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is the same as the SpanId of ; otherwise, .
+
+
+ Determine whether two specified instances have unequal values.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is different from the SpanId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Define the status code of the Activity which indicate the status of the instrumented operation.
+
+
+ Status code indicating an error is encountered during the operation.
+
+
+ Status code indicating the operation has been validated and completed successfully.
+
+
+ Unset status code is the default value indicating the status code is not initialized.
+
+
+ ActivityTagsCollection is a collection class used to store tracing tags.
+
+This collection will be used with classes like and .
+
+This collection behaves as follows:
+- The collection items will be ordered according to how they are added.
+- Don't allow duplication of items with the same key.
+- When using the indexer to store an item in the collection:
+ - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection.
+ - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection.
+ - Otherwise, the item will be added to the collection.
+- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception.
+
+
+ Create a new instance of the collection.
+
+
+ Create a new instance of the collection and store the input list items in the collection.
+ Initial list to store in the collection.
+
+
+ Adds an item to the collection.
+ Key and value pair of the tag to add to the collection.
+
+ already exists in the list.
+
+ is .
+
+
+ Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key.
+ The tag key.
+ The tag value.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the contains a specific value.
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Determines whether the collection contains an element with the specified key.
+ The key to locate in the .
+
+ if the collection contains tag with that key. otherwise.
+
+
+ Copies the elements of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from collection.
+ The zero-based index in array at which copying begins.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator for the .
+
+
+ Removes the first occurrence of a specific item from the collection.
+ The tag key value pair to remove.
+
+ if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection.
+
+
+ Removes the tag with the specified key from the collection.
+ The tag key.
+
+ if the item existed and removed. otherwise.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value associated with the specified key.
+ The tag key.
+ The tag value.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.
+
+
+ Gets the number of elements contained in the collection.
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the collection is read-only. This always returns .
+ Always returns .
+
+
+ Gets or sets a specified collection item.
+
+ When setting a value to this indexer property, the following behavior is observed:
+- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection.
+- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection.
+- Otherwise, a new item will get added to the collection.
+ The key of the value to get or set.
+ The object mapped to the key.
+
+
+ Get the list of the keys of all stored tags.
+ An containing the keys of the object that implements .
+
+
+ Get the list of the values of all stored tags.
+ An containing the values in the object that implements .
+
+
+ Enumerates the elements of an .
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Specifies flags defined by the W3C standard that are associated with an activity.
+
+
+ The activity has not been marked.
+
+
+ The activity (or more likely its parents) has been marked as useful to record.
+
+
+ Represents a whose format is based on a W3C standard.
+
+
+ Copies the 16 bytes of the current to a specified span.
+ The span to which the 16 bytes of the trace ID are to be copied.
+
+
+ Creates a new value from a read-only span of 16 bytes.
+ A read-only span of 16 bytes.
+
+ does not contain eight bytes.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of 32 hexadecimal characters.
+ A span that contains 32 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new trace ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new .
+
+
+ Determines whether the current instance and a specified are equal.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ Determines whether this instance and a specified object, which must also be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the TraceId.
+ The hash code of the TraceId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is the same as the TraceId of ; otherwise, .
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is different from the TraceId of ; otherwise, .
+
+
+ Returns a 32-character hexadecimal string that represents this span ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Returns a 32-character hexadecimal string that represents this trace ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Provides an implementation of the abstract class that represents a named place to which a source sends its information (events).
+
+
+ Creates a new .
+ The name of this .
+
+
+ Disposes the NotificationListeners.
+
+
+ Determines whether there are any registered subscribers.
+
+ if there are any registered subscribers, otherwise.
+
+
+ Checks whether the is enabled.
+ The name of the event to check.
+
+ if notifications are enabled; otherwise, .
+
+
+ Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in .
+ The name of the event to check.
+ The object that represents a context.
+ The object that represents a context.
+
+ if it is enabled, otherwise.
+
+
+ Invokes the OnActivityExport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Invokes the OnActivityImport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the incoming request.
+
+
+ Adds a subscriber.
+ A subscriber.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name and up to two context objects.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable.
+ An action delegate that receives the activity affected by an external event and an object that represents the incoming request.
+ An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name.
+ A subscriber.
+ A delegate that filters events based on their name (). The delegate should return if the event is enabled.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Returns a string with the name of this DiagnosticListener.
+ The name of this DiagnosticListener.
+
+
+ Logs a notification.
+ The name of the event to log.
+ An object that represents the payload for the event.
+
+
+ Gets the collection of listeners for this .
+
+
+ Gets the name of this .
+ The name of the .
+
+
+ An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
+
+
+ Initializes an instance of the class.
+
+
+ Verifies if the notification event is enabled.
+ The name of the event being written.
+
+ if the notification event is enabled, otherwise.
+
+
+ Verifies it the notification event is enabled.
+ The name of the event being written.
+ An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context.
+ Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in .
+
+ if the notification event is enabled, otherwise.
+
+
+ Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process.
+ The activity affected by an external event.
+ A payload that represents the incoming request.
+
+
+ Starts an and writes a start event.
+ The to be started.
+ An object that represent the value being passed as a payload for the event.
+ The started activity for convenient chaining.
+
+
+
+
+
+
+
+ Stops the given , maintains the global activity, and notifies consumers that the was stopped.
+ The activity to be stopped.
+ An object that represents the value passed as a payload for the event.
+
+
+
+
+
+
+
+ Provides a generic way of logging complex payloads.
+ The name of the event being written.
+ An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values.
+
+
+
+
+
+
+
+ An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network.
+ The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header.
+ injects values into and extracts values from carriers as string key-value pairs.
+
+
+ Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes.
+
+
+ Returns the default propagator object that will be initialized with.
+ An instance of the class.
+
+
+ Returns a propagator that does not transmit any distributed context information in outbound network messages.
+ An instance of the class.
+
+
+ Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request.
+ When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request.
+ An instance of the class.
+
+
+ Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation baggage list from the carrier.
+ Returns the extracted key-value pair list from the carrier.
+
+
+ Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation trace ID and state from the carrier.
+ When this method returns, contains the trace ID extracted from the carrier.
+ When this method returns, contains the trace state extracted from the carrier.
+
+
+ Injects the trace values stored in the object into a carrier. For example, into the headers of an HTTP request.
+ The Activity object has the distributed context to inject to the carrier.
+ The medium in which the distributed context will be stored.
+ The callback method to invoke to set a named key-value pair on the carrier.
+
+
+ Get or set the process-wide propagator object to use as the current selected propagator.
+ The currently selected process-wide propagator object.
+
+
+ Gets the set of field names this propagator is likely to read or write.
+ The list of fields that will be used by the DistributedContextPropagator.
+
+
+ Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field.
+ The medium used by propagators to read values from.
+ The propagation field name.
+ When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name.
+ When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name.
+
+
+ Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field.
+ Propagators may invoke it multiple times in order to set multiple fields.
+ The medium used by propagators to write values to.
+ The propagation field name.
+ The value corresponding to .
+
+
+ Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total.
+ The type that the counter represents.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Adds the increment value of the measurement.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Represents a metrics instrument that can be used to report arbitrary values that are likely to be statistically meaningful, for example, the request duration. Call to create a Histogram object.
+ The type that the histogram represents.
+
+
+ Records a measurement value.
+ The measurement value.
+
+
+ Records a measurement value.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+
+
+
+
+ Base class of all metrics instrument classes
+
+
+ Protected constructor to initialize the common instrument properties like the meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Activates the instrument to start recording measurements and to allow listeners to start listening to such measurements.
+
+
+ Gets the instrument description.
+
+
+ Gets a value that indicates if there are any listeners for this instrument.
+
+
+ Gets a value that indicates whether the instrument is an observable instrument.
+
+
+ Gets the Meter that created the instrument.
+
+
+ Gets the instrument name.
+
+
+
+ Gets the instrument unit of measurements.
+
+
+ The base class for all non-observable instruments.
+ The type that the instrument represents.
+
+
+ Create the metrics instrument using the properties meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements.
+ The type that the measurement represents.
+
+
+ Initializes a new instance of using the specified value.
+ The measurement value.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Gets the measurement tags list.
+
+
+ Gets the measurement value.
+
+
+ A delegate to represent the Meterlistener callbacks that are used when recording measurements.
+ The instrument that sent the measurement.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+ The state object originally passed to method.
+ The type that the measurement represents.
+
+
+ Meter is the class responsible for creating and tracking the Instruments.
+
+
+
+
+
+ Initializes a new instance of using the specified meter name.
+ The Meter name.
+
+
+ Initializes a new instance of using the specified meter name and version.
+ The Meter name.
+ The optional Meter version.
+
+
+
+
+
+
+
+
+ Create a metrics Counter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new counter.
+
+
+
+
+
+
+
+
+
+ Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentiles.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new histogram.
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement..
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Create a metrics UpDownCounter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new up down counter.
+
+
+
+
+
+
+
+
+
+ Dispose the Meter which will disable all instruments created by this meter.
+
+
+
+
+
+ Gets the Meter name.
+ The Meter name
+
+
+
+
+ Gets the Meter version.
+ The Meter version.
+
+
+
+
+
+
+
+
+
+ The MeterListener is class used to listen to the metrics instrument measurements recording.
+
+
+ Initializes a new instance of the class.
+
+
+ Stops listening to a specific instrument measurement recording.
+ The instrument to stop listening to.
+ The state object originally passed to method.
+
+
+ Disposes the listeners which will stop it from listening to any instrument.
+
+
+ Starts listening to a specific instrument measurement recording.
+ The instrument to listen to.
+ A state object that will be passed back to the callback getting measurements events.
+
+
+ Calls all Observable instruments that the listener is listening to, and calls with every collected measurement.
+
+
+ Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type.
+ If a measurement of type T is recorded and a callback of type T is registered, that callback will be used.
+ The callback which can be used to get measurement recording of numeric type T.
+ The type of the numeric measurement.
+
+
+ Enables the listener to start listening to instruments measurement recording.
+
+
+ Gets or sets the callback to get notified when an instrument is published.
+ The callback to get notified when an instrument is published.
+
+
+ Gets or sets the callback to get notified when the measurement is stopped on some instrument.
+ This can happen when the Meter or the Listener is disposed or calling on the listener.
+ The callback to get notified when the measurement is stopped on some instrument.
+
+
+
+
+
+
+
+
+
+
+ Represents a metrics-observable instrument that reports monotonically increasing values when the instrument is being observed, for example, CPU time (for different processes, threads, user mode, or kernel mode). Call to create the observable counter object.
+ The type that the observable counter represents.
+
+
+ Represents an observable instrument that reports non-additive values when the instrument is being observed, for example, the current room temperature. Call to create the observable counter object.
+
+
+
+ ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit.
+ The type that the observable instrument represents.
+
+
+ Initializes a new instance of the class using the specified meter, name, description, and unit.
+ All classes that extend ObservableInstrument{T} must call this constructor when constructing objects of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.
+ The current measurements tracked by this instrument.
+
+
+ Gets a value that indicates if the instrument is an observable instrument.
+
+ if the instrument is metrics-observable; otherwise.
+
+
+ A metrics-observable instrument that reports increasing or decreasing values when the instrument is being observed.
+Use this instrument to monitor the process heap size or the approximate number of items in a lock-free circular buffer, for example.
+To create an ObservableUpDownCounter object, use the methods.
+ The type that the counter represents.
+
+
+ An instrument that supports reporting positive or negative metric values.
+ UpDownCounter may be used in scenarios like reporting the change in active requests or queue size.
+ The type that the UpDownCounter represents.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A of tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A span of key-value pair tags associated with the measurement.
+
+
+ A delegate that defines the signature of the callbacks used in the sampling process.
+ The Activity creation options used by callbacks to decide creating the Activity object or not.
+ The type of the requested parent to create the Activity object with. Should be either a string or an instance.
+ An object containing the sampling results, which indicate the amount of data to collect for the related .
+
+
+ Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists.
+
+
+ Initializes a new instance of using the specified .
+ A span of tags to initialize the list with.
+
+
+ Adds a tag to the list.
+ The key-value pair of the tag to add to the list.
+
+
+ Adds a tag with the specified and to the list.
+ The tag key.
+ The tag value.
+
+
+ Removes all elements from the .
+
+
+ Determines whether a tag is in the .
+ The tag to locate in the .
+
+ if item is found in the ; otherwise, .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0 or greater than or equal to the length.
+
+
+ Copies the contents of this into a destination span.
+ The destination object.
+
+ The number of elements in the source is greater than the number of elements that the destination span.
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Searches for the specified tag and returns the zero-based index of the first occurrence within the entire .
+ The tag to locate in the .
+ The zero-based index of the first ocurrence of in the tag list.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which the item should be inserted.
+ The tag to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific object from the .
+ The tag to remove from the .
+
+ if is successfully removed; otherwise, . This method also returns if was not found in the .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ index is less than 0 or is greater than .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Gets the number of tags contained in the .
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the is read-only. This property will always return .
+
+ Always returns .
+
+
+ Gets or sets the tags at the specified index.
+ The item index.
+
+ is not a valid index in the .
+ The element at the specified index.
+
+
+ An enumerator for traversing a tag list collection.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net6.0/System.Diagnostics.DiagnosticSource.dll b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net6.0/System.Diagnostics.DiagnosticSource.dll
new file mode 100644
index 0000000..95773e2
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net6.0/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net6.0/System.Diagnostics.DiagnosticSource.xml b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net6.0/System.Diagnostics.DiagnosticSource.xml
new file mode 100644
index 0000000..d94e6d2
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net6.0/System.Diagnostics.DiagnosticSource.xml
@@ -0,0 +1,1886 @@
+
+
+
+ System.Diagnostics.DiagnosticSource
+
+
+
+ Represents an operation with context to be used for logging.
+
+
+ Occurs when the value changes.
+
+
+ Initializes a new instance of the class.
+ The name of the operation.
+
+
+ Updates the to have a new baggage item with the specified key and value.
+ The baggage key.
+ The baggage value.
+
+ for convenient chaining.
+
+
+ Adds the specified activity event to the events list.
+ The activity event to add.
+
+ for convenient chaining.
+
+
+ Updates the activity to have a tag with an additional and .
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Updates the to have a new tag with the provided and .
+ The tag key.
+ The tag value.
+
+ for convenient chaining.
+
+
+ Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise.
+
+
+ When overriden by a derived type, this method releases any allocated resources.
+
+ if the method is being called from the finalizer; if calling from user code.
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the tags attached to this Activity object.
+
+ .
+
+
+ Returns the value of a key-value pair added to the activity with .
+ The baggage key.
+ The value of the key-value-pair item if it exists, or if it does not exist.
+
+
+ Returns the object mapped to the specified property name.
+ The name associated to the object.
+ The object mapped to the property name, if one is found; otherwise, .
+
+
+ Returns the value of the Activity tag mapped to the input key/>.
+ Returns if that key does not exist.
+ The tag key string.
+ The tag value mapped to the input key.
+
+
+ Add or update the Activity baggage with the input key and value.
+ If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection.
+ - otherwise, nothing will happen and the collection will not change.
+ If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value.
+ - otherwise, the key and value will get added as a new baggage to the collection.
+ Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead.
+ The baggage key name
+ The baggage value mapped to the input key
+
+ for convenient chaining.
+
+
+ Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value.
+ The name to associate the value with.
+ The object to attach and map to the property name.
+
+
+ Updates the to set its as the difference between and the specified stop time.
+ The UTC stop time.
+
+ for convenient chaining.
+
+
+ Sets the ID format on this before it is started.
+ One of the enumeration values that specifies the format of the property.
+
+ for convenient chaining.
+
+
+ Sets the parent ID using the W3C convention of a TraceId and a SpanId.
+ The parent activity's TraceId.
+ The parent activity's SpanId.
+ One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity.
+
+ for convenient chaining.
+
+
+ Updates this to indicate that the with an ID of caused this .
+ The ID of the parent operation.
+
+ for convenient chaining.
+
+
+ Sets the start time of this .
+ The start time in UTC.
+
+ for convenient chaining.
+
+
+ Sets the status code and description on the current activity object.
+ The status code
+ The error status description
+
+ for convenient chaining.
+
+
+ Adds or update the activity tag with the input key and value.
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Starts the activity.
+
+ for convenient chaining.
+
+
+ Stops the activity.
+
+
+ Gets or sets the flags (defined by the W3C ID specification) associated with the activity.
+ the flags associated with the activity.
+
+
+ Gets a collection of key/value pairs that represents information that is passed to children of this .
+ Information that's passed to children of this .
+
+
+ Gets the context of the activity. Context becomes valid only if the activity has been started.
+ The context of the activity, if the activity has been started; otherwise, returns the default context.
+
+
+ Gets or sets the current operation () for the current thread. This flows across async calls.
+ The current operation for the current thread.
+
+
+ Gets or sets the default ID format for the .
+
+
+ Gets or sets the display name of the activity.
+ A string that represents the activity display name.
+
+
+ Gets the duration of the operation.
+ The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called.
+
+
+ Gets the list of all the activity events attached to this activity.
+ An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration.
+
+
+ Gets or sets a value that detrmines if the is always used to define the default ID format.
+
+ to always use the ; otherwise, .
+
+
+ Gets a value that indicates whether the parent context was created from remote propagation.
+
+
+ Gets an identifier that is specific to a particular request.
+ The activity ID.
+
+
+ Gets the format for the .
+ The format for the .
+
+
+ Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events.
+
+ if the activity should be populated; otherwise.
+
+
+ Gets a value that indicates whether this object is stopped or not.
+
+
+ Gets the relationship between the activity, its parents, and its children in a trace.
+ One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace.
+
+
+ Gets the list of all the activity links attached to this activity.
+ An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration.
+
+
+ Gets the operation name.
+ The name of the operation.
+
+
+ Gets the parent that created this activity.
+ The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process.
+
+
+ Gets the ID of this activity's parent.
+ The parent ID, if one exists, or if it does not.
+
+
+ Gets the parent's .
+ The parent's .
+
+
+ Gets a value that indicates whether the W3CIdFlags.Recorded flag is set.
+
+ if the W3CIdFlags.Recorded flag is set; otherwise, .
+
+
+ Gets the root ID of this .
+ The root ID, or if the current instance has either a or an .
+
+
+ Gets the activity source associated with this activity.
+
+
+ Gets the SPAN part of the .
+ The ID for the SPAN part of , if the has the W3C format; otherwise, a zero .
+
+
+ Gets the time when the operation started.
+ The UTC time that the operation started.
+
+
+ Gets status code of the current activity object.
+
+
+ Gets the status description of the current activity object.
+
+
+ Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity.
+ A key-value pair enumeration of tags and objects.
+
+
+ Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system.
+ Information that will be logged along with the to the logging system.
+
+
+ Gets the TraceId part of the .
+ The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId.
+
+
+ When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers.
+ TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm.
+
+
+ Gets or sets the W3C header.
+ The W3C header.
+
+
+ Enumerates the data stored on an object.
+ Type being enumerated.
+
+
+ Returns an enumerator that iterates through the data stored on an Activity object.
+
+ .
+
+
+ Advances the enumerator to the next element of the data.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Gets the element at the current position of the enumerator.
+
+
+ Provides data for the event.
+
+
+ Gets the object after the event.
+
+
+ Gets the object before the event.
+
+
+ A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
+
+
+ Construct a new activity context instance using the specified arguments.
+ A trace identifier.
+ A span identifier.
+ Contain details about the trace.
+ Carries system-specific configuration data.
+ Indicates if the context is propagated from a remote parent.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Determines whether this instance and a specified object have the same value.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Parses a W3C trace context headers to an object.
+ The W3C trace parent header.
+ The trace state.
+ The trace parent is invalid.
+ The object created from the parsing operation.
+
+
+ Tries to parse the W3C trace context headers to the object.
+ The W3C trace parent header.
+ The W3C trace state.
+
+ to propagate the context from the remote parent; otherwise, .
+ When this method returns, contains the object created from the parsing operation.
+
+ if the operation succeeds; otherwise.
+
+
+ Tries to parse the W3C trace context headers to an object.
+ The W3C trace parent header.
+ The W3C trace state.
+ When this method returns , the object created from the parsing operation.
+
+ if the parsing was successful; otherwise.
+
+
+ Indicates if the activity context was propagated from a remote parent.
+
+ if it was propagated from a remote parent; otherwise.
+
+
+ The Id of the request as known by the caller.
+ The Span Id in the context.
+
+
+ The flags defined by the W3C standard along with the ID for the activity.
+ The context tracing flags.
+
+
+ The trace identifier.
+ The tracing identifier in the context.
+
+
+ Holds the W3C 'tracestate' header.
+ A string representing the W3C 'tracestate' header.
+
+
+ Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
+
+The possible generic type parameters are or .
+ The type of the property. Should be either or .
+
+
+ Gets the activity kind which the activity will be created with.
+ One of the enumeration values that represent an activity kind.
+
+
+ Gets the enumeration of activity links that the activity will be created with.
+ An enumeration of activity links.
+
+
+ Gets the name to use as OperationName of the activity that will get created.
+ A string representing the activity name.
+
+
+ Gets the parent context or parent Id that the activity will get created with.
+ The parent of the activity, represented either as a or as an .
+
+
+ Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks.
+ The Activity tags collection.
+
+
+ Gets the activity source that creates the activity.
+ An activity source object.
+
+
+ Gets the tags that the activity will be created with.
+ A key-value pair enumeration of tags associated with the activity.
+
+
+ Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks.
+ The trace Id.
+
+
+ Gets or initializes the trace state to use when creating the Activity.
+
+
+ Represents an event containing a name and a timestamp, as well as an optional list of tags.
+
+
+ Initializes a new activity event instance using the specified name and the current time as the event timestamp.
+ The event name.
+
+
+ Initializes a new activity event instance using the specified name, timestamp and tags.
+ The event name.
+ The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call.
+ The event tags.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Gets the activity event name.
+ A string representing the activity event name.
+
+
+ Gets the collection of tags associated with the event.
+ A key-value pair enumeration containing the tags associated with the event.
+
+
+ Gets the activity event timestamp.
+ A datetime offset representing the activity event timestamp.
+
+
+ Specifies the format of the property.
+
+
+ The hierarchical format.
+
+
+ An unknown format.
+
+
+ The W3C format.
+
+
+ Describes the relationship between the activity, its parents and its children in a trace.
+
+
+ Outgoing request to the external component.
+
+
+ Output received from an external component.
+
+
+ Internal operation within an application, as opposed to operations with remote parents or children. This is the default value.
+
+
+ Output provided to external components.
+
+
+ Requests incoming from external component.
+
+
+ Activities may be linked to zero or more activity context instances that are causally related.
+
+Activity links can point to activity contexts inside a single trace or across different traces.
+
+Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
+
+
+ Constructs a new activity link, which can be linked to an activity.
+ The trace activity context.
+ The key-value pair list of tags associated to the activity context.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Indicates whether the current activity link is equal to another activity link.
+ The activity link to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Indicates whether the current activity link is equal to another object.
+ The object to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Retrieves the activity context inside this activity link.
+
+
+ Retrieves the key-value pair enumeration of tags attached to the activity context.
+ An enumeration of tags attached to the activity context.
+
+
+ Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
+
+
+ Construct a new activity listener object to start listeneing to the activity events.
+
+
+ Unregisters this activity listener object from listening to activity events.
+
+
+ Gets or sets the callback used to listen to the activity start event.
+ An activity callback instance used to listen to the activity start event.
+
+
+ Gets or sets the callback used to listen to the activity stop event.
+ An activity callback instance used to listen to the activity stop event.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not.
+
+ to listen events; otherwise.
+
+
+ Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead.
+
+
+ The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return .
+
+
+ The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere.
+
+
+ The activity object does not need to be created.
+
+
+ The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener.
+
+
+ Provides APIs to create and start objects and to register objects to listen to the events.
+
+
+ Constructs an activity source object with the specified .
+ The name of the activity source object.
+ The version of the component publishing the tracing info.
+
+
+ Adds a listener to the activity starting and stopping events.
+ The activity listener object to use for listening to the activity events.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity
+ The
+ The created object or if there is no any event listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ If the Activity object is created, it will not automatically start. Callers will need to call to start it.
+ The operation name of the Activity.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity.
+ The
+ The parent Id to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Disposes the activity source object, removes the current instance from the global list, and empties the listeners list.
+
+
+ Checks if there are any listeners for this activity source.
+
+ if there is a listener registered for this activity source; otherwise, .
+
+
+ Creates and starts a new object if there is any listener to the Activity events, returns otherwise.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The optional start timestamp to set on the created Activity object.
+ The operation name of the Activity.
+ The created object or if there is no any listener.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name and activity kind.
+ The operation name of the activity.
+ The activity kind.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent object to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent Id to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Returns the activity source name.
+ A string that represents the activity source name.
+
+
+ Returns the activity source version.
+ A string that represents the activity source version.
+
+
+ Represents a formatted based on a W3C standard.
+
+
+ Copies the 8 bytes of the current to a specified span.
+ The span to which the 8 bytes of the SpanID are to be copied.
+
+
+ Creates a new value from a read-only span of eight bytes.
+ A read-only span of eight bytes.
+
+ does not contain eight bytes.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of 16 hexadecimal characters.
+ A span that contains 16 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new span ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new span ID.
+
+
+ Determines whether this instance and the specified instance have the same value.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ the current instance and a specified object, which also must be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the SpanId.
+ The hash code of the SpanId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is the same as the SpanId of ; otherwise, .
+
+
+ Determine whether two specified instances have unequal values.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is different from the SpanId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Define the status code of the Activity which indicate the status of the instrumented operation.
+
+
+ Status code indicating an error is encountered during the operation.
+
+
+ Status code indicating the operation has been validated and completed successfully.
+
+
+ Unset status code is the default value indicating the status code is not initialized.
+
+
+ ActivityTagsCollection is a collection class used to store tracing tags.
+
+This collection will be used with classes like and .
+
+This collection behaves as follows:
+- The collection items will be ordered according to how they are added.
+- Don't allow duplication of items with the same key.
+- When using the indexer to store an item in the collection:
+ - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection.
+ - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection.
+ - Otherwise, the item will be added to the collection.
+- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception.
+
+
+ Create a new instance of the collection.
+
+
+ Create a new instance of the collection and store the input list items in the collection.
+ Initial list to store in the collection.
+
+
+ Adds an item to the collection.
+ Key and value pair of the tag to add to the collection.
+
+ already exists in the list.
+
+ is .
+
+
+ Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key.
+ The tag key.
+ The tag value.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the contains a specific value.
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Determines whether the collection contains an element with the specified key.
+ The key to locate in the .
+
+ if the collection contains tag with that key. otherwise.
+
+
+ Copies the elements of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from collection.
+ The zero-based index in array at which copying begins.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator for the .
+
+
+ Removes the first occurrence of a specific item from the collection.
+ The tag key value pair to remove.
+
+ if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection.
+
+
+ Removes the tag with the specified key from the collection.
+ The tag key.
+
+ if the item existed and removed. otherwise.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value associated with the specified key.
+ The tag key.
+ The tag value.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.
+
+
+ Gets the number of elements contained in the collection.
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the collection is read-only. This always returns .
+ Always returns .
+
+
+ Gets or sets a specified collection item.
+
+ When setting a value to this indexer property, the following behavior is observed:
+- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection.
+- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection.
+- Otherwise, a new item will get added to the collection.
+ The key of the value to get or set.
+ The object mapped to the key.
+
+
+ Get the list of the keys of all stored tags.
+ An containing the keys of the object that implements .
+
+
+ Get the list of the values of all stored tags.
+ An containing the values in the object that implements .
+
+
+ Enumerates the elements of an .
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Specifies flags defined by the W3C standard that are associated with an activity.
+
+
+ The activity has not been marked.
+
+
+ The activity (or more likely its parents) has been marked as useful to record.
+
+
+ Represents a whose format is based on a W3C standard.
+
+
+ Copies the 16 bytes of the current to a specified span.
+ The span to which the 16 bytes of the trace ID are to be copied.
+
+
+ Creates a new value from a read-only span of 16 bytes.
+ A read-only span of 16 bytes.
+
+ does not contain eight bytes.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of 32 hexadecimal characters.
+ A span that contains 32 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new trace ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new .
+
+
+ Determines whether the current instance and a specified are equal.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ Determines whether this instance and a specified object, which must also be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the TraceId.
+ The hash code of the TraceId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is the same as the TraceId of ; otherwise, .
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is different from the TraceId of ; otherwise, .
+
+
+ Returns a 32-character hexadecimal string that represents this span ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Returns a 32-character hexadecimal string that represents this trace ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Provides an implementation of the abstract class that represents a named place to which a source sends its information (events).
+
+
+ Creates a new .
+ The name of this .
+
+
+ Disposes the NotificationListeners.
+
+
+ Determines whether there are any registered subscribers.
+
+ if there are any registered subscribers, otherwise.
+
+
+ Checks whether the is enabled.
+ The name of the event to check.
+
+ if notifications are enabled; otherwise, .
+
+
+ Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in .
+ The name of the event to check.
+ The object that represents a context.
+ The object that represents a context.
+
+ if it is enabled, otherwise.
+
+
+ Invokes the OnActivityExport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Invokes the OnActivityImport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the incoming request.
+
+
+ Adds a subscriber.
+ A subscriber.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name and up to two context objects.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable.
+ An action delegate that receives the activity affected by an external event and an object that represents the incoming request.
+ An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name.
+ A subscriber.
+ A delegate that filters events based on their name (). The delegate should return if the event is enabled.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Returns a string with the name of this DiagnosticListener.
+ The name of this DiagnosticListener.
+
+
+ Logs a notification.
+ The name of the event to log.
+ An object that represents the payload for the event.
+
+
+ Gets the collection of listeners for this .
+
+
+ Gets the name of this .
+ The name of the .
+
+
+ An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
+
+
+ Initializes an instance of the class.
+
+
+ Verifies if the notification event is enabled.
+ The name of the event being written.
+
+ if the notification event is enabled, otherwise.
+
+
+ Verifies it the notification event is enabled.
+ The name of the event being written.
+ An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context.
+ Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in .
+
+ if the notification event is enabled, otherwise.
+
+
+ Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process.
+ The activity affected by an external event.
+ A payload that represents the incoming request.
+
+
+ Starts an and writes a start event.
+ The to be started.
+ An object that represent the value being passed as a payload for the event.
+ The started activity for convenient chaining.
+
+
+
+
+
+
+
+ Stops the given , maintains the global activity, and notifies consumers that the was stopped.
+ The activity to be stopped.
+ An object that represents the value passed as a payload for the event.
+
+
+
+
+
+
+
+ Provides a generic way of logging complex payloads.
+ The name of the event being written.
+ An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values.
+
+
+
+
+
+
+
+ An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network.
+ The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header.
+ injects values into and extracts values from carriers as string key-value pairs.
+
+
+ Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes.
+
+
+ Returns the default propagator object that will be initialized with.
+ An instance of the class.
+
+
+ Returns a propagator that does not transmit any distributed context information in outbound network messages.
+ An instance of the class.
+
+
+ Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request.
+ When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request.
+ An instance of the class.
+
+
+ Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation baggage list from the carrier.
+ Returns the extracted key-value pair list from the carrier.
+
+
+ Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation trace ID and state from the carrier.
+ When this method returns, contains the trace ID extracted from the carrier.
+ When this method returns, contains the trace state extracted from the carrier.
+
+
+ Injects the trace values stored in the object into a carrier. For example, into the headers of an HTTP request.
+ The Activity object has the distributed context to inject to the carrier.
+ The medium in which the distributed context will be stored.
+ The callback method to invoke to set a named key-value pair on the carrier.
+
+
+ Get or set the process-wide propagator object to use as the current selected propagator.
+ The currently selected process-wide propagator object.
+
+
+ Gets the set of field names this propagator is likely to read or write.
+ The list of fields that will be used by the DistributedContextPropagator.
+
+
+ Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field.
+ The medium used by propagators to read values from.
+ The propagation field name.
+ When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name.
+ When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name.
+
+
+ Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field.
+ Propagators may invoke it multiple times in order to set multiple fields.
+ The medium used by propagators to write values to.
+ The propagation field name.
+ The value corresponding to .
+
+
+ Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total.
+ The type that the counter represents.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Adds the increment value of the measurement.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Represents a metrics instrument that can be used to report arbitrary values that are likely to be statistically meaningful, for example, the request duration. Call to create a Histogram object.
+ The type that the histogram represents.
+
+
+ Records a measurement value.
+ The measurement value.
+
+
+ Records a measurement value.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+
+
+
+
+ Base class of all metrics instrument classes
+
+
+ Protected constructor to initialize the common instrument properties like the meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Activates the instrument to start recording measurements and to allow listeners to start listening to such measurements.
+
+
+ Gets the instrument description.
+
+
+ Gets a value that indicates if there are any listeners for this instrument.
+
+
+ Gets a value that indicates whether the instrument is an observable instrument.
+
+
+ Gets the Meter that created the instrument.
+
+
+ Gets the instrument name.
+
+
+
+ Gets the instrument unit of measurements.
+
+
+ The base class for all non-observable instruments.
+ The type that the instrument represents.
+
+
+ Create the metrics instrument using the properties meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements.
+ The type that the measurement represents.
+
+
+ Initializes a new instance of using the specified value.
+ The measurement value.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Gets the measurement tags list.
+
+
+ Gets the measurement value.
+
+
+ A delegate to represent the Meterlistener callbacks that are used when recording measurements.
+ The instrument that sent the measurement.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+ The state object originally passed to method.
+ The type that the measurement represents.
+
+
+ Meter is the class responsible for creating and tracking the Instruments.
+
+
+
+
+
+ Initializes a new instance of using the specified meter name.
+ The Meter name.
+
+
+ Initializes a new instance of using the specified meter name and version.
+ The Meter name.
+ The optional Meter version.
+
+
+
+
+
+
+
+
+ Create a metrics Counter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new counter.
+
+
+
+
+
+
+
+
+
+ Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentiles.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new histogram.
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement..
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Create a metrics UpDownCounter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new up down counter.
+
+
+
+
+
+
+
+
+
+ Dispose the Meter which will disable all instruments created by this meter.
+
+
+
+
+
+ Gets the Meter name.
+ The Meter name
+
+
+
+
+ Gets the Meter version.
+ The Meter version.
+
+
+
+
+
+
+
+
+
+ The MeterListener is class used to listen to the metrics instrument measurements recording.
+
+
+ Initializes a new instance of the class.
+
+
+ Stops listening to a specific instrument measurement recording.
+ The instrument to stop listening to.
+ The state object originally passed to method.
+
+
+ Disposes the listeners which will stop it from listening to any instrument.
+
+
+ Starts listening to a specific instrument measurement recording.
+ The instrument to listen to.
+ A state object that will be passed back to the callback getting measurements events.
+
+
+ Calls all Observable instruments that the listener is listening to, and calls with every collected measurement.
+
+
+ Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type.
+ If a measurement of type T is recorded and a callback of type T is registered, that callback will be used.
+ The callback which can be used to get measurement recording of numeric type T.
+ The type of the numeric measurement.
+
+
+ Enables the listener to start listening to instruments measurement recording.
+
+
+ Gets or sets the callback to get notified when an instrument is published.
+ The callback to get notified when an instrument is published.
+
+
+ Gets or sets the callback to get notified when the measurement is stopped on some instrument.
+ This can happen when the Meter or the Listener is disposed or calling on the listener.
+ The callback to get notified when the measurement is stopped on some instrument.
+
+
+
+
+
+
+
+
+
+
+ Represents a metrics-observable instrument that reports monotonically increasing values when the instrument is being observed, for example, CPU time (for different processes, threads, user mode, or kernel mode). Call to create the observable counter object.
+ The type that the observable counter represents.
+
+
+ Represents an observable instrument that reports non-additive values when the instrument is being observed, for example, the current room temperature. Call to create the observable counter object.
+
+
+
+ ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit.
+ The type that the observable instrument represents.
+
+
+ Initializes a new instance of the class using the specified meter, name, description, and unit.
+ All classes that extend ObservableInstrument{T} must call this constructor when constructing objects of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.
+ The current measurements tracked by this instrument.
+
+
+ Gets a value that indicates if the instrument is an observable instrument.
+
+ if the instrument is metrics-observable; otherwise.
+
+
+ A metrics-observable instrument that reports increasing or decreasing values when the instrument is being observed.
+Use this instrument to monitor the process heap size or the approximate number of items in a lock-free circular buffer, for example.
+To create an ObservableUpDownCounter object, use the methods.
+ The type that the counter represents.
+
+
+ An instrument that supports reporting positive or negative metric values.
+ UpDownCounter may be used in scenarios like reporting the change in active requests or queue size.
+ The type that the UpDownCounter represents.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A of tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A span of key-value pair tags associated with the measurement.
+
+
+ A delegate that defines the signature of the callbacks used in the sampling process.
+ The Activity creation options used by callbacks to decide creating the Activity object or not.
+ The type of the requested parent to create the Activity object with. Should be either a string or an instance.
+ An object containing the sampling results, which indicate the amount of data to collect for the related .
+
+
+ Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists.
+
+
+ Initializes a new instance of using the specified .
+ A span of tags to initialize the list with.
+
+
+ Adds a tag to the list.
+ The key-value pair of the tag to add to the list.
+
+
+ Adds a tag with the specified and to the list.
+ The tag key.
+ The tag value.
+
+
+ Removes all elements from the .
+
+
+ Determines whether a tag is in the .
+ The tag to locate in the .
+
+ if item is found in the ; otherwise, .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0 or greater than or equal to the length.
+
+
+ Copies the contents of this into a destination span.
+ The destination object.
+
+ The number of elements in the source is greater than the number of elements that the destination span.
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Searches for the specified tag and returns the zero-based index of the first occurrence within the entire .
+ The tag to locate in the .
+ The zero-based index of the first ocurrence of in the tag list.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which the item should be inserted.
+ The tag to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific object from the .
+ The tag to remove from the .
+
+ if is successfully removed; otherwise, . This method also returns if was not found in the .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ index is less than 0 or is greater than .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Gets the number of tags contained in the .
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the is read-only. This property will always return .
+
+ Always returns .
+
+
+ Gets or sets the tags at the specified index.
+ The item index.
+
+ is not a valid index in the .
+ The element at the specified index.
+
+
+ An enumerator for traversing a tag list collection.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net7.0/System.Diagnostics.DiagnosticSource.dll b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net7.0/System.Diagnostics.DiagnosticSource.dll
new file mode 100644
index 0000000..3dc9d1e
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net7.0/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net7.0/System.Diagnostics.DiagnosticSource.xml b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net7.0/System.Diagnostics.DiagnosticSource.xml
new file mode 100644
index 0000000..d94e6d2
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net7.0/System.Diagnostics.DiagnosticSource.xml
@@ -0,0 +1,1886 @@
+
+
+
+ System.Diagnostics.DiagnosticSource
+
+
+
+ Represents an operation with context to be used for logging.
+
+
+ Occurs when the value changes.
+
+
+ Initializes a new instance of the class.
+ The name of the operation.
+
+
+ Updates the to have a new baggage item with the specified key and value.
+ The baggage key.
+ The baggage value.
+
+ for convenient chaining.
+
+
+ Adds the specified activity event to the events list.
+ The activity event to add.
+
+ for convenient chaining.
+
+
+ Updates the activity to have a tag with an additional and .
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Updates the to have a new tag with the provided and .
+ The tag key.
+ The tag value.
+
+ for convenient chaining.
+
+
+ Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise.
+
+
+ When overriden by a derived type, this method releases any allocated resources.
+
+ if the method is being called from the finalizer; if calling from user code.
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the tags attached to this Activity object.
+
+ .
+
+
+ Returns the value of a key-value pair added to the activity with .
+ The baggage key.
+ The value of the key-value-pair item if it exists, or if it does not exist.
+
+
+ Returns the object mapped to the specified property name.
+ The name associated to the object.
+ The object mapped to the property name, if one is found; otherwise, .
+
+
+ Returns the value of the Activity tag mapped to the input key/>.
+ Returns if that key does not exist.
+ The tag key string.
+ The tag value mapped to the input key.
+
+
+ Add or update the Activity baggage with the input key and value.
+ If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection.
+ - otherwise, nothing will happen and the collection will not change.
+ If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value.
+ - otherwise, the key and value will get added as a new baggage to the collection.
+ Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead.
+ The baggage key name
+ The baggage value mapped to the input key
+
+ for convenient chaining.
+
+
+ Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value.
+ The name to associate the value with.
+ The object to attach and map to the property name.
+
+
+ Updates the to set its as the difference between and the specified stop time.
+ The UTC stop time.
+
+ for convenient chaining.
+
+
+ Sets the ID format on this before it is started.
+ One of the enumeration values that specifies the format of the property.
+
+ for convenient chaining.
+
+
+ Sets the parent ID using the W3C convention of a TraceId and a SpanId.
+ The parent activity's TraceId.
+ The parent activity's SpanId.
+ One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity.
+
+ for convenient chaining.
+
+
+ Updates this to indicate that the with an ID of caused this .
+ The ID of the parent operation.
+
+ for convenient chaining.
+
+
+ Sets the start time of this .
+ The start time in UTC.
+
+ for convenient chaining.
+
+
+ Sets the status code and description on the current activity object.
+ The status code
+ The error status description
+
+ for convenient chaining.
+
+
+ Adds or update the activity tag with the input key and value.
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Starts the activity.
+
+ for convenient chaining.
+
+
+ Stops the activity.
+
+
+ Gets or sets the flags (defined by the W3C ID specification) associated with the activity.
+ the flags associated with the activity.
+
+
+ Gets a collection of key/value pairs that represents information that is passed to children of this .
+ Information that's passed to children of this .
+
+
+ Gets the context of the activity. Context becomes valid only if the activity has been started.
+ The context of the activity, if the activity has been started; otherwise, returns the default context.
+
+
+ Gets or sets the current operation () for the current thread. This flows across async calls.
+ The current operation for the current thread.
+
+
+ Gets or sets the default ID format for the .
+
+
+ Gets or sets the display name of the activity.
+ A string that represents the activity display name.
+
+
+ Gets the duration of the operation.
+ The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called.
+
+
+ Gets the list of all the activity events attached to this activity.
+ An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration.
+
+
+ Gets or sets a value that detrmines if the is always used to define the default ID format.
+
+ to always use the ; otherwise, .
+
+
+ Gets a value that indicates whether the parent context was created from remote propagation.
+
+
+ Gets an identifier that is specific to a particular request.
+ The activity ID.
+
+
+ Gets the format for the .
+ The format for the .
+
+
+ Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events.
+
+ if the activity should be populated; otherwise.
+
+
+ Gets a value that indicates whether this object is stopped or not.
+
+
+ Gets the relationship between the activity, its parents, and its children in a trace.
+ One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace.
+
+
+ Gets the list of all the activity links attached to this activity.
+ An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration.
+
+
+ Gets the operation name.
+ The name of the operation.
+
+
+ Gets the parent that created this activity.
+ The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process.
+
+
+ Gets the ID of this activity's parent.
+ The parent ID, if one exists, or if it does not.
+
+
+ Gets the parent's .
+ The parent's .
+
+
+ Gets a value that indicates whether the W3CIdFlags.Recorded flag is set.
+
+ if the W3CIdFlags.Recorded flag is set; otherwise, .
+
+
+ Gets the root ID of this .
+ The root ID, or if the current instance has either a or an .
+
+
+ Gets the activity source associated with this activity.
+
+
+ Gets the SPAN part of the .
+ The ID for the SPAN part of , if the has the W3C format; otherwise, a zero .
+
+
+ Gets the time when the operation started.
+ The UTC time that the operation started.
+
+
+ Gets status code of the current activity object.
+
+
+ Gets the status description of the current activity object.
+
+
+ Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity.
+ A key-value pair enumeration of tags and objects.
+
+
+ Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system.
+ Information that will be logged along with the to the logging system.
+
+
+ Gets the TraceId part of the .
+ The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId.
+
+
+ When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers.
+ TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm.
+
+
+ Gets or sets the W3C header.
+ The W3C header.
+
+
+ Enumerates the data stored on an object.
+ Type being enumerated.
+
+
+ Returns an enumerator that iterates through the data stored on an Activity object.
+
+ .
+
+
+ Advances the enumerator to the next element of the data.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Gets the element at the current position of the enumerator.
+
+
+ Provides data for the event.
+
+
+ Gets the object after the event.
+
+
+ Gets the object before the event.
+
+
+ A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
+
+
+ Construct a new activity context instance using the specified arguments.
+ A trace identifier.
+ A span identifier.
+ Contain details about the trace.
+ Carries system-specific configuration data.
+ Indicates if the context is propagated from a remote parent.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Determines whether this instance and a specified object have the same value.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Parses a W3C trace context headers to an object.
+ The W3C trace parent header.
+ The trace state.
+ The trace parent is invalid.
+ The object created from the parsing operation.
+
+
+ Tries to parse the W3C trace context headers to the object.
+ The W3C trace parent header.
+ The W3C trace state.
+
+ to propagate the context from the remote parent; otherwise, .
+ When this method returns, contains the object created from the parsing operation.
+
+ if the operation succeeds; otherwise.
+
+
+ Tries to parse the W3C trace context headers to an object.
+ The W3C trace parent header.
+ The W3C trace state.
+ When this method returns , the object created from the parsing operation.
+
+ if the parsing was successful; otherwise.
+
+
+ Indicates if the activity context was propagated from a remote parent.
+
+ if it was propagated from a remote parent; otherwise.
+
+
+ The Id of the request as known by the caller.
+ The Span Id in the context.
+
+
+ The flags defined by the W3C standard along with the ID for the activity.
+ The context tracing flags.
+
+
+ The trace identifier.
+ The tracing identifier in the context.
+
+
+ Holds the W3C 'tracestate' header.
+ A string representing the W3C 'tracestate' header.
+
+
+ Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
+
+The possible generic type parameters are or .
+ The type of the property. Should be either or .
+
+
+ Gets the activity kind which the activity will be created with.
+ One of the enumeration values that represent an activity kind.
+
+
+ Gets the enumeration of activity links that the activity will be created with.
+ An enumeration of activity links.
+
+
+ Gets the name to use as OperationName of the activity that will get created.
+ A string representing the activity name.
+
+
+ Gets the parent context or parent Id that the activity will get created with.
+ The parent of the activity, represented either as a or as an .
+
+
+ Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks.
+ The Activity tags collection.
+
+
+ Gets the activity source that creates the activity.
+ An activity source object.
+
+
+ Gets the tags that the activity will be created with.
+ A key-value pair enumeration of tags associated with the activity.
+
+
+ Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks.
+ The trace Id.
+
+
+ Gets or initializes the trace state to use when creating the Activity.
+
+
+ Represents an event containing a name and a timestamp, as well as an optional list of tags.
+
+
+ Initializes a new activity event instance using the specified name and the current time as the event timestamp.
+ The event name.
+
+
+ Initializes a new activity event instance using the specified name, timestamp and tags.
+ The event name.
+ The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call.
+ The event tags.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Gets the activity event name.
+ A string representing the activity event name.
+
+
+ Gets the collection of tags associated with the event.
+ A key-value pair enumeration containing the tags associated with the event.
+
+
+ Gets the activity event timestamp.
+ A datetime offset representing the activity event timestamp.
+
+
+ Specifies the format of the property.
+
+
+ The hierarchical format.
+
+
+ An unknown format.
+
+
+ The W3C format.
+
+
+ Describes the relationship between the activity, its parents and its children in a trace.
+
+
+ Outgoing request to the external component.
+
+
+ Output received from an external component.
+
+
+ Internal operation within an application, as opposed to operations with remote parents or children. This is the default value.
+
+
+ Output provided to external components.
+
+
+ Requests incoming from external component.
+
+
+ Activities may be linked to zero or more activity context instances that are causally related.
+
+Activity links can point to activity contexts inside a single trace or across different traces.
+
+Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
+
+
+ Constructs a new activity link, which can be linked to an activity.
+ The trace activity context.
+ The key-value pair list of tags associated to the activity context.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Indicates whether the current activity link is equal to another activity link.
+ The activity link to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Indicates whether the current activity link is equal to another object.
+ The object to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Retrieves the activity context inside this activity link.
+
+
+ Retrieves the key-value pair enumeration of tags attached to the activity context.
+ An enumeration of tags attached to the activity context.
+
+
+ Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
+
+
+ Construct a new activity listener object to start listeneing to the activity events.
+
+
+ Unregisters this activity listener object from listening to activity events.
+
+
+ Gets or sets the callback used to listen to the activity start event.
+ An activity callback instance used to listen to the activity start event.
+
+
+ Gets or sets the callback used to listen to the activity stop event.
+ An activity callback instance used to listen to the activity stop event.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not.
+
+ to listen events; otherwise.
+
+
+ Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead.
+
+
+ The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return .
+
+
+ The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere.
+
+
+ The activity object does not need to be created.
+
+
+ The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener.
+
+
+ Provides APIs to create and start objects and to register objects to listen to the events.
+
+
+ Constructs an activity source object with the specified .
+ The name of the activity source object.
+ The version of the component publishing the tracing info.
+
+
+ Adds a listener to the activity starting and stopping events.
+ The activity listener object to use for listening to the activity events.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity
+ The
+ The created object or if there is no any event listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ If the Activity object is created, it will not automatically start. Callers will need to call to start it.
+ The operation name of the Activity.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity.
+ The
+ The parent Id to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Disposes the activity source object, removes the current instance from the global list, and empties the listeners list.
+
+
+ Checks if there are any listeners for this activity source.
+
+ if there is a listener registered for this activity source; otherwise, .
+
+
+ Creates and starts a new object if there is any listener to the Activity events, returns otherwise.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The optional start timestamp to set on the created Activity object.
+ The operation name of the Activity.
+ The created object or if there is no any listener.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name and activity kind.
+ The operation name of the activity.
+ The activity kind.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent object to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent Id to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Returns the activity source name.
+ A string that represents the activity source name.
+
+
+ Returns the activity source version.
+ A string that represents the activity source version.
+
+
+ Represents a formatted based on a W3C standard.
+
+
+ Copies the 8 bytes of the current to a specified span.
+ The span to which the 8 bytes of the SpanID are to be copied.
+
+
+ Creates a new value from a read-only span of eight bytes.
+ A read-only span of eight bytes.
+
+ does not contain eight bytes.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of 16 hexadecimal characters.
+ A span that contains 16 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new span ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new span ID.
+
+
+ Determines whether this instance and the specified instance have the same value.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ the current instance and a specified object, which also must be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the SpanId.
+ The hash code of the SpanId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is the same as the SpanId of ; otherwise, .
+
+
+ Determine whether two specified instances have unequal values.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is different from the SpanId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Define the status code of the Activity which indicate the status of the instrumented operation.
+
+
+ Status code indicating an error is encountered during the operation.
+
+
+ Status code indicating the operation has been validated and completed successfully.
+
+
+ Unset status code is the default value indicating the status code is not initialized.
+
+
+ ActivityTagsCollection is a collection class used to store tracing tags.
+
+This collection will be used with classes like and .
+
+This collection behaves as follows:
+- The collection items will be ordered according to how they are added.
+- Don't allow duplication of items with the same key.
+- When using the indexer to store an item in the collection:
+ - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection.
+ - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection.
+ - Otherwise, the item will be added to the collection.
+- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception.
+
+
+ Create a new instance of the collection.
+
+
+ Create a new instance of the collection and store the input list items in the collection.
+ Initial list to store in the collection.
+
+
+ Adds an item to the collection.
+ Key and value pair of the tag to add to the collection.
+
+ already exists in the list.
+
+ is .
+
+
+ Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key.
+ The tag key.
+ The tag value.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the contains a specific value.
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Determines whether the collection contains an element with the specified key.
+ The key to locate in the .
+
+ if the collection contains tag with that key. otherwise.
+
+
+ Copies the elements of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from collection.
+ The zero-based index in array at which copying begins.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator for the .
+
+
+ Removes the first occurrence of a specific item from the collection.
+ The tag key value pair to remove.
+
+ if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection.
+
+
+ Removes the tag with the specified key from the collection.
+ The tag key.
+
+ if the item existed and removed. otherwise.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value associated with the specified key.
+ The tag key.
+ The tag value.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.
+
+
+ Gets the number of elements contained in the collection.
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the collection is read-only. This always returns .
+ Always returns .
+
+
+ Gets or sets a specified collection item.
+
+ When setting a value to this indexer property, the following behavior is observed:
+- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection.
+- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection.
+- Otherwise, a new item will get added to the collection.
+ The key of the value to get or set.
+ The object mapped to the key.
+
+
+ Get the list of the keys of all stored tags.
+ An containing the keys of the object that implements .
+
+
+ Get the list of the values of all stored tags.
+ An containing the values in the object that implements .
+
+
+ Enumerates the elements of an .
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Specifies flags defined by the W3C standard that are associated with an activity.
+
+
+ The activity has not been marked.
+
+
+ The activity (or more likely its parents) has been marked as useful to record.
+
+
+ Represents a whose format is based on a W3C standard.
+
+
+ Copies the 16 bytes of the current to a specified span.
+ The span to which the 16 bytes of the trace ID are to be copied.
+
+
+ Creates a new value from a read-only span of 16 bytes.
+ A read-only span of 16 bytes.
+
+ does not contain eight bytes.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of 32 hexadecimal characters.
+ A span that contains 32 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new trace ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new .
+
+
+ Determines whether the current instance and a specified are equal.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ Determines whether this instance and a specified object, which must also be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the TraceId.
+ The hash code of the TraceId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is the same as the TraceId of ; otherwise, .
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is different from the TraceId of ; otherwise, .
+
+
+ Returns a 32-character hexadecimal string that represents this span ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Returns a 32-character hexadecimal string that represents this trace ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Provides an implementation of the abstract class that represents a named place to which a source sends its information (events).
+
+
+ Creates a new .
+ The name of this .
+
+
+ Disposes the NotificationListeners.
+
+
+ Determines whether there are any registered subscribers.
+
+ if there are any registered subscribers, otherwise.
+
+
+ Checks whether the is enabled.
+ The name of the event to check.
+
+ if notifications are enabled; otherwise, .
+
+
+ Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in .
+ The name of the event to check.
+ The object that represents a context.
+ The object that represents a context.
+
+ if it is enabled, otherwise.
+
+
+ Invokes the OnActivityExport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Invokes the OnActivityImport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the incoming request.
+
+
+ Adds a subscriber.
+ A subscriber.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name and up to two context objects.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable.
+ An action delegate that receives the activity affected by an external event and an object that represents the incoming request.
+ An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name.
+ A subscriber.
+ A delegate that filters events based on their name (). The delegate should return if the event is enabled.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Returns a string with the name of this DiagnosticListener.
+ The name of this DiagnosticListener.
+
+
+ Logs a notification.
+ The name of the event to log.
+ An object that represents the payload for the event.
+
+
+ Gets the collection of listeners for this .
+
+
+ Gets the name of this .
+ The name of the .
+
+
+ An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
+
+
+ Initializes an instance of the class.
+
+
+ Verifies if the notification event is enabled.
+ The name of the event being written.
+
+ if the notification event is enabled, otherwise.
+
+
+ Verifies it the notification event is enabled.
+ The name of the event being written.
+ An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context.
+ Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in .
+
+ if the notification event is enabled, otherwise.
+
+
+ Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process.
+ The activity affected by an external event.
+ A payload that represents the incoming request.
+
+
+ Starts an and writes a start event.
+ The to be started.
+ An object that represent the value being passed as a payload for the event.
+ The started activity for convenient chaining.
+
+
+
+
+
+
+
+ Stops the given , maintains the global activity, and notifies consumers that the was stopped.
+ The activity to be stopped.
+ An object that represents the value passed as a payload for the event.
+
+
+
+
+
+
+
+ Provides a generic way of logging complex payloads.
+ The name of the event being written.
+ An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values.
+
+
+
+
+
+
+
+ An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network.
+ The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header.
+ injects values into and extracts values from carriers as string key-value pairs.
+
+
+ Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes.
+
+
+ Returns the default propagator object that will be initialized with.
+ An instance of the class.
+
+
+ Returns a propagator that does not transmit any distributed context information in outbound network messages.
+ An instance of the class.
+
+
+ Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request.
+ When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request.
+ An instance of the class.
+
+
+ Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation baggage list from the carrier.
+ Returns the extracted key-value pair list from the carrier.
+
+
+ Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation trace ID and state from the carrier.
+ When this method returns, contains the trace ID extracted from the carrier.
+ When this method returns, contains the trace state extracted from the carrier.
+
+
+ Injects the trace values stored in the object into a carrier. For example, into the headers of an HTTP request.
+ The Activity object has the distributed context to inject to the carrier.
+ The medium in which the distributed context will be stored.
+ The callback method to invoke to set a named key-value pair on the carrier.
+
+
+ Get or set the process-wide propagator object to use as the current selected propagator.
+ The currently selected process-wide propagator object.
+
+
+ Gets the set of field names this propagator is likely to read or write.
+ The list of fields that will be used by the DistributedContextPropagator.
+
+
+ Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field.
+ The medium used by propagators to read values from.
+ The propagation field name.
+ When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name.
+ When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name.
+
+
+ Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field.
+ Propagators may invoke it multiple times in order to set multiple fields.
+ The medium used by propagators to write values to.
+ The propagation field name.
+ The value corresponding to .
+
+
+ Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total.
+ The type that the counter represents.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Adds the increment value of the measurement.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Represents a metrics instrument that can be used to report arbitrary values that are likely to be statistically meaningful, for example, the request duration. Call to create a Histogram object.
+ The type that the histogram represents.
+
+
+ Records a measurement value.
+ The measurement value.
+
+
+ Records a measurement value.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+
+
+
+
+ Base class of all metrics instrument classes
+
+
+ Protected constructor to initialize the common instrument properties like the meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Activates the instrument to start recording measurements and to allow listeners to start listening to such measurements.
+
+
+ Gets the instrument description.
+
+
+ Gets a value that indicates if there are any listeners for this instrument.
+
+
+ Gets a value that indicates whether the instrument is an observable instrument.
+
+
+ Gets the Meter that created the instrument.
+
+
+ Gets the instrument name.
+
+
+
+ Gets the instrument unit of measurements.
+
+
+ The base class for all non-observable instruments.
+ The type that the instrument represents.
+
+
+ Create the metrics instrument using the properties meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements.
+ The type that the measurement represents.
+
+
+ Initializes a new instance of using the specified value.
+ The measurement value.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Gets the measurement tags list.
+
+
+ Gets the measurement value.
+
+
+ A delegate to represent the Meterlistener callbacks that are used when recording measurements.
+ The instrument that sent the measurement.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+ The state object originally passed to method.
+ The type that the measurement represents.
+
+
+ Meter is the class responsible for creating and tracking the Instruments.
+
+
+
+
+
+ Initializes a new instance of using the specified meter name.
+ The Meter name.
+
+
+ Initializes a new instance of using the specified meter name and version.
+ The Meter name.
+ The optional Meter version.
+
+
+
+
+
+
+
+
+ Create a metrics Counter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new counter.
+
+
+
+
+
+
+
+
+
+ Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentiles.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new histogram.
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement..
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Create a metrics UpDownCounter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new up down counter.
+
+
+
+
+
+
+
+
+
+ Dispose the Meter which will disable all instruments created by this meter.
+
+
+
+
+
+ Gets the Meter name.
+ The Meter name
+
+
+
+
+ Gets the Meter version.
+ The Meter version.
+
+
+
+
+
+
+
+
+
+ The MeterListener is class used to listen to the metrics instrument measurements recording.
+
+
+ Initializes a new instance of the class.
+
+
+ Stops listening to a specific instrument measurement recording.
+ The instrument to stop listening to.
+ The state object originally passed to method.
+
+
+ Disposes the listeners which will stop it from listening to any instrument.
+
+
+ Starts listening to a specific instrument measurement recording.
+ The instrument to listen to.
+ A state object that will be passed back to the callback getting measurements events.
+
+
+ Calls all Observable instruments that the listener is listening to, and calls with every collected measurement.
+
+
+ Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type.
+ If a measurement of type T is recorded and a callback of type T is registered, that callback will be used.
+ The callback which can be used to get measurement recording of numeric type T.
+ The type of the numeric measurement.
+
+
+ Enables the listener to start listening to instruments measurement recording.
+
+
+ Gets or sets the callback to get notified when an instrument is published.
+ The callback to get notified when an instrument is published.
+
+
+ Gets or sets the callback to get notified when the measurement is stopped on some instrument.
+ This can happen when the Meter or the Listener is disposed or calling on the listener.
+ The callback to get notified when the measurement is stopped on some instrument.
+
+
+
+
+
+
+
+
+
+
+ Represents a metrics-observable instrument that reports monotonically increasing values when the instrument is being observed, for example, CPU time (for different processes, threads, user mode, or kernel mode). Call to create the observable counter object.
+ The type that the observable counter represents.
+
+
+ Represents an observable instrument that reports non-additive values when the instrument is being observed, for example, the current room temperature. Call to create the observable counter object.
+
+
+
+ ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit.
+ The type that the observable instrument represents.
+
+
+ Initializes a new instance of the class using the specified meter, name, description, and unit.
+ All classes that extend ObservableInstrument{T} must call this constructor when constructing objects of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.
+ The current measurements tracked by this instrument.
+
+
+ Gets a value that indicates if the instrument is an observable instrument.
+
+ if the instrument is metrics-observable; otherwise.
+
+
+ A metrics-observable instrument that reports increasing or decreasing values when the instrument is being observed.
+Use this instrument to monitor the process heap size or the approximate number of items in a lock-free circular buffer, for example.
+To create an ObservableUpDownCounter object, use the methods.
+ The type that the counter represents.
+
+
+ An instrument that supports reporting positive or negative metric values.
+ UpDownCounter may be used in scenarios like reporting the change in active requests or queue size.
+ The type that the UpDownCounter represents.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A of tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A span of key-value pair tags associated with the measurement.
+
+
+ A delegate that defines the signature of the callbacks used in the sampling process.
+ The Activity creation options used by callbacks to decide creating the Activity object or not.
+ The type of the requested parent to create the Activity object with. Should be either a string or an instance.
+ An object containing the sampling results, which indicate the amount of data to collect for the related .
+
+
+ Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists.
+
+
+ Initializes a new instance of using the specified .
+ A span of tags to initialize the list with.
+
+
+ Adds a tag to the list.
+ The key-value pair of the tag to add to the list.
+
+
+ Adds a tag with the specified and to the list.
+ The tag key.
+ The tag value.
+
+
+ Removes all elements from the .
+
+
+ Determines whether a tag is in the .
+ The tag to locate in the .
+
+ if item is found in the ; otherwise, .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0 or greater than or equal to the length.
+
+
+ Copies the contents of this into a destination span.
+ The destination object.
+
+ The number of elements in the source is greater than the number of elements that the destination span.
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Searches for the specified tag and returns the zero-based index of the first occurrence within the entire .
+ The tag to locate in the .
+ The zero-based index of the first ocurrence of in the tag list.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which the item should be inserted.
+ The tag to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific object from the .
+ The tag to remove from the .
+
+ if is successfully removed; otherwise, . This method also returns if was not found in the .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ index is less than 0 or is greater than .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Gets the number of tags contained in the .
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the is read-only. This property will always return .
+
+ Always returns .
+
+
+ Gets or sets the tags at the specified index.
+ The item index.
+
+ is not a valid index in the .
+ The element at the specified index.
+
+
+ An enumerator for traversing a tag list collection.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net8.0/System.Diagnostics.DiagnosticSource.dll b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net8.0/System.Diagnostics.DiagnosticSource.dll
new file mode 100644
index 0000000..9b368f0
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net8.0/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net8.0/System.Diagnostics.DiagnosticSource.xml b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net8.0/System.Diagnostics.DiagnosticSource.xml
new file mode 100644
index 0000000..d94e6d2
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/net8.0/System.Diagnostics.DiagnosticSource.xml
@@ -0,0 +1,1886 @@
+
+
+
+ System.Diagnostics.DiagnosticSource
+
+
+
+ Represents an operation with context to be used for logging.
+
+
+ Occurs when the value changes.
+
+
+ Initializes a new instance of the class.
+ The name of the operation.
+
+
+ Updates the to have a new baggage item with the specified key and value.
+ The baggage key.
+ The baggage value.
+
+ for convenient chaining.
+
+
+ Adds the specified activity event to the events list.
+ The activity event to add.
+
+ for convenient chaining.
+
+
+ Updates the activity to have a tag with an additional and .
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Updates the to have a new tag with the provided and .
+ The tag key.
+ The tag value.
+
+ for convenient chaining.
+
+
+ Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise.
+
+
+ When overriden by a derived type, this method releases any allocated resources.
+
+ if the method is being called from the finalizer; if calling from user code.
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the tags attached to this Activity object.
+
+ .
+
+
+ Returns the value of a key-value pair added to the activity with .
+ The baggage key.
+ The value of the key-value-pair item if it exists, or if it does not exist.
+
+
+ Returns the object mapped to the specified property name.
+ The name associated to the object.
+ The object mapped to the property name, if one is found; otherwise, .
+
+
+ Returns the value of the Activity tag mapped to the input key/>.
+ Returns if that key does not exist.
+ The tag key string.
+ The tag value mapped to the input key.
+
+
+ Add or update the Activity baggage with the input key and value.
+ If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection.
+ - otherwise, nothing will happen and the collection will not change.
+ If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value.
+ - otherwise, the key and value will get added as a new baggage to the collection.
+ Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead.
+ The baggage key name
+ The baggage value mapped to the input key
+
+ for convenient chaining.
+
+
+ Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value.
+ The name to associate the value with.
+ The object to attach and map to the property name.
+
+
+ Updates the to set its as the difference between and the specified stop time.
+ The UTC stop time.
+
+ for convenient chaining.
+
+
+ Sets the ID format on this before it is started.
+ One of the enumeration values that specifies the format of the property.
+
+ for convenient chaining.
+
+
+ Sets the parent ID using the W3C convention of a TraceId and a SpanId.
+ The parent activity's TraceId.
+ The parent activity's SpanId.
+ One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity.
+
+ for convenient chaining.
+
+
+ Updates this to indicate that the with an ID of caused this .
+ The ID of the parent operation.
+
+ for convenient chaining.
+
+
+ Sets the start time of this .
+ The start time in UTC.
+
+ for convenient chaining.
+
+
+ Sets the status code and description on the current activity object.
+ The status code
+ The error status description
+
+ for convenient chaining.
+
+
+ Adds or update the activity tag with the input key and value.
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Starts the activity.
+
+ for convenient chaining.
+
+
+ Stops the activity.
+
+
+ Gets or sets the flags (defined by the W3C ID specification) associated with the activity.
+ the flags associated with the activity.
+
+
+ Gets a collection of key/value pairs that represents information that is passed to children of this .
+ Information that's passed to children of this .
+
+
+ Gets the context of the activity. Context becomes valid only if the activity has been started.
+ The context of the activity, if the activity has been started; otherwise, returns the default context.
+
+
+ Gets or sets the current operation () for the current thread. This flows across async calls.
+ The current operation for the current thread.
+
+
+ Gets or sets the default ID format for the .
+
+
+ Gets or sets the display name of the activity.
+ A string that represents the activity display name.
+
+
+ Gets the duration of the operation.
+ The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called.
+
+
+ Gets the list of all the activity events attached to this activity.
+ An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration.
+
+
+ Gets or sets a value that detrmines if the is always used to define the default ID format.
+
+ to always use the ; otherwise, .
+
+
+ Gets a value that indicates whether the parent context was created from remote propagation.
+
+
+ Gets an identifier that is specific to a particular request.
+ The activity ID.
+
+
+ Gets the format for the .
+ The format for the .
+
+
+ Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events.
+
+ if the activity should be populated; otherwise.
+
+
+ Gets a value that indicates whether this object is stopped or not.
+
+
+ Gets the relationship between the activity, its parents, and its children in a trace.
+ One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace.
+
+
+ Gets the list of all the activity links attached to this activity.
+ An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration.
+
+
+ Gets the operation name.
+ The name of the operation.
+
+
+ Gets the parent that created this activity.
+ The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process.
+
+
+ Gets the ID of this activity's parent.
+ The parent ID, if one exists, or if it does not.
+
+
+ Gets the parent's .
+ The parent's .
+
+
+ Gets a value that indicates whether the W3CIdFlags.Recorded flag is set.
+
+ if the W3CIdFlags.Recorded flag is set; otherwise, .
+
+
+ Gets the root ID of this .
+ The root ID, or if the current instance has either a or an .
+
+
+ Gets the activity source associated with this activity.
+
+
+ Gets the SPAN part of the .
+ The ID for the SPAN part of , if the has the W3C format; otherwise, a zero .
+
+
+ Gets the time when the operation started.
+ The UTC time that the operation started.
+
+
+ Gets status code of the current activity object.
+
+
+ Gets the status description of the current activity object.
+
+
+ Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity.
+ A key-value pair enumeration of tags and objects.
+
+
+ Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system.
+ Information that will be logged along with the to the logging system.
+
+
+ Gets the TraceId part of the .
+ The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId.
+
+
+ When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers.
+ TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm.
+
+
+ Gets or sets the W3C header.
+ The W3C header.
+
+
+ Enumerates the data stored on an object.
+ Type being enumerated.
+
+
+ Returns an enumerator that iterates through the data stored on an Activity object.
+
+ .
+
+
+ Advances the enumerator to the next element of the data.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Gets the element at the current position of the enumerator.
+
+
+ Provides data for the event.
+
+
+ Gets the object after the event.
+
+
+ Gets the object before the event.
+
+
+ A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
+
+
+ Construct a new activity context instance using the specified arguments.
+ A trace identifier.
+ A span identifier.
+ Contain details about the trace.
+ Carries system-specific configuration data.
+ Indicates if the context is propagated from a remote parent.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Determines whether this instance and a specified object have the same value.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Parses a W3C trace context headers to an object.
+ The W3C trace parent header.
+ The trace state.
+ The trace parent is invalid.
+ The object created from the parsing operation.
+
+
+ Tries to parse the W3C trace context headers to the object.
+ The W3C trace parent header.
+ The W3C trace state.
+
+ to propagate the context from the remote parent; otherwise, .
+ When this method returns, contains the object created from the parsing operation.
+
+ if the operation succeeds; otherwise.
+
+
+ Tries to parse the W3C trace context headers to an object.
+ The W3C trace parent header.
+ The W3C trace state.
+ When this method returns , the object created from the parsing operation.
+
+ if the parsing was successful; otherwise.
+
+
+ Indicates if the activity context was propagated from a remote parent.
+
+ if it was propagated from a remote parent; otherwise.
+
+
+ The Id of the request as known by the caller.
+ The Span Id in the context.
+
+
+ The flags defined by the W3C standard along with the ID for the activity.
+ The context tracing flags.
+
+
+ The trace identifier.
+ The tracing identifier in the context.
+
+
+ Holds the W3C 'tracestate' header.
+ A string representing the W3C 'tracestate' header.
+
+
+ Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
+
+The possible generic type parameters are or .
+ The type of the property. Should be either or .
+
+
+ Gets the activity kind which the activity will be created with.
+ One of the enumeration values that represent an activity kind.
+
+
+ Gets the enumeration of activity links that the activity will be created with.
+ An enumeration of activity links.
+
+
+ Gets the name to use as OperationName of the activity that will get created.
+ A string representing the activity name.
+
+
+ Gets the parent context or parent Id that the activity will get created with.
+ The parent of the activity, represented either as a or as an .
+
+
+ Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks.
+ The Activity tags collection.
+
+
+ Gets the activity source that creates the activity.
+ An activity source object.
+
+
+ Gets the tags that the activity will be created with.
+ A key-value pair enumeration of tags associated with the activity.
+
+
+ Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks.
+ The trace Id.
+
+
+ Gets or initializes the trace state to use when creating the Activity.
+
+
+ Represents an event containing a name and a timestamp, as well as an optional list of tags.
+
+
+ Initializes a new activity event instance using the specified name and the current time as the event timestamp.
+ The event name.
+
+
+ Initializes a new activity event instance using the specified name, timestamp and tags.
+ The event name.
+ The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call.
+ The event tags.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Gets the activity event name.
+ A string representing the activity event name.
+
+
+ Gets the collection of tags associated with the event.
+ A key-value pair enumeration containing the tags associated with the event.
+
+
+ Gets the activity event timestamp.
+ A datetime offset representing the activity event timestamp.
+
+
+ Specifies the format of the property.
+
+
+ The hierarchical format.
+
+
+ An unknown format.
+
+
+ The W3C format.
+
+
+ Describes the relationship between the activity, its parents and its children in a trace.
+
+
+ Outgoing request to the external component.
+
+
+ Output received from an external component.
+
+
+ Internal operation within an application, as opposed to operations with remote parents or children. This is the default value.
+
+
+ Output provided to external components.
+
+
+ Requests incoming from external component.
+
+
+ Activities may be linked to zero or more activity context instances that are causally related.
+
+Activity links can point to activity contexts inside a single trace or across different traces.
+
+Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
+
+
+ Constructs a new activity link, which can be linked to an activity.
+ The trace activity context.
+ The key-value pair list of tags associated to the activity context.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Indicates whether the current activity link is equal to another activity link.
+ The activity link to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Indicates whether the current activity link is equal to another object.
+ The object to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Retrieves the activity context inside this activity link.
+
+
+ Retrieves the key-value pair enumeration of tags attached to the activity context.
+ An enumeration of tags attached to the activity context.
+
+
+ Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
+
+
+ Construct a new activity listener object to start listeneing to the activity events.
+
+
+ Unregisters this activity listener object from listening to activity events.
+
+
+ Gets or sets the callback used to listen to the activity start event.
+ An activity callback instance used to listen to the activity start event.
+
+
+ Gets or sets the callback used to listen to the activity stop event.
+ An activity callback instance used to listen to the activity stop event.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not.
+
+ to listen events; otherwise.
+
+
+ Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead.
+
+
+ The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return .
+
+
+ The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere.
+
+
+ The activity object does not need to be created.
+
+
+ The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener.
+
+
+ Provides APIs to create and start objects and to register objects to listen to the events.
+
+
+ Constructs an activity source object with the specified .
+ The name of the activity source object.
+ The version of the component publishing the tracing info.
+
+
+ Adds a listener to the activity starting and stopping events.
+ The activity listener object to use for listening to the activity events.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity
+ The
+ The created object or if there is no any event listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ If the Activity object is created, it will not automatically start. Callers will need to call to start it.
+ The operation name of the Activity.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity.
+ The
+ The parent Id to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Disposes the activity source object, removes the current instance from the global list, and empties the listeners list.
+
+
+ Checks if there are any listeners for this activity source.
+
+ if there is a listener registered for this activity source; otherwise, .
+
+
+ Creates and starts a new object if there is any listener to the Activity events, returns otherwise.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The optional start timestamp to set on the created Activity object.
+ The operation name of the Activity.
+ The created object or if there is no any listener.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name and activity kind.
+ The operation name of the activity.
+ The activity kind.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent object to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent Id to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Returns the activity source name.
+ A string that represents the activity source name.
+
+
+ Returns the activity source version.
+ A string that represents the activity source version.
+
+
+ Represents a formatted based on a W3C standard.
+
+
+ Copies the 8 bytes of the current to a specified span.
+ The span to which the 8 bytes of the SpanID are to be copied.
+
+
+ Creates a new value from a read-only span of eight bytes.
+ A read-only span of eight bytes.
+
+ does not contain eight bytes.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of 16 hexadecimal characters.
+ A span that contains 16 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new span ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new span ID.
+
+
+ Determines whether this instance and the specified instance have the same value.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ the current instance and a specified object, which also must be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the SpanId.
+ The hash code of the SpanId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is the same as the SpanId of ; otherwise, .
+
+
+ Determine whether two specified instances have unequal values.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is different from the SpanId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Define the status code of the Activity which indicate the status of the instrumented operation.
+
+
+ Status code indicating an error is encountered during the operation.
+
+
+ Status code indicating the operation has been validated and completed successfully.
+
+
+ Unset status code is the default value indicating the status code is not initialized.
+
+
+ ActivityTagsCollection is a collection class used to store tracing tags.
+
+This collection will be used with classes like and .
+
+This collection behaves as follows:
+- The collection items will be ordered according to how they are added.
+- Don't allow duplication of items with the same key.
+- When using the indexer to store an item in the collection:
+ - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection.
+ - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection.
+ - Otherwise, the item will be added to the collection.
+- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception.
+
+
+ Create a new instance of the collection.
+
+
+ Create a new instance of the collection and store the input list items in the collection.
+ Initial list to store in the collection.
+
+
+ Adds an item to the collection.
+ Key and value pair of the tag to add to the collection.
+
+ already exists in the list.
+
+ is .
+
+
+ Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key.
+ The tag key.
+ The tag value.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the contains a specific value.
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Determines whether the collection contains an element with the specified key.
+ The key to locate in the .
+
+ if the collection contains tag with that key. otherwise.
+
+
+ Copies the elements of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from collection.
+ The zero-based index in array at which copying begins.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator for the .
+
+
+ Removes the first occurrence of a specific item from the collection.
+ The tag key value pair to remove.
+
+ if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection.
+
+
+ Removes the tag with the specified key from the collection.
+ The tag key.
+
+ if the item existed and removed. otherwise.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value associated with the specified key.
+ The tag key.
+ The tag value.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.
+
+
+ Gets the number of elements contained in the collection.
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the collection is read-only. This always returns .
+ Always returns .
+
+
+ Gets or sets a specified collection item.
+
+ When setting a value to this indexer property, the following behavior is observed:
+- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection.
+- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection.
+- Otherwise, a new item will get added to the collection.
+ The key of the value to get or set.
+ The object mapped to the key.
+
+
+ Get the list of the keys of all stored tags.
+ An containing the keys of the object that implements .
+
+
+ Get the list of the values of all stored tags.
+ An containing the values in the object that implements .
+
+
+ Enumerates the elements of an .
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Specifies flags defined by the W3C standard that are associated with an activity.
+
+
+ The activity has not been marked.
+
+
+ The activity (or more likely its parents) has been marked as useful to record.
+
+
+ Represents a whose format is based on a W3C standard.
+
+
+ Copies the 16 bytes of the current to a specified span.
+ The span to which the 16 bytes of the trace ID are to be copied.
+
+
+ Creates a new value from a read-only span of 16 bytes.
+ A read-only span of 16 bytes.
+
+ does not contain eight bytes.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of 32 hexadecimal characters.
+ A span that contains 32 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new trace ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new .
+
+
+ Determines whether the current instance and a specified are equal.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ Determines whether this instance and a specified object, which must also be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the TraceId.
+ The hash code of the TraceId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is the same as the TraceId of ; otherwise, .
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is different from the TraceId of ; otherwise, .
+
+
+ Returns a 32-character hexadecimal string that represents this span ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Returns a 32-character hexadecimal string that represents this trace ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Provides an implementation of the abstract class that represents a named place to which a source sends its information (events).
+
+
+ Creates a new .
+ The name of this .
+
+
+ Disposes the NotificationListeners.
+
+
+ Determines whether there are any registered subscribers.
+
+ if there are any registered subscribers, otherwise.
+
+
+ Checks whether the is enabled.
+ The name of the event to check.
+
+ if notifications are enabled; otherwise, .
+
+
+ Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in .
+ The name of the event to check.
+ The object that represents a context.
+ The object that represents a context.
+
+ if it is enabled, otherwise.
+
+
+ Invokes the OnActivityExport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Invokes the OnActivityImport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the incoming request.
+
+
+ Adds a subscriber.
+ A subscriber.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name and up to two context objects.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable.
+ An action delegate that receives the activity affected by an external event and an object that represents the incoming request.
+ An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name.
+ A subscriber.
+ A delegate that filters events based on their name (). The delegate should return if the event is enabled.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Returns a string with the name of this DiagnosticListener.
+ The name of this DiagnosticListener.
+
+
+ Logs a notification.
+ The name of the event to log.
+ An object that represents the payload for the event.
+
+
+ Gets the collection of listeners for this .
+
+
+ Gets the name of this .
+ The name of the .
+
+
+ An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
+
+
+ Initializes an instance of the class.
+
+
+ Verifies if the notification event is enabled.
+ The name of the event being written.
+
+ if the notification event is enabled, otherwise.
+
+
+ Verifies it the notification event is enabled.
+ The name of the event being written.
+ An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context.
+ Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in .
+
+ if the notification event is enabled, otherwise.
+
+
+ Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process.
+ The activity affected by an external event.
+ A payload that represents the incoming request.
+
+
+ Starts an and writes a start event.
+ The to be started.
+ An object that represent the value being passed as a payload for the event.
+ The started activity for convenient chaining.
+
+
+
+
+
+
+
+ Stops the given , maintains the global activity, and notifies consumers that the was stopped.
+ The activity to be stopped.
+ An object that represents the value passed as a payload for the event.
+
+
+
+
+
+
+
+ Provides a generic way of logging complex payloads.
+ The name of the event being written.
+ An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values.
+
+
+
+
+
+
+
+ An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network.
+ The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header.
+ injects values into and extracts values from carriers as string key-value pairs.
+
+
+ Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes.
+
+
+ Returns the default propagator object that will be initialized with.
+ An instance of the class.
+
+
+ Returns a propagator that does not transmit any distributed context information in outbound network messages.
+ An instance of the class.
+
+
+ Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request.
+ When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request.
+ An instance of the class.
+
+
+ Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation baggage list from the carrier.
+ Returns the extracted key-value pair list from the carrier.
+
+
+ Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation trace ID and state from the carrier.
+ When this method returns, contains the trace ID extracted from the carrier.
+ When this method returns, contains the trace state extracted from the carrier.
+
+
+ Injects the trace values stored in the object into a carrier. For example, into the headers of an HTTP request.
+ The Activity object has the distributed context to inject to the carrier.
+ The medium in which the distributed context will be stored.
+ The callback method to invoke to set a named key-value pair on the carrier.
+
+
+ Get or set the process-wide propagator object to use as the current selected propagator.
+ The currently selected process-wide propagator object.
+
+
+ Gets the set of field names this propagator is likely to read or write.
+ The list of fields that will be used by the DistributedContextPropagator.
+
+
+ Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field.
+ The medium used by propagators to read values from.
+ The propagation field name.
+ When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name.
+ When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name.
+
+
+ Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field.
+ Propagators may invoke it multiple times in order to set multiple fields.
+ The medium used by propagators to write values to.
+ The propagation field name.
+ The value corresponding to .
+
+
+ Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total.
+ The type that the counter represents.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Adds the increment value of the measurement.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Represents a metrics instrument that can be used to report arbitrary values that are likely to be statistically meaningful, for example, the request duration. Call to create a Histogram object.
+ The type that the histogram represents.
+
+
+ Records a measurement value.
+ The measurement value.
+
+
+ Records a measurement value.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+
+
+
+
+ Base class of all metrics instrument classes
+
+
+ Protected constructor to initialize the common instrument properties like the meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Activates the instrument to start recording measurements and to allow listeners to start listening to such measurements.
+
+
+ Gets the instrument description.
+
+
+ Gets a value that indicates if there are any listeners for this instrument.
+
+
+ Gets a value that indicates whether the instrument is an observable instrument.
+
+
+ Gets the Meter that created the instrument.
+
+
+ Gets the instrument name.
+
+
+
+ Gets the instrument unit of measurements.
+
+
+ The base class for all non-observable instruments.
+ The type that the instrument represents.
+
+
+ Create the metrics instrument using the properties meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements.
+ The type that the measurement represents.
+
+
+ Initializes a new instance of using the specified value.
+ The measurement value.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Gets the measurement tags list.
+
+
+ Gets the measurement value.
+
+
+ A delegate to represent the Meterlistener callbacks that are used when recording measurements.
+ The instrument that sent the measurement.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+ The state object originally passed to method.
+ The type that the measurement represents.
+
+
+ Meter is the class responsible for creating and tracking the Instruments.
+
+
+
+
+
+ Initializes a new instance of using the specified meter name.
+ The Meter name.
+
+
+ Initializes a new instance of using the specified meter name and version.
+ The Meter name.
+ The optional Meter version.
+
+
+
+
+
+
+
+
+ Create a metrics Counter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new counter.
+
+
+
+
+
+
+
+
+
+ Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentiles.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new histogram.
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement..
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Create a metrics UpDownCounter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new up down counter.
+
+
+
+
+
+
+
+
+
+ Dispose the Meter which will disable all instruments created by this meter.
+
+
+
+
+
+ Gets the Meter name.
+ The Meter name
+
+
+
+
+ Gets the Meter version.
+ The Meter version.
+
+
+
+
+
+
+
+
+
+ The MeterListener is class used to listen to the metrics instrument measurements recording.
+
+
+ Initializes a new instance of the class.
+
+
+ Stops listening to a specific instrument measurement recording.
+ The instrument to stop listening to.
+ The state object originally passed to method.
+
+
+ Disposes the listeners which will stop it from listening to any instrument.
+
+
+ Starts listening to a specific instrument measurement recording.
+ The instrument to listen to.
+ A state object that will be passed back to the callback getting measurements events.
+
+
+ Calls all Observable instruments that the listener is listening to, and calls with every collected measurement.
+
+
+ Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type.
+ If a measurement of type T is recorded and a callback of type T is registered, that callback will be used.
+ The callback which can be used to get measurement recording of numeric type T.
+ The type of the numeric measurement.
+
+
+ Enables the listener to start listening to instruments measurement recording.
+
+
+ Gets or sets the callback to get notified when an instrument is published.
+ The callback to get notified when an instrument is published.
+
+
+ Gets or sets the callback to get notified when the measurement is stopped on some instrument.
+ This can happen when the Meter or the Listener is disposed or calling on the listener.
+ The callback to get notified when the measurement is stopped on some instrument.
+
+
+
+
+
+
+
+
+
+
+ Represents a metrics-observable instrument that reports monotonically increasing values when the instrument is being observed, for example, CPU time (for different processes, threads, user mode, or kernel mode). Call to create the observable counter object.
+ The type that the observable counter represents.
+
+
+ Represents an observable instrument that reports non-additive values when the instrument is being observed, for example, the current room temperature. Call to create the observable counter object.
+
+
+
+ ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit.
+ The type that the observable instrument represents.
+
+
+ Initializes a new instance of the class using the specified meter, name, description, and unit.
+ All classes that extend ObservableInstrument{T} must call this constructor when constructing objects of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.
+ The current measurements tracked by this instrument.
+
+
+ Gets a value that indicates if the instrument is an observable instrument.
+
+ if the instrument is metrics-observable; otherwise.
+
+
+ A metrics-observable instrument that reports increasing or decreasing values when the instrument is being observed.
+Use this instrument to monitor the process heap size or the approximate number of items in a lock-free circular buffer, for example.
+To create an ObservableUpDownCounter object, use the methods.
+ The type that the counter represents.
+
+
+ An instrument that supports reporting positive or negative metric values.
+ UpDownCounter may be used in scenarios like reporting the change in active requests or queue size.
+ The type that the UpDownCounter represents.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A of tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A span of key-value pair tags associated with the measurement.
+
+
+ A delegate that defines the signature of the callbacks used in the sampling process.
+ The Activity creation options used by callbacks to decide creating the Activity object or not.
+ The type of the requested parent to create the Activity object with. Should be either a string or an instance.
+ An object containing the sampling results, which indicate the amount of data to collect for the related .
+
+
+ Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists.
+
+
+ Initializes a new instance of using the specified .
+ A span of tags to initialize the list with.
+
+
+ Adds a tag to the list.
+ The key-value pair of the tag to add to the list.
+
+
+ Adds a tag with the specified and to the list.
+ The tag key.
+ The tag value.
+
+
+ Removes all elements from the .
+
+
+ Determines whether a tag is in the .
+ The tag to locate in the .
+
+ if item is found in the ; otherwise, .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0 or greater than or equal to the length.
+
+
+ Copies the contents of this into a destination span.
+ The destination object.
+
+ The number of elements in the source is greater than the number of elements that the destination span.
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Searches for the specified tag and returns the zero-based index of the first occurrence within the entire .
+ The tag to locate in the .
+ The zero-based index of the first ocurrence of in the tag list.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which the item should be inserted.
+ The tag to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific object from the .
+ The tag to remove from the .
+
+ if is successfully removed; otherwise, . This method also returns if was not found in the .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ index is less than 0 or is greater than .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Gets the number of tags contained in the .
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the is read-only. This property will always return .
+
+ Always returns .
+
+
+ Gets or sets the tags at the specified index.
+ The item index.
+
+ is not a valid index in the .
+ The element at the specified index.
+
+
+ An enumerator for traversing a tag list collection.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll
new file mode 100644
index 0000000..f6d75a9
Binary files /dev/null and b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.dll differ
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml
new file mode 100644
index 0000000..d94e6d2
--- /dev/null
+++ b/packages/System.Diagnostics.DiagnosticSource.8.0.1/lib/netstandard2.0/System.Diagnostics.DiagnosticSource.xml
@@ -0,0 +1,1886 @@
+
+
+
+ System.Diagnostics.DiagnosticSource
+
+
+
+ Represents an operation with context to be used for logging.
+
+
+ Occurs when the value changes.
+
+
+ Initializes a new instance of the class.
+ The name of the operation.
+
+
+ Updates the to have a new baggage item with the specified key and value.
+ The baggage key.
+ The baggage value.
+
+ for convenient chaining.
+
+
+ Adds the specified activity event to the events list.
+ The activity event to add.
+
+ for convenient chaining.
+
+
+ Updates the activity to have a tag with an additional and .
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Updates the to have a new tag with the provided and .
+ The tag key.
+ The tag value.
+
+ for convenient chaining.
+
+
+ Stops the activity if it is already started and notifies any event listeners. Nothing will happen otherwise.
+
+
+ When overriden by a derived type, this method releases any allocated resources.
+
+ if the method is being called from the finalizer; if calling from user code.
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the objects attached to this Activity object.
+
+ .
+
+
+ Enumerates the tags attached to this Activity object.
+
+ .
+
+
+ Returns the value of a key-value pair added to the activity with .
+ The baggage key.
+ The value of the key-value-pair item if it exists, or if it does not exist.
+
+
+ Returns the object mapped to the specified property name.
+ The name associated to the object.
+ The object mapped to the property name, if one is found; otherwise, .
+
+
+ Returns the value of the Activity tag mapped to the input key/>.
+ Returns if that key does not exist.
+ The tag key string.
+ The tag value mapped to the input key.
+
+
+ Add or update the Activity baggage with the input key and value.
+ If the input value is - if the collection has any baggage with the same key, then this baggage will get removed from the collection.
+ - otherwise, nothing will happen and the collection will not change.
+ If the input value is not - if the collection has any baggage with the same key, then the value mapped to this key will get updated with the new input value.
+ - otherwise, the key and value will get added as a new baggage to the collection.
+ Baggage item will be updated/removed only if it was originaly added to the current activity. Items inherited from the parents will not be changed/removed, new item would be added to current activity baggage instead.
+ The baggage key name
+ The baggage value mapped to the input key
+
+ for convenient chaining.
+
+
+ Attaches any custom object to this activity. If the specified was previously associated with another object, the property will be updated to be associated with the new instead. It is recommended to use a unique property name to avoid conflicts with anyone using the same value.
+ The name to associate the value with.
+ The object to attach and map to the property name.
+
+
+ Updates the to set its as the difference between and the specified stop time.
+ The UTC stop time.
+
+ for convenient chaining.
+
+
+ Sets the ID format on this before it is started.
+ One of the enumeration values that specifies the format of the property.
+
+ for convenient chaining.
+
+
+ Sets the parent ID using the W3C convention of a TraceId and a SpanId.
+ The parent activity's TraceId.
+ The parent activity's SpanId.
+ One of the enumeration values that specifies flags defined by the W3C standard that are associated with an activity.
+
+ for convenient chaining.
+
+
+ Updates this to indicate that the with an ID of caused this .
+ The ID of the parent operation.
+
+ for convenient chaining.
+
+
+ Sets the start time of this .
+ The start time in UTC.
+
+ for convenient chaining.
+
+
+ Sets the status code and description on the current activity object.
+ The status code
+ The error status description
+
+ for convenient chaining.
+
+
+ Adds or update the activity tag with the input key and value.
+ The tag key name.
+ The tag value mapped to the input key.
+
+ for convenient chaining.
+
+
+ Starts the activity.
+
+ for convenient chaining.
+
+
+ Stops the activity.
+
+
+ Gets or sets the flags (defined by the W3C ID specification) associated with the activity.
+ the flags associated with the activity.
+
+
+ Gets a collection of key/value pairs that represents information that is passed to children of this .
+ Information that's passed to children of this .
+
+
+ Gets the context of the activity. Context becomes valid only if the activity has been started.
+ The context of the activity, if the activity has been started; otherwise, returns the default context.
+
+
+ Gets or sets the current operation () for the current thread. This flows across async calls.
+ The current operation for the current thread.
+
+
+ Gets or sets the default ID format for the .
+
+
+ Gets or sets the display name of the activity.
+ A string that represents the activity display name.
+
+
+ Gets the duration of the operation.
+ The delta between and the end time if the has ended ( or was called), or if the has not ended and was not called.
+
+
+ Gets the list of all the activity events attached to this activity.
+ An enumeration of activity events attached to this activity. If the activity has no events, returns an empty enumeration.
+
+
+ Gets or sets a value that detrmines if the is always used to define the default ID format.
+
+ to always use the ; otherwise, .
+
+
+ Gets a value that indicates whether the parent context was created from remote propagation.
+
+
+ Gets an identifier that is specific to a particular request.
+ The activity ID.
+
+
+ Gets the format for the .
+ The format for the .
+
+
+ Gets or sets a value that indicates whether this activity should be populated with all the propagation information, as well as all the other properties, such as links, tags, and events.
+
+ if the activity should be populated; otherwise.
+
+
+ Gets a value that indicates whether this object is stopped or not.
+
+
+ Gets the relationship between the activity, its parents, and its children in a trace.
+ One of the enumeration values that indicate relationship between the activity, its parents, and its children in a trace.
+
+
+ Gets the list of all the activity links attached to this activity.
+ An enumeration of activity links attached to this activity. If the activity has no links, returns an empty enumeration.
+
+
+ Gets the operation name.
+ The name of the operation.
+
+
+ Gets the parent that created this activity.
+ The parent of this , if it is from the same process, or if this instance has no parent (it is a root activity) or if the parent is from outside the process.
+
+
+ Gets the ID of this activity's parent.
+ The parent ID, if one exists, or if it does not.
+
+
+ Gets the parent's .
+ The parent's .
+
+
+ Gets a value that indicates whether the W3CIdFlags.Recorded flag is set.
+
+ if the W3CIdFlags.Recorded flag is set; otherwise, .
+
+
+ Gets the root ID of this .
+ The root ID, or if the current instance has either a or an .
+
+
+ Gets the activity source associated with this activity.
+
+
+ Gets the SPAN part of the .
+ The ID for the SPAN part of , if the has the W3C format; otherwise, a zero .
+
+
+ Gets the time when the operation started.
+ The UTC time that the operation started.
+
+
+ Gets status code of the current activity object.
+
+
+ Gets the status description of the current activity object.
+
+
+ Gets the list of tags that represent information to log along with the activity. This information is not passed on to the children of this activity.
+ A key-value pair enumeration of tags and objects.
+
+
+ Gets a collection of key/value pairs that represent information that will be logged along with the to the logging system.
+ Information that will be logged along with the to the logging system.
+
+
+ Gets the TraceId part of the .
+ The ID for the TraceId part of the , if the ID has the W3C format; otherwise, a zero TraceId.
+
+
+ When starting an Activity which does not have a parent context, the Trace Id will automatically be generated using random numbers.
+ TraceIdGenerator can be used to override the runtime's default Trace Id generation algorithm.
+
+
+ Gets or sets the W3C header.
+ The W3C header.
+
+
+ Enumerates the data stored on an object.
+ Type being enumerated.
+
+
+ Returns an enumerator that iterates through the data stored on an Activity object.
+
+ .
+
+
+ Advances the enumerator to the next element of the data.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Gets the element at the current position of the enumerator.
+
+
+ Provides data for the event.
+
+
+ Gets the object after the event.
+
+
+ Gets the object before the event.
+
+
+ A representation that conforms to the W3C TraceContext specification. It contains two identifiers: a TraceId and a SpanId, along with a set of common TraceFlags and system-specific TraceState values.
+
+
+ Construct a new activity context instance using the specified arguments.
+ A trace identifier.
+ A span identifier.
+ Contain details about the trace.
+ Carries system-specific configuration data.
+ Indicates if the context is propagated from a remote parent.
+
+
+ Indicates whether the current object is equal to another object of the same type.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Determines whether this instance and a specified object have the same value.
+ The object to compare to this instance.
+
+ if the current object is equal to the parameter; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Parses a W3C trace context headers to an object.
+ The W3C trace parent header.
+ The trace state.
+ The trace parent is invalid.
+ The object created from the parsing operation.
+
+
+ Tries to parse the W3C trace context headers to the object.
+ The W3C trace parent header.
+ The W3C trace state.
+
+ to propagate the context from the remote parent; otherwise, .
+ When this method returns, contains the object created from the parsing operation.
+
+ if the operation succeeds; otherwise.
+
+
+ Tries to parse the W3C trace context headers to an object.
+ The W3C trace parent header.
+ The W3C trace state.
+ When this method returns , the object created from the parsing operation.
+
+ if the parsing was successful; otherwise.
+
+
+ Indicates if the activity context was propagated from a remote parent.
+
+ if it was propagated from a remote parent; otherwise.
+
+
+ The Id of the request as known by the caller.
+ The Span Id in the context.
+
+
+ The flags defined by the W3C standard along with the ID for the activity.
+ The context tracing flags.
+
+
+ The trace identifier.
+ The tracing identifier in the context.
+
+
+ Holds the W3C 'tracestate' header.
+ A string representing the W3C 'tracestate' header.
+
+
+ Encapsulates all the information that is sent to the activity listener, to make decisions about the creation of the activity instance, as well as its state.
+
+The possible generic type parameters are or .
+ The type of the property. Should be either or .
+
+
+ Gets the activity kind which the activity will be created with.
+ One of the enumeration values that represent an activity kind.
+
+
+ Gets the enumeration of activity links that the activity will be created with.
+ An enumeration of activity links.
+
+
+ Gets the name to use as OperationName of the activity that will get created.
+ A string representing the activity name.
+
+
+ Gets the parent context or parent Id that the activity will get created with.
+ The parent of the activity, represented either as a or as an .
+
+
+ Gets the collection that is used to add more tags during the sampling process. The added tags are also added to the created Activity if it is decided that it should be created by the callbacks.
+ The Activity tags collection.
+
+
+ Gets the activity source that creates the activity.
+ An activity source object.
+
+
+ Gets the tags that the activity will be created with.
+ A key-value pair enumeration of tags associated with the activity.
+
+
+ Gets the trace Id to use in the Activity object if it is decided that it should be created by callbacks.
+ The trace Id.
+
+
+ Gets or initializes the trace state to use when creating the Activity.
+
+
+ Represents an event containing a name and a timestamp, as well as an optional list of tags.
+
+
+ Initializes a new activity event instance using the specified name and the current time as the event timestamp.
+ The event name.
+
+
+ Initializes a new activity event instance using the specified name, timestamp and tags.
+ The event name.
+ The event timestamp. Timestamp must only be used for the events that happened in the past, not at the moment of this call.
+ The event tags.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Gets the activity event name.
+ A string representing the activity event name.
+
+
+ Gets the collection of tags associated with the event.
+ A key-value pair enumeration containing the tags associated with the event.
+
+
+ Gets the activity event timestamp.
+ A datetime offset representing the activity event timestamp.
+
+
+ Specifies the format of the property.
+
+
+ The hierarchical format.
+
+
+ An unknown format.
+
+
+ The W3C format.
+
+
+ Describes the relationship between the activity, its parents and its children in a trace.
+
+
+ Outgoing request to the external component.
+
+
+ Output received from an external component.
+
+
+ Internal operation within an application, as opposed to operations with remote parents or children. This is the default value.
+
+
+ Output provided to external components.
+
+
+ Requests incoming from external component.
+
+
+ Activities may be linked to zero or more activity context instances that are causally related.
+
+Activity links can point to activity contexts inside a single trace or across different traces.
+
+Activity links can be used to represent batched operations where an activity was initiated by multiple initiating activities, each representing a single incoming item being processed in the batch.
+
+
+ Constructs a new activity link, which can be linked to an activity.
+ The trace activity context.
+ The key-value pair list of tags associated to the activity context.
+
+
+ Enumerate the tags attached to this object.
+
+ .
+
+
+ Indicates whether the current activity link is equal to another activity link.
+ The activity link to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Indicates whether the current activity link is equal to another object.
+ The object to compare.
+
+ if the current activity link is equal to ; otherwise, .
+
+
+ Provides a hash function for the current that's suitable for hashing algorithms and data structures, such as hash tables.
+ A hash code for the current .
+
+
+ Determines whether two specified values are equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are equal; otherwise, .
+
+
+ Determines whether two specified values are not equal.
+ The first value to compare.
+ The second value to compare.
+
+ if and are not equal; otherwise, .
+
+
+ Retrieves the activity context inside this activity link.
+
+
+ Retrieves the key-value pair enumeration of tags attached to the activity context.
+ An enumeration of tags attached to the activity context.
+
+
+ Allows listening to the start and stop activity events and gives the opportunity to decide creating an activity for sampling scenarios.
+
+
+ Construct a new activity listener object to start listeneing to the activity events.
+
+
+ Unregisters this activity listener object from listening to activity events.
+
+
+ Gets or sets the callback used to listen to the activity start event.
+ An activity callback instance used to listen to the activity start event.
+
+
+ Gets or sets the callback used to listen to the activity stop event.
+ An activity callback instance used to listen to the activity stop event.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that is used to decide if creating objects with a specific data state is allowed.
+ A sample activity instance.
+
+
+ Gets or sets the callback that allows deciding if activity object events that were created using the activity source object should be listened or not.
+
+ to listen events; otherwise.
+
+
+ Enumeration values used by to indicate the amount of data to collect for the related . Requesting more data causes a greater performance overhead.
+
+
+ The activity object should be populated with all the propagation information and also all other properties such as Links, Tags, and Events. Using this value causes to return .
+
+
+ The activity object should be populated the same as the case. Additionally, Activity.Recorded is set to . For activities using the W3C trace ids, this sets a flag bit in the ID that will be propagated downstream requesting that the trace is recorded everywhere.
+
+
+ The activity object does not need to be created.
+
+
+ The activity object needs to be created. It will have a Name, a Source, an Id and Baggage. Other properties are unnecessary and will be ignored by this listener.
+
+
+ Provides APIs to create and start objects and to register objects to listen to the events.
+
+
+ Constructs an activity source object with the specified .
+ The name of the activity source object.
+ The version of the component publishing the tracing info.
+
+
+ Adds a listener to the activity starting and stopping events.
+ The activity listener object to use for listening to the activity events.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity
+ The
+ The created object or if there is no any event listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ If the Activity object is created, it will not automatically start. Callers will need to call to start it.
+ The operation name of the Activity.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Creates a new object if there is any listener to the Activity, returns otherwise.
+ The operation name of the Activity.
+ The
+ The parent Id to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The default Id format to use.
+ The created object or if there is no any listener.
+
+
+ Disposes the activity source object, removes the current instance from the global list, and empties the listeners list.
+
+
+ Checks if there are any listeners for this activity source.
+
+ if there is a listener registered for this activity source; otherwise, .
+
+
+ Creates and starts a new object if there is any listener to the Activity events, returns otherwise.
+ The
+ The parent object to initialize the created Activity object with.
+ The optional tags list to initialize the created Activity object with.
+ The optional list to initialize the created Activity object with.
+ The optional start timestamp to set on the created Activity object.
+ The operation name of the Activity.
+ The created object or if there is no any listener.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name and activity kind.
+ The operation name of the activity.
+ The activity kind.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent activity context, tags, optional activity link and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent object to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Creates a new activity if there are active listeners for it, using the specified name, activity kind, parent Id, tags, optional activity links and optional start time.
+ The operation name of the activity.
+ The activity kind.
+ The parent Id to initialize the created activity object with.
+ The optional tags list to initialize the created activity object with.
+ The optional list to initialize the created activity object with.
+ The optional start timestamp to set on the created activity object.
+ The created activity object, if it had active listeners, or if it has no event listeners.
+
+
+ Returns the activity source name.
+ A string that represents the activity source name.
+
+
+ Returns the activity source version.
+ A string that represents the activity source version.
+
+
+ Represents a formatted based on a W3C standard.
+
+
+ Copies the 8 bytes of the current to a specified span.
+ The span to which the 8 bytes of the SpanID are to be copied.
+
+
+ Creates a new value from a read-only span of eight bytes.
+ A read-only span of eight bytes.
+
+ does not contain eight bytes.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of 16 hexadecimal characters.
+ A span that contains 16 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new span ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new span ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new span ID.
+
+
+ Determines whether this instance and the specified instance have the same value.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ the current instance and a specified object, which also must be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the SpanId.
+ The hash code of the SpanId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is the same as the SpanId of ; otherwise, .
+
+
+ Determine whether two specified instances have unequal values.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the SpanId of is different from the SpanId of ; otherwise, .
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Returns a 16-character hexadecimal string that represents this span ID.
+ The 16-character hexadecimal string representation of this span ID.
+
+
+ Define the status code of the Activity which indicate the status of the instrumented operation.
+
+
+ Status code indicating an error is encountered during the operation.
+
+
+ Status code indicating the operation has been validated and completed successfully.
+
+
+ Unset status code is the default value indicating the status code is not initialized.
+
+
+ ActivityTagsCollection is a collection class used to store tracing tags.
+
+This collection will be used with classes like and .
+
+This collection behaves as follows:
+- The collection items will be ordered according to how they are added.
+- Don't allow duplication of items with the same key.
+- When using the indexer to store an item in the collection:
+ - If the item has a key that previously existed in the collection and the value is , the collection item matching the key will be removed from the collection.
+ - If the item has a key that previously existed in the collection and the value is not , the new item value will replace the old value stored in the collection.
+ - Otherwise, the item will be added to the collection.
+- Add method will add a new item to the collection if an item doesn't already exist with the same key. Otherwise, it will throw an exception.
+
+
+ Create a new instance of the collection.
+
+
+ Create a new instance of the collection and store the input list items in the collection.
+ Initial list to store in the collection.
+
+
+ Adds an item to the collection.
+ Key and value pair of the tag to add to the collection.
+
+ already exists in the list.
+
+ is .
+
+
+ Adds a tag with the provided key and value to the collection. This collection doesn't allow adding two tags with the same key.
+ The tag key.
+ The tag value.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the contains a specific value.
+ The object to locate in the .
+
+ if is found in the ; otherwise, .
+
+
+ Determines whether the collection contains an element with the specified key.
+ The key to locate in the .
+
+ if the collection contains tag with that key. otherwise.
+
+
+ Copies the elements of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from collection.
+ The zero-based index in array at which copying begins.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator for the .
+
+
+ Removes the first occurrence of a specific item from the collection.
+ The tag key value pair to remove.
+
+ if item was successfully removed from the collection; otherwise, . This method also returns if item is not found in the original collection.
+
+
+ Removes the tag with the specified key from the collection.
+ The tag key.
+
+ if the item existed and removed. otherwise.
+
+
+ Returns an enumerator that iterates through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value associated with the specified key.
+ The tag key.
+ The tag value.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.
+
+
+ Gets the number of elements contained in the collection.
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the collection is read-only. This always returns .
+ Always returns .
+
+
+ Gets or sets a specified collection item.
+
+ When setting a value to this indexer property, the following behavior is observed:
+- If the key previously existed in the collection and the value is , the collection item matching the key will get removed from the collection.
+- If the key previously existed in the collection and the value is not , the value will replace the old value stored in the collection.
+- Otherwise, a new item will get added to the collection.
+ The key of the value to get or set.
+ The object mapped to the key.
+
+
+ Get the list of the keys of all stored tags.
+ An containing the keys of the object that implements .
+
+
+ Get the list of the values of all stored tags.
+ An containing the values in the object that implements .
+
+
+ Enumerates the elements of an .
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Specifies flags defined by the W3C standard that are associated with an activity.
+
+
+ The activity has not been marked.
+
+
+ The activity (or more likely its parents) has been marked as useful to record.
+
+
+ Represents a whose format is based on a W3C standard.
+
+
+ Copies the 16 bytes of the current to a specified span.
+ The span to which the 16 bytes of the trace ID are to be copied.
+
+
+ Creates a new value from a read-only span of 16 bytes.
+ A read-only span of 16 bytes.
+
+ does not contain eight bytes.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of 32 hexadecimal characters.
+ A span that contains 32 hexadecimal characters.
+
+ does not contain 16 hexadecimal characters.
+
+-or-
+
+The characters in are not all lower-case hexadecimal characters or all zeros.
+ The new trace ID.
+
+
+ Creates a new value from a read-only span of UTF8-encoded bytes.
+ A read-only span of UTF8-encoded bytes.
+ The new trace ID.
+
+
+ Creates a new based on a random number (that is very likely to be unique).
+ The new .
+
+
+ Determines whether the current instance and a specified are equal.
+ The instance to compare.
+
+ if has the same hex value as the current instance; otherwise, .
+
+
+ Determines whether this instance and a specified object, which must also be an instance, have the same value.
+ The object to compare.
+
+ if is an instance of and has the same hex value as the current instance; otherwise, .
+
+
+ Returns the hash code of the TraceId.
+ The hash code of the TraceId.
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is the same as the TraceId of ; otherwise, .
+
+
+ Determines whether two specified instances have the same value.
+ The first instance to compare.
+ The second instance to compare.
+
+ if the TraceId of is different from the TraceId of ; otherwise, .
+
+
+ Returns a 32-character hexadecimal string that represents this span ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Returns a 32-character hexadecimal string that represents this trace ID.
+ The 32-character hexadecimal string representation of this trace ID.
+
+
+ Provides an implementation of the abstract class that represents a named place to which a source sends its information (events).
+
+
+ Creates a new .
+ The name of this .
+
+
+ Disposes the NotificationListeners.
+
+
+ Determines whether there are any registered subscribers.
+
+ if there are any registered subscribers, otherwise.
+
+
+ Checks whether the is enabled.
+ The name of the event to check.
+
+ if notifications are enabled; otherwise, .
+
+
+ Checks if any subscriber to the diagnostic events is interested in receiving events with this name. Subscribers indicate their interest using a delegate provided in .
+ The name of the event to check.
+ The object that represents a context.
+ The object that represents a context.
+
+ if it is enabled, otherwise.
+
+
+ Invokes the OnActivityExport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Invokes the OnActivityImport method of all the subscribers.
+ The activity affected by an external event.
+ An object that represents the incoming request.
+
+
+ Adds a subscriber.
+ A subscriber.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name and up to two context objects.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or to if an event filter is not desirable.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, optionally filters events based on their name and up to two context objects, and specifies methods to call when providers import or export activites from outside the process.
+ A subscriber.
+ A delegate that filters events based on their name and up to two context objects (which can be ), or if an event filter is not desirable.
+ An action delegate that receives the activity affected by an external event and an object that represents the incoming request.
+ An action delegate that receives the activity affected by an external event and an object that represents the outgoing request.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Adds a subscriber, and optionally filters events based on their name.
+ A subscriber.
+ A delegate that filters events based on their name (). The delegate should return if the event is enabled.
+ A reference to an interface that allows the listener to stop receiving notifications before the has finished sending them.
+
+
+ Returns a string with the name of this DiagnosticListener.
+ The name of this DiagnosticListener.
+
+
+ Logs a notification.
+ The name of the event to log.
+ An object that represents the payload for the event.
+
+
+ Gets the collection of listeners for this .
+
+
+ Gets the name of this .
+ The name of the .
+
+
+ An abstract class that allows code to be instrumented for production-time logging of rich data payloads for consumption within the process that was instrumented.
+
+
+ Initializes an instance of the class.
+
+
+ Verifies if the notification event is enabled.
+ The name of the event being written.
+
+ if the notification event is enabled, otherwise.
+
+
+ Verifies it the notification event is enabled.
+ The name of the event being written.
+ An object that represents the additional context for IsEnabled. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) to check if consumer wants to get notifications for such events at all. Based on that, producer may call IsEnabled(string, object, object) again with non- context.
+ Optional. An object that represents the additional context for IsEnabled. by default. Consumers should expect to receive which may indicate that producer called pure IsEnabled(string) or producer passed all necessary context in .
+
+ if the notification event is enabled, otherwise.
+
+
+ Transfers state from an activity to some event or operation, such as an outgoing HTTP request, that will occur outside the process.
+ The activity affected by an external event.
+ An object that represents the outgoing request.
+
+
+ Transfers state to an activity from some event or operation, such as an incoming request, that occurred outside the process.
+ The activity affected by an external event.
+ A payload that represents the incoming request.
+
+
+ Starts an and writes a start event.
+ The to be started.
+ An object that represent the value being passed as a payload for the event.
+ The started activity for convenient chaining.
+
+
+
+
+
+
+
+ Stops the given , maintains the global activity, and notifies consumers that the was stopped.
+ The activity to be stopped.
+ An object that represents the value passed as a payload for the event.
+
+
+
+
+
+
+
+ Provides a generic way of logging complex payloads.
+ The name of the event being written.
+ An object that represents the value being passed as a payload for the event. This is often an anonymous type which contains several sub-values.
+
+
+
+
+
+
+
+ An implementation of determines if and how distributed context information is encoded and decoded as it traverses the network.
+ The encoding can be transported over any network protocol that supports string key-value pairs. For example, when using HTTP, each key-value pair is an HTTP header.
+ injects values into and extracts values from carriers as string key-value pairs.
+
+
+ Initializes an instance of the class. This constructor is protected and only meant to be called from parent classes.
+
+
+ Returns the default propagator object that will be initialized with.
+ An instance of the class.
+
+
+ Returns a propagator that does not transmit any distributed context information in outbound network messages.
+ An instance of the class.
+
+
+ Returns a propagator that attempts to act transparently, emitting the same data on outbound network requests that was received on the inbound request.
+ When encoding the outbound message, this propagator uses information from the request's root Activity, ignoring any intermediate Activities that may have been created while processing the request.
+ An instance of the class.
+
+
+ Extracts the baggage key-value pair list from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation baggage list from the carrier.
+ Returns the extracted key-value pair list from the carrier.
+
+
+ Extracts the trace ID and trace state from an incoming request represented by the carrier. For example, from the headers of an HTTP request.
+ The medium from which values will be read.
+ The callback method to invoke to get the propagation trace ID and state from the carrier.
+ When this method returns, contains the trace ID extracted from the carrier.
+ When this method returns, contains the trace state extracted from the carrier.
+
+
+ Injects the trace values stored in the object into a carrier. For example, into the headers of an HTTP request.
+ The Activity object has the distributed context to inject to the carrier.
+ The medium in which the distributed context will be stored.
+ The callback method to invoke to set a named key-value pair on the carrier.
+
+
+ Get or set the process-wide propagator object to use as the current selected propagator.
+ The currently selected process-wide propagator object.
+
+
+ Gets the set of field names this propagator is likely to read or write.
+ The list of fields that will be used by the DistributedContextPropagator.
+
+
+ Represents the callback method that's used in the extract methods of propagators. The callback is invoked to look up the value of a named field.
+ The medium used by propagators to read values from.
+ The propagation field name.
+ When this method returns, contains the value that corresponds to . The value is non- if there is only one value for the input field name.
+ When this method returns, contains a collection of values that correspond to . The value is non- if there is more than one value for the input field name.
+
+
+ Represents the callback method that's used in propagators' inject methods. This callback is invoked to set the value of a named field.
+ Propagators may invoke it multiple times in order to set multiple fields.
+ The medium used by propagators to write values to.
+ The propagation field name.
+ The value corresponding to .
+
+
+ Represents an instrument that supports adding non-negative values. For example, you might call counter.Add(1) each time a request is processed to track the total number of requests. Most metric viewers display counters using a rate (requests/sec), by default, but can also display a cumulative total.
+ The type that the counter represents.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Adds the increment value of the measurement.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records the increment value of the measurement.
+ The increment measurement.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Represents a metrics instrument that can be used to report arbitrary values that are likely to be statistically meaningful, for example, the request duration. Call to create a Histogram object.
+ The type that the histogram represents.
+
+
+ Records a measurement value.
+ The measurement value.
+
+
+ Records a measurement value.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement value.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+
+
+
+
+ Base class of all metrics instrument classes
+
+
+ Protected constructor to initialize the common instrument properties like the meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Activates the instrument to start recording measurements and to allow listeners to start listening to such measurements.
+
+
+ Gets the instrument description.
+
+
+ Gets a value that indicates if there are any listeners for this instrument.
+
+
+ Gets a value that indicates whether the instrument is an observable instrument.
+
+
+ Gets the Meter that created the instrument.
+
+
+ Gets the instrument name.
+
+
+
+ Gets the instrument unit of measurements.
+
+
+ The base class for all non-observable instruments.
+ The type that the instrument represents.
+
+
+ Create the metrics instrument using the properties meter, name, description, and unit.
+ The meter that created the instrument.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ The tags associated with the measurement.
+
+
+ Records a measurement by notifying all objects that are listening to this instrument.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+
+
+ Stores one observed metrics value and its associated tags. This type is used by an Observable instrument's Observe() method when reporting current measurements.
+ The type that the measurement represents.
+
+
+ Initializes a new instance of using the specified value.
+ The measurement value.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Initializes a new instance of using the specified value and list of tags.
+ The measurement value.
+ The list of tags associated with the measurement.
+
+
+ Gets the measurement tags list.
+
+
+ Gets the measurement value.
+
+
+ A delegate to represent the Meterlistener callbacks that are used when recording measurements.
+ The instrument that sent the measurement.
+ The measurement value.
+ A span of key-value pair tags associated with the measurement.
+ The state object originally passed to method.
+ The type that the measurement represents.
+
+
+ Meter is the class responsible for creating and tracking the Instruments.
+
+
+
+
+
+ Initializes a new instance of using the specified meter name.
+ The Meter name.
+
+
+ Initializes a new instance of using the specified meter name and version.
+ The Meter name.
+ The optional Meter version.
+
+
+
+
+
+
+
+
+ Create a metrics Counter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new counter.
+
+
+
+
+
+
+
+
+
+ Creates a Histogram, which is an instrument that can be used to report arbitrary values that are likely to be statistically meaningful. It is intended for statistics such as histograms, summaries, and percentiles.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new histogram.
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement..
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableCounter, which is an instrument that reports monotonically increasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableGauge, which is an asynchronous instrument that reports non-additive values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when ObservableCounter{T}.Observe() is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable gauge.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Creates an ObservableUpDownCounter object. ObservableUpDownCounter is an Instrument that reports increasing or decreasing values when the instrument is being observed.
+ The instrument name. Cannot be .
+ The callback to call to get the measurements when the is called by
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new observable up down counter.
+
+
+
+
+
+
+
+
+
+
+ Create a metrics UpDownCounter object.
+ The instrument name. Cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+ The numerical type of the measurement.
+ A new up down counter.
+
+
+
+
+
+
+
+
+
+ Dispose the Meter which will disable all instruments created by this meter.
+
+
+
+
+
+ Gets the Meter name.
+ The Meter name
+
+
+
+
+ Gets the Meter version.
+ The Meter version.
+
+
+
+
+
+
+
+
+
+ The MeterListener is class used to listen to the metrics instrument measurements recording.
+
+
+ Initializes a new instance of the class.
+
+
+ Stops listening to a specific instrument measurement recording.
+ The instrument to stop listening to.
+ The state object originally passed to method.
+
+
+ Disposes the listeners which will stop it from listening to any instrument.
+
+
+ Starts listening to a specific instrument measurement recording.
+ The instrument to listen to.
+ A state object that will be passed back to the callback getting measurements events.
+
+
+ Calls all Observable instruments that the listener is listening to, and calls with every collected measurement.
+
+
+ Sets a callback for a specific numeric type to get the measurement recording notification from all instruments which enabled listening and was created with the same specified numeric type.
+ If a measurement of type T is recorded and a callback of type T is registered, that callback will be used.
+ The callback which can be used to get measurement recording of numeric type T.
+ The type of the numeric measurement.
+
+
+ Enables the listener to start listening to instruments measurement recording.
+
+
+ Gets or sets the callback to get notified when an instrument is published.
+ The callback to get notified when an instrument is published.
+
+
+ Gets or sets the callback to get notified when the measurement is stopped on some instrument.
+ This can happen when the Meter or the Listener is disposed or calling on the listener.
+ The callback to get notified when the measurement is stopped on some instrument.
+
+
+
+
+
+
+
+
+
+
+ Represents a metrics-observable instrument that reports monotonically increasing values when the instrument is being observed, for example, CPU time (for different processes, threads, user mode, or kernel mode). Call to create the observable counter object.
+ The type that the observable counter represents.
+
+
+ Represents an observable instrument that reports non-additive values when the instrument is being observed, for example, the current room temperature. Call to create the observable counter object.
+
+
+
+ ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit.
+ The type that the observable instrument represents.
+
+
+ Initializes a new instance of the class using the specified meter, name, description, and unit.
+ All classes that extend ObservableInstrument{T} must call this constructor when constructing objects of the extended class.
+ The meter that created the instrument.
+ The instrument name. cannot be .
+ Optional instrument unit of measurements.
+ Optional instrument description.
+
+
+
+
+
+
+
+
+
+ Fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.
+ The current measurements tracked by this instrument.
+
+
+ Gets a value that indicates if the instrument is an observable instrument.
+
+ if the instrument is metrics-observable; otherwise.
+
+
+ A metrics-observable instrument that reports increasing or decreasing values when the instrument is being observed.
+Use this instrument to monitor the process heap size or the approximate number of items in a lock-free circular buffer, for example.
+To create an ObservableUpDownCounter object, use the methods.
+ The type that the counter represents.
+
+
+ An instrument that supports reporting positive or negative metric values.
+ UpDownCounter may be used in scenarios like reporting the change in active requests or queue size.
+ The type that the UpDownCounter represents.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A first key-value pair tag associated with the measurement.
+ A second key-value pair tag associated with the measurement.
+ A third key-value pair tag associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A list of key-value pair tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A of tags associated with the measurement.
+
+
+ Records the delta value of the measurement. The delta can be positive, negative, or zero.
+ The amount to be added, which can be positive, negative, or zero.
+ A span of key-value pair tags associated with the measurement.
+
+
+ A delegate that defines the signature of the callbacks used in the sampling process.
+ The Activity creation options used by callbacks to decide creating the Activity object or not.
+ The type of the requested parent to create the Activity object with. Should be either a string or an instance.
+ An object containing the sampling results, which indicate the amount of data to collect for the related .
+
+
+ Represents a list of tags that can be accessed by index. Provides methods to search, sort, and manipulate lists.
+
+
+ Initializes a new instance of using the specified .
+ A span of tags to initialize the list with.
+
+
+ Adds a tag to the list.
+ The key-value pair of the tag to add to the list.
+
+
+ Adds a tag with the specified and to the list.
+ The tag key.
+ The tag value.
+
+
+ Removes all elements from the .
+
+
+ Determines whether a tag is in the .
+ The tag to locate in the .
+
+ if item is found in the ; otherwise, .
+
+
+ Copies the entire to a compatible one-dimensional array, starting at the specified index of the target array.
+ The one-dimensional Array that is the destination of the elements copied from . The Array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is .
+
+ is less than 0 or greater than or equal to the length.
+
+
+ Copies the contents of this into a destination span.
+ The destination object.
+
+ The number of elements in the source is greater than the number of elements that the destination span.
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Searches for the specified tag and returns the zero-based index of the first occurrence within the entire .
+ The tag to locate in the .
+ The zero-based index of the first ocurrence of in the tag list.
+
+
+ Inserts an element into the at the specified index.
+ The zero-based index at which the item should be inserted.
+ The tag to insert.
+
+ is less than 0 or is greater than .
+
+
+ Removes the first occurrence of a specific object from the .
+ The tag to remove from the .
+
+ if is successfully removed; otherwise, . This method also returns if was not found in the .
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ index is less than 0 or is greater than .
+
+
+ Returns an enumerator that iterates through the .
+ An enumerator that iterates through the .
+
+
+ Gets the number of tags contained in the .
+ The number of elements contained in the .
+
+
+ Gets a value indicating whether the is read-only. This property will always return .
+
+ Always returns .
+
+
+ Gets or sets the tags at the specified index.
+ The item index.
+
+ is not a valid index in the .
+ The element at the specified index.
+
+
+ An enumerator for traversing a tag list collection.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Advances the enumerator to the next element of the collection.
+
+ if the enumerator was successfully advanced to the next element; if the enumerator has passed the end of the collection.
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+ Gets the element in the collection at the current position of the enumerator.
+ The element in the collection at the current position of the enumerator.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Diagnostics.DiagnosticSource.8.0.1/useSharedDesignerContext.txt b/packages/System.Diagnostics.DiagnosticSource.8.0.1/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Memory.4.5.5/.signature.p7s b/packages/System.Memory.4.5.5/.signature.p7s
new file mode 100644
index 0000000..40dcb3e
Binary files /dev/null and b/packages/System.Memory.4.5.5/.signature.p7s differ
diff --git a/packages/System.Memory.4.5.5/LICENSE.TXT b/packages/System.Memory.4.5.5/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Memory.4.5.5/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Memory.4.5.5/System.Memory.4.5.5.nupkg b/packages/System.Memory.4.5.5/System.Memory.4.5.5.nupkg
new file mode 100644
index 0000000..9d654e2
Binary files /dev/null and b/packages/System.Memory.4.5.5/System.Memory.4.5.5.nupkg differ
diff --git a/packages/System.Memory.4.5.5/THIRD-PARTY-NOTICES.TXT b/packages/System.Memory.4.5.5/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..db542ca
--- /dev/null
+++ b/packages/System.Memory.4.5.5/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.11, January 15th, 2017
+
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
diff --git a/packages/System.Memory.4.5.5/lib/net461/System.Memory.dll b/packages/System.Memory.4.5.5/lib/net461/System.Memory.dll
new file mode 100644
index 0000000..4617199
Binary files /dev/null and b/packages/System.Memory.4.5.5/lib/net461/System.Memory.dll differ
diff --git a/packages/System.Memory.4.5.5/lib/net461/System.Memory.xml b/packages/System.Memory.4.5.5/lib/net461/System.Memory.xml
new file mode 100644
index 0000000..4d12fd7
--- /dev/null
+++ b/packages/System.Memory.4.5.5/lib/net461/System.Memory.xml
@@ -0,0 +1,355 @@
+
+
+ System.Memory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Memory.4.5.5/lib/netcoreapp2.1/_._ b/packages/System.Memory.4.5.5/lib/netcoreapp2.1/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.dll b/packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.dll
new file mode 100644
index 0000000..31486d6
Binary files /dev/null and b/packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.dll differ
diff --git a/packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.xml b/packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.xml
new file mode 100644
index 0000000..4d12fd7
--- /dev/null
+++ b/packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.xml
@@ -0,0 +1,355 @@
+
+
+ System.Memory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.dll b/packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.dll
new file mode 100644
index 0000000..1e6aef8
Binary files /dev/null and b/packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.dll differ
diff --git a/packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.xml b/packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.xml
new file mode 100644
index 0000000..4d12fd7
--- /dev/null
+++ b/packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.xml
@@ -0,0 +1,355 @@
+
+
+ System.Memory
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Memory.4.5.5/ref/netcoreapp2.1/_._ b/packages/System.Memory.4.5.5/ref/netcoreapp2.1/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Memory.4.5.5/useSharedDesignerContext.txt b/packages/System.Memory.4.5.5/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Memory.4.5.5/version.txt b/packages/System.Memory.4.5.5/version.txt
new file mode 100644
index 0000000..b46e477
--- /dev/null
+++ b/packages/System.Memory.4.5.5/version.txt
@@ -0,0 +1 @@
+32b491939fbd125f304031c35038b1e14b4e3958
diff --git a/packages/System.Numerics.Vectors.4.5.0/.signature.p7s b/packages/System.Numerics.Vectors.4.5.0/.signature.p7s
new file mode 100644
index 0000000..a945f63
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/.signature.p7s differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT b/packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg b/packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg
new file mode 100644
index 0000000..0ef4637
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/System.Numerics.Vectors.4.5.0.nupkg differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT b/packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..db542ca
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.11, January 15th, 2017
+
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/MonoAndroid10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/MonoAndroid10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/MonoTouch10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/MonoTouch10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..0865972
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..433aa36
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..1020577
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..433aa36
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ b/packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..e237afb
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..470f2f3
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..d174da0
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll
new file mode 100644
index 0000000..ba0aa0c
Binary files /dev/null and b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.dll differ
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml
new file mode 100644
index 0000000..da34d39
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml
@@ -0,0 +1,2621 @@
+
+
+ System.Numerics.Vectors
+
+
+
+ Represents a 3x2 matrix.
+
+
+ Creates a 3x2 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a rotation matrix using the given rotation in radians.
+ The amount of rotation, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix using the specified rotation in radians and a center point.
+ The amount of rotation, in radians.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified X and Y components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center.
+ The uniform scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that scales uniformly with the given scale.
+ The uniform scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified vector scale with an offset from the specified center point.
+ The scale to use.
+ The center offset.
+ The scaling matrix.
+
+
+ Creates a skew matrix from the specified angles in radians.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The skew matrix.
+
+
+ Creates a skew matrix from the specified angles in radians and a center point.
+ The X angle, in radians.
+ The Y angle, in radians.
+ The center point.
+ The skew matrix.
+
+
+ Creates a translation matrix from the specified 2-dimensional vector.
+ The translation position.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X and Y components.
+ The X position.
+ The Y position.
+ The translation matrix.
+
+
+ Returns a value that indicates whether this instance and another 3x2 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant for this matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ The multiplicative identify matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Represents a 4x4 matrix.
+
+
+ Creates a object from a specified object.
+ A 3x2 matrix.
+
+
+ Creates a 4x4 matrix from the specified components.
+ The value to assign to the first element in the first row.
+ The value to assign to the second element in the first row.
+ The value to assign to the third element in the first row.
+ The value to assign to the fourth element in the first row.
+ The value to assign to the first element in the second row.
+ The value to assign to the second element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the third element in the second row.
+ The value to assign to the first element in the third row.
+ The value to assign to the second element in the third row.
+ The value to assign to the third element in the third row.
+ The value to assign to the fourth element in the third row.
+ The value to assign to the first element in the fourth row.
+ The value to assign to the second element in the fourth row.
+ The value to assign to the third element in the fourth row.
+ The value to assign to the fourth element in the fourth row.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values of value1 and value2.
+
+
+ Creates a spherical billboard that rotates around a specified object position.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The up vector of the camera.
+ The forward vector of the camera.
+ The created billboard.
+
+
+ Creates a cylindrical billboard that rotates around a specified axis.
+ The position of the object that the billboard will rotate around.
+ The position of the camera.
+ The axis to rotate the billboard around.
+ The forward vector of the camera.
+ The forward vector of the object.
+ The billboard matrix.
+
+
+ Creates a matrix that rotates around an arbitrary vector.
+ The axis to rotate around.
+ The angle to rotate around axis, in radians.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified Quaternion rotation value.
+ The source Quaternion.
+ The rotation matrix.
+
+
+ Creates a rotation matrix from the specified yaw, pitch, and roll.
+ The angle of rotation, in radians, around the Y axis.
+ The angle of rotation, in radians, around the X axis.
+ The angle of rotation, in radians, around the Z axis.
+ The rotation matrix.
+
+
+ Creates a view matrix.
+ The position of the camera.
+ The target towards which the camera is pointing.
+ The direction that is "up" from the camera's point of view.
+ The view matrix.
+
+
+ Creates an orthographic perspective matrix from the given view volume dimensions.
+ The width of the view volume.
+ The height of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a customized orthographic projection matrix.
+ The minimum X-value of the view volume.
+ The maximum X-value of the view volume.
+ The minimum Y-value of the view volume.
+ The maximum Y-value of the view volume.
+ The minimum Z-value of the view volume.
+ The maximum Z-value of the view volume.
+ The orthographic projection matrix.
+
+
+ Creates a perspective projection matrix from the given view volume dimensions.
+ The width of the view volume at the near view plane.
+ The height of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances.
+ The field of view in the y direction, in radians.
+ The aspect ratio, defined as view space width divided by height.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ fieldOfView is less than or equal to zero.
+ -or-
+ fieldOfView is greater than or equal to .
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a customized perspective projection matrix.
+ The minimum x-value of the view volume at the near view plane.
+ The maximum x-value of the view volume at the near view plane.
+ The minimum y-value of the view volume at the near view plane.
+ The maximum y-value of the view volume at the near view plane.
+ The distance to the near view plane.
+ The distance to the far view plane.
+ The perspective projection matrix.
+ nearPlaneDistance is less than or equal to zero.
+ -or-
+ farPlaneDistance is less than or equal to zero.
+ -or-
+ nearPlaneDistance is greater than or equal to farPlaneDistance.
+
+
+ Creates a matrix that reflects the coordinate system about a specified plane.
+ The plane about which to create a reflection.
+ A new matrix expressing the reflection.
+
+
+ Creates a matrix for rotating points around the X axis.
+ The amount, in radians, by which to rotate around the X axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the X axis from a center point.
+ The amount, in radians, by which to rotate around the X axis.
+ The center point.
+ The rotation matrix.
+
+
+ The amount, in radians, by which to rotate around the Y axis from a center point.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Y axis.
+ The amount, in radians, by which to rotate around the Y-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The rotation matrix.
+
+
+ Creates a matrix for rotating points around the Z axis from a center point.
+ The amount, in radians, by which to rotate around the Z-axis.
+ The center point.
+ The rotation matrix.
+
+
+ Creates a scaling matrix from the specified vector scale.
+ The scale to use.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scale equally on each axis.
+ The uniform scaling factor.
+ The scaling matrix.
+
+
+ Creates a scaling matrix with a center point.
+ The vector that contains the amount to scale on each axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a uniform scaling matrix that scales equally on each axis with a center point.
+ The uniform scaling factor.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a scaling matrix from the specified X, Y, and Z components.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The scaling matrix.
+
+
+ Creates a scaling matrix that is offset by a given center point.
+ The value to scale by on the X axis.
+ The value to scale by on the Y axis.
+ The value to scale by on the Z axis.
+ The center point.
+ The scaling matrix.
+
+
+ Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source.
+ The direction from which the light that will cast the shadow is coming.
+ The plane onto which the new matrix should flatten geometry so as to cast a shadow.
+ A new matrix that can be used to flatten geometry onto the specified plane from the specified direction.
+
+
+ Creates a translation matrix from the specified 3-dimensional vector.
+ The amount to translate in each axis.
+ The translation matrix.
+
+
+ Creates a translation matrix from the specified X, Y, and Z components.
+ The amount to translate on the X axis.
+ The amount to translate on the Y axis.
+ The amount to translate on the Z axis.
+ The translation matrix.
+
+
+ Creates a world matrix with the specified parameters.
+ The position of the object.
+ The forward direction of the object.
+ The upward direction of the object. Its value is usually [0, 1, 0].
+ The world matrix.
+
+
+ Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded.
+ The source matrix.
+ When this method returns, contains the scaling component of the transformation matrix if the operation succeeded.
+ When this method returns, contains the rotation component of the transformation matrix if the operation succeeded.
+ When the method returns, contains the translation component of the transformation matrix if the operation succeeded.
+ true if matrix was decomposed successfully; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and another 4x4 matrix are equal.
+ The other matrix.
+ true if the two matrices are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Calculates the determinant of the current 4x4 matrix.
+ The determinant.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the multiplicative identity matrix.
+ Gets the multiplicative identity matrix.
+
+
+ Inverts the specified matrix. The return value indicates whether the operation succeeded.
+ The matrix to invert.
+ When this method returns, contains the inverted matrix if the operation succeeded.
+ true if matrix was converted successfully; otherwise, false.
+
+
+ Indicates whether the current matrix is the identity matrix.
+ true if the current matrix is the identity matrix; otherwise, false.
+
+
+ Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix.
+ The first matrix.
+ The second matrix.
+ The relative weighting of matrix2.
+ The interpolated matrix.
+
+
+ The first element of the first row.
+
+
+
+ The second element of the first row.
+
+
+
+ The third element of the first row.
+
+
+
+ The fourth element of the first row.
+
+
+
+ The first element of the second row.
+
+
+
+ The second element of the second row.
+
+
+
+ The third element of the second row.
+
+
+
+ The fourth element of the second row.
+
+
+
+ The first element of the third row.
+
+
+
+ The second element of the third row.
+
+
+
+ The third element of the third row.
+
+
+
+ The fourth element of the third row.
+
+
+
+ The first element of the fourth row.
+
+
+
+ The second element of the fourth row.
+
+
+
+ The third element of the fourth row.
+
+
+
+ The fourth element of the fourth row.
+
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Adds each element in one matrix with its corresponding element in a second matrix.
+ The first matrix.
+ The second matrix.
+ The matrix that contains the summed values.
+
+
+ Returns a value that indicates whether the specified matrices are equal.
+ The first matrix to compare.
+ The second matrix to care
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether the specified matrices are not equal.
+ The first matrix to compare.
+ The second matrix to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor.
+ The matrix to scale.
+ The scaling value to use.
+ The scaled matrix.
+
+
+ Returns the matrix that results from multiplying two matrices together.
+ The first matrix.
+ The second matrix.
+ The product matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Negates the specified matrix by multiplying all its values by -1.
+ The matrix to negate.
+ The negated matrix.
+
+
+ Subtracts each element in a second matrix from its corresponding element in a first matrix.
+ The first matrix.
+ The second matrix.
+ The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this matrix.
+ The string representation of this matrix.
+
+
+ Transforms the specified matrix by applying the specified Quaternion rotation.
+ The matrix to transform.
+ The rotation t apply.
+ The transformed matrix.
+
+
+ Gets or sets the translation component of this matrix.
+ The translation component of the current instance.
+
+
+ Transposes the rows and columns of a matrix.
+ The matrix to transpose.
+ The transposed matrix.
+
+
+ Represents a three-dimensional plane.
+
+
+ Creates a object from a specified four-dimensional vector.
+ A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin.
+
+
+ Creates a object from a specified normal and the distance along the normal from the origin.
+ The plane's normal vector.
+ The plane's distance from the origin along its normal vector.
+
+
+ Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal.
+ The X component of the normal.
+ The Y component of the normal.
+ The Z component of the normal.
+ The distance of the plane along its normal from the origin.
+
+
+ Creates a object that contains three specified points.
+ The first point defining the plane.
+ The second point defining the plane.
+ The third point defining the plane.
+ The plane containing the three points.
+
+
+ The distance of the plane along its normal from the origin.
+
+
+
+ Calculates the dot product of a plane and a 4-dimensional vector.
+ The plane.
+ The four-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane.
+ The plane.
+ The 3-dimensional vector.
+ The dot product.
+
+
+ Returns the dot product of a specified three-dimensional vector and the vector of this plane.
+ The plane.
+ The three-dimensional vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another plane object are equal.
+ The other plane.
+ true if the two planes are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ The normal vector of the plane.
+
+
+
+ Creates a new object whose normal vector is the source plane's normal vector normalized.
+ The source plane.
+ The normalized plane.
+
+
+ Returns a value that indicates whether two planes are equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two planes are not equal.
+ The first plane to compare.
+ The second plane to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the string representation of this plane object.
+ A string that represents this object.
+
+
+ Transforms a normalized plane by a 4x4 matrix.
+ The normalized plane to transform.
+ The transformation matrix to apply to plane.
+ The transformed plane.
+
+
+ Transforms a normalized plane by a Quaternion rotation.
+ The normalized plane to transform.
+ The Quaternion rotation to apply to the plane.
+ A new plane that results from applying the Quaternion rotation.
+
+
+ Represents a vector that is used to encode three-dimensional physical rotations.
+
+
+ Creates a quaternion from the specified vector and rotation parts.
+ The vector part of the quaternion.
+ The rotation part of the quaternion.
+
+
+ Constructs a quaternion from the specified components.
+ The value to assign to the X component of the quaternion.
+ The value to assign to the Y component of the quaternion.
+ The value to assign to the Z component of the quaternion.
+ The value to assign to the W component of the quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Concatenates two quaternions.
+ The first quaternion rotation in the series.
+ The second quaternion rotation in the series.
+ A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation.
+
+
+ Returns the conjugate of a specified quaternion.
+ The quaternion.
+ A new quaternion that is the conjugate of value.
+
+
+ Creates a quaternion from a vector and an angle to rotate about the vector.
+ The vector to rotate around.
+ The angle, in radians, to rotate around the vector.
+ The newly created quaternion.
+
+
+ Creates a quaternion from the specified rotation matrix.
+ The rotation matrix.
+ The newly created quaternion.
+
+
+ Creates a new quaternion from the given yaw, pitch, and roll.
+ The yaw angle, in radians, around the Y axis.
+ The pitch angle, in radians, around the X axis.
+ The roll angle, in radians, around the Z axis.
+ The resulting quaternion.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Calculates the dot product of two quaternions.
+ The first quaternion.
+ The second quaternion.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another quaternion are equal.
+ The other quaternion.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets a quaternion that represents no rotation.
+ A quaternion whose values are (0, 0, 0, 1).
+
+
+ Returns the inverse of a quaternion.
+ The quaternion.
+ The inverted quaternion.
+
+
+ Gets a value that indicates whether the current instance is the identity quaternion.
+ true if the current instance is the identity quaternion; otherwise, false.
+
+
+ Calculates the length of the quaternion.
+ The computed length of the quaternion.
+
+
+ Calculates the squared length of the quaternion.
+ The length squared of the quaternion.
+
+
+ Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of quaternion2 in the interpolation.
+ The interpolated quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Divides each component of a specified by its length.
+ The quaternion to normalize.
+ The normalized quaternion.
+
+
+ Adds each element in one quaternion with its corresponding element in a second quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion that contains the summed values of value1 and value2.
+
+
+ Divides one quaternion by a second quaternion.
+ The dividend.
+ The divisor.
+ The quaternion that results from dividing value1 by value2.
+
+
+ Returns a value that indicates whether two quaternions are equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if the two quaternions are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two quaternions are not equal.
+ The first quaternion to compare.
+ The second quaternion to compare.
+ true if value1 and value2 are not equal; otherwise, false.
+
+
+ Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor.
+ The source quaternion.
+ The scalar value.
+ The scaled quaternion.
+
+
+ Returns the quaternion that results from multiplying two quaternions together.
+ The first quaternion.
+ The second quaternion.
+ The product quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Reverses the sign of each component of the quaternion.
+ The quaternion to negate.
+ The negated quaternion.
+
+
+ Interpolates between two quaternions, using spherical linear interpolation.
+ The first quaternion.
+ The second quaternion.
+ The relative weight of the second quaternion in the interpolation.
+ The interpolated quaternion.
+
+
+ Subtracts each element in a second quaternion from its corresponding element in a first quaternion.
+ The first quaternion.
+ The second quaternion.
+ The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1.
+
+
+ Returns a string that represents this quaternion.
+ The string representation of this quaternion.
+
+
+ The rotation component of the quaternion.
+
+
+
+ The X value of the vector component of the quaternion.
+
+
+
+ The Y value of the vector component of the quaternion.
+
+
+
+ The Z value of the vector component of the quaternion.
+
+
+
+ Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms.
+ The vector type. T can be any primitive numeric type.
+
+
+ Creates a vector whose components are of a specified type.
+ The numeric type that defines the type of the components in the vector.
+
+
+ Creates a vector from a specified array.
+ A numeric array.
+ values is null.
+
+
+ Creates a vector from a specified array starting at a specified index position.
+ A numeric array.
+ The starting index position from which to create the vector.
+ values is null.
+ index is less than zero.
+ -or-
+ The length of values minus index is less than .
+
+
+ Copies the vector instance to a specified destination array.
+ The array to receive a copy of the vector values.
+ destination is null.
+ The number of elements in the current vector is greater than the number of elements available in the destination array.
+
+
+ Copies the vector instance to a specified destination array starting at a specified index position.
+ The array to receive a copy of the vector values.
+ The starting index in destination at which to begin the copy operation.
+ destination is null.
+ The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array.
+ index is less than zero or greater than the last index in destination.
+
+
+ Returns the number of elements stored in the vector.
+ The number of elements stored in the vector.
+ Access to the property getter via reflection is not supported.
+
+
+ Returns a value that indicates whether this instance is equal to a specified vector.
+ The vector to compare with this instance.
+ true if the current instance and other are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance is equal to a specified object.
+ The object to compare with this instance.
+ true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Gets the element at a specified index.
+ The index of the element to return.
+ The element at index index.
+ index is less than zero.
+ -or-
+ index is greater than or equal to .
+
+
+ Returns a vector containing all ones.
+ A vector containing all ones.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise And of left and right.
+
+
+ Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise Or of the elements in left and right.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector that results from the bitwise XOr of the elements in left and right.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of the specified vector into a vector of type .
+ The vector to reinterpret.
+ The reinterpreted vector.
+
+
+ Returns a value that indicates whether any single pair of elements in the specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if any element pairs in left and right are equal. false if no element pairs are equal.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar value.
+ The source vector.
+ A scalar value.
+ The scaled vector.
+
+
+ Multiplies a vector by the given scalar.
+ The scalar value.
+ The source vector.
+ The scaled vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The one's complement vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates a given vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Returns the string representation of this vector using default formatting.
+ The string representation of this vector.
+
+
+ Returns the string representation of this vector using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns a vector containing all zeroes.
+ A vector containing all zeroes.
+
+
+ Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
+
+
+ Returns a new vector whose elements are the absolute values of the given vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The absolute value vector.
+
+
+ Returns a new vector whose values are the sum of each pair of elements from two given vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The summed vector.
+
+
+ Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a double-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of signed bytes.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a single-precision floating-point vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Reinterprets the bits of a specified vector into those of a vector of unsigned long integers.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The reinterpreted vector.
+
+
+ Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The new vector with elements selected based on the mask.
+
+
+ Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector.
+ The integral mask vector used to drive selection.
+ The first source vector.
+ The second source vector.
+ The vector type. T can be any primitive numeric type.
+ The new vector with elements selected based on the mask.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose values are the result of dividing the first vector's elements by the corresponding elements in the second vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The divided vector.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The dot product.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether each pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether any single pair of elements in the given vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element pair in left and right is equal; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is greater than or equal to the corresponding element in right; otherwise, false.
+
+
+ Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support.
+ true if vector operations are subject to hardware acceleration; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than the corresponding element in right; otherwise, false.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting long integer vector.
+
+
+ Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector.
+ The first vector to compare.
+ The second vector to compare.
+ The resulting integral vector.
+
+
+ Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false.
+
+
+ Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ true if any element in left is less than or equal to the corresponding element in right; otherwise, false.
+
+
+ Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The maximum vector.
+
+
+ Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors.
+ The first vector to compare.
+ The second vector to compare.
+ The vector type. T can be any primitive numeric type.
+ The minimum vector.
+
+
+ Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector.
+ The scalar value.
+ The vector.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+ Returns a new vector whose values are the product of each pair of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The product vector.
+
+
+ Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value.
+ The vector.
+ The scalar value.
+ The vector type. T can be any primitive numeric type.
+ The scaled vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector whose elements are the negation of the corresponding element in the specified vector.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The negated vector.
+
+
+ Returns a new vector whose elements are obtained by taking the one's complement of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Returns a new vector whose elements are the square roots of a specified vector's elements.
+ The source vector.
+ The vector type. T can be any primitive numeric type.
+ The square root vector.
+
+
+ Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The difference vector.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors.
+ The first vector.
+ The second vector.
+ The vector type. T can be any primitive numeric type.
+ The resulting vector.
+
+
+ Represents a vector with two single-precision floating-point values.
+
+
+ Creates a new object whose two elements have the same value.
+ The value to assign to both elements.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of the vector.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 2 elements are equal to one.
+ A vector whose two elements are equal to one (that is, it returns the vector (1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 3x2 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 3x2 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0).
+ The vector (1,0).
+
+
+ Gets the vector (0,1).
+ The vector (0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ Returns a vector whose 2 elements are equal to zero.
+ A vector whose two elements are equal to zero (that is, it returns the vector (0,0).
+
+
+ Represents a vector with three single-precision floating-point values.
+
+
+ Creates a new object whose three elements have the same value.
+ The value to assign to all three elements.
+
+
+ Creates a new object from the specified object and the specified value.
+ The vector with two elements.
+ The additional value to assign to the field.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the cross product of two vectors.
+ The first vector.
+ The second vector.
+ The cross product.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 3 elements are equal to one.
+ A vector whose three elements are equal to one (that is, it returns the vector (1,1,1).
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns the reflection of a vector off a surface that has the specified normal.
+ The source vector.
+ The normal of the surface being reflected off.
+ The reflected vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a vector normal by the given 4x4 matrix.
+ The source vector.
+ The matrix.
+ The transformed vector.
+
+
+ Gets the vector (1,0,0).
+ The vector (1,0,0).
+
+
+ Gets the vector (0,1,0).
+ The vector (0,1,0)..
+
+
+ Gets the vector (0,0,1).
+ The vector (0,0,1).
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 3 elements are equal to zero.
+ A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0).
+
+
+ Represents a vector with four single-precision floating-point values.
+
+
+ Creates a new object whose four elements have the same value.
+ The value to assign to all four elements.
+
+
+ Constructs a new object from the specified object and a W component.
+ The vector to use for the X, Y, and Z components.
+ The W component.
+
+
+ Creates a new object from the specified object and a Z and a W component.
+ The vector to use for the X and Y components.
+ The Z component.
+ The W component.
+
+
+ Creates a vector whose elements have the specified values.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+ The value to assign to the field.
+
+
+ Returns a vector whose elements are the absolute values of each of the specified vector's elements.
+ A vector.
+ The absolute value vector.
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Restricts a vector between a minimum and a maximum value.
+ The vector to restrict.
+ The minimum value.
+ The maximum value.
+ The restricted vector.
+
+
+ Copies the elements of the vector to a specified array.
+ The destination array.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ array is multidimensional.
+
+
+ Copies the elements of the vector to a specified array starting at a specified index position.
+ The destination array.
+ The index at which to copy the first element of the vector.
+ array is null.
+ The number of elements in the current instance is greater than in the array.
+ index is less than zero.
+ -or-
+ index is greater than or equal to the array length.
+ array is multidimensional.
+
+
+ Computes the Euclidean distance between the two given points.
+ The first point.
+ The second point.
+ The distance.
+
+
+ Returns the Euclidean distance squared between two specified points.
+ The first point.
+ The second point.
+ The distance squared.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector resulting from the division.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The vector that results from the division.
+
+
+ Returns the dot product of two vectors.
+ The first vector.
+ The second vector.
+ The dot product.
+
+
+ Returns a value that indicates whether this instance and another vector are equal.
+ The other vector.
+ true if the two vectors are equal; otherwise, false.
+
+
+ Returns a value that indicates whether this instance and a specified object are equal.
+ The object to compare with the current instance.
+ true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false.
+
+
+ Returns the hash code for this instance.
+ The hash code.
+
+
+ Returns the length of this vector object.
+ The vector's length.
+
+
+ Returns the length of the vector squared.
+ The vector's length squared.
+
+
+ Performs a linear interpolation between two vectors based on the given weighting.
+ The first vector.
+ The second vector.
+ A value between 0 and 1 that indicates the weight of value2.
+ The interpolated vector.
+
+
+ Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The maximized vector.
+
+
+ Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors.
+ The first vector.
+ The second vector.
+ The minimized vector.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiplies a vector by a specified scalar.
+ The vector to multiply.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiplies a scalar value by a specified vector.
+ The scaled value.
+ The vector.
+ The scaled vector.
+
+
+ Negates a specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector with the same direction as the specified vector, but with a length of one.
+ The vector to normalize.
+ The normalized vector.
+
+
+ Gets a vector whose 4 elements are equal to one.
+ Returns .
+
+
+ Adds two vectors together.
+ The first vector to add.
+ The second vector to add.
+ The summed vector.
+
+
+ Divides the first vector by the second.
+ The first vector.
+ The second vector.
+ The vector that results from dividing left by right.
+
+
+ Divides the specified vector by a specified scalar value.
+ The vector.
+ The scalar value.
+ The result of the division.
+
+
+ Returns a value that indicates whether each pair of elements in two specified vectors is equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are equal; otherwise, false.
+
+
+ Returns a value that indicates whether two specified vectors are not equal.
+ The first vector to compare.
+ The second vector to compare.
+ true if left and right are not equal; otherwise, false.
+
+
+ Multiplies two vectors together.
+ The first vector.
+ The second vector.
+ The product vector.
+
+
+ Multiples the specified vector by the specified scalar value.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Multiples the scalar value by the specified vector.
+ The vector.
+ The scalar value.
+ The scaled vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The vector that results from subtracting right from left.
+
+
+ Negates the specified vector.
+ The vector to negate.
+ The negated vector.
+
+
+ Returns a vector whose elements are the square root of each of a specified vector's elements.
+ A vector.
+ The square root vector.
+
+
+ Subtracts the second vector from the first.
+ The first vector.
+ The second vector.
+ The difference vector.
+
+
+ Returns the string representation of the current instance using default formatting.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements.
+ A or that defines the format of individual elements.
+ The string representation of the current instance.
+
+
+ Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting.
+ A or that defines the format of individual elements.
+ A format provider that supplies culture-specific formatting information.
+ The string representation of the current instance.
+
+
+ Transforms a four-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a four-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Transforms a two-dimensional vector by the specified Quaternion rotation value.
+ The vector to rotate.
+ The rotation to apply.
+ The transformed vector.
+
+
+ Transforms a three-dimensional vector by a specified 4x4 matrix.
+ The vector to transform.
+ The transformation matrix.
+ The transformed vector.
+
+
+ Gets the vector (0,0,0,1).
+ The vector (0,0,0,1).
+
+
+ Gets the vector (1,0,0,0).
+ The vector (1,0,0,0).
+
+
+ Gets the vector (0,1,0,0).
+ The vector (0,1,0,0)..
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ The vector (0,0,1,0).
+
+
+ The W component of the vector.
+
+
+
+ The X component of the vector.
+
+
+
+ The Y component of the vector.
+
+
+
+ The Z component of the vector.
+
+
+
+ Gets a vector whose 4 elements are equal to zero.
+ A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0).
+
+
+
\ No newline at end of file
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ b/packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt b/packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Numerics.Vectors.4.5.0/version.txt b/packages/System.Numerics.Vectors.4.5.0/version.txt
new file mode 100644
index 0000000..47004a0
--- /dev/null
+++ b/packages/System.Numerics.Vectors.4.5.0/version.txt
@@ -0,0 +1 @@
+30ab651fcb4354552bd4891619a0bdd81e0ebdbf
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s
new file mode 100644
index 0000000..2a015f9
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/.signature.p7s differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png
new file mode 100644
index 0000000..a0f1fdb
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/Icon.png differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.6.0.0.nupkg b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.6.0.0.nupkg
new file mode 100644
index 0000000..3052c31
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/System.Runtime.CompilerServices.Unsafe.6.0.0.nupkg differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..89c59b2
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,939 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2020 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.11, January 15th, 2017
+
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for RFC 3492
+---------------------------
+
+The punycode implementation is based on the sample code in RFC 3492
+
+Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any
+kind, provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for
+copyrights defined in the Internet Standards process must be
+followed, or as required to translate it into languages other than
+English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+License notice for Algorithm from Internet Draft document "UUIDs and GUIDs"
+---------------------------------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, or Digital Equipment Corporation be used in advertising
+or publicity pertaining to distribution of the software without
+specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment
+Corporation makes any representations about the suitability of
+this software for any purpose.
+
+Copyright(C) The Internet Society 1997. All Rights Reserved.
+
+This document and translations of it may be copied and furnished to others,
+and derivative works that comment on or otherwise explain it or assist in
+its implementation may be prepared, copied, published and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this paragraph are included on all such copies and
+derivative works.However, this document itself may not be modified in any
+way, such as by removing the copyright notice or references to the Internet
+Society or other Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for copyrights
+defined in the Internet Standards process must be followed, or as required
+to translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be revoked
+by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an "AS IS"
+basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
+PARTICULAR PURPOSE.
+
+License notice for Algorithm from RFC 4122 -
+A Universally Unique IDentifier (UUID) URN Namespace
+----------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+Copyright (c) 1998 Microsoft.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, Microsoft, or Digital Equipment Corporation be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
+Equipment Corporation makes any representations about the
+suitability of this software for any purpose."
+
+License notice for The LLVM Compiler Infrastructure
+---------------------------------------------------
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+License notice for Bob Jenkins
+------------------------------
+
+By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this
+code any way you wish, private, educational, or commercial. It's free.
+
+License notice for Greg Parker
+------------------------------
+
+Greg Parker gparker@cs.stanford.edu December 2000
+This code is in the public domain and may be copied or modified without
+permission.
+
+License notice for libunwind based code
+----------------------------------------
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for Printing Floating-Point Numbers (Dragon4)
+------------------------------------------------------------
+
+/******************************************************************************
+ Copyright (c) 2014 Ryan Juckett
+ http://www.ryanjuckett.com/
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source
+ distribution.
+******************************************************************************/
+
+License notice for Printing Floating-point Numbers (Grisu3)
+-----------------------------------------------------------
+
+Copyright 2012 the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xxHash
+-------------------------
+
+xxHash Library
+Copyright (c) 2012-2014, Yann Collet
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Berkeley SoftFloat Release 3e
+------------------------------------------------
+
+https://github.com/ucb-bar/berkeley-softfloat-3
+https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt
+
+License for Berkeley SoftFloat Release 3e
+
+John R. Hauser
+2018 January 20
+
+The following applies to the whole of SoftFloat Release 3e as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions, and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See .
+
+License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data)
+--------------------------------------
+
+ Copyright 2018 Daniel Lemire
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+ The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets
new file mode 100644
index 0000000..98eb1d3
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000..c5ba4e4
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.xml
new file mode 100644
index 0000000..9d79492
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.xml
@@ -0,0 +1,291 @@
+
+
+
+ System.Runtime.CompilerServices.Unsafe
+
+
+
+ Contains generic, low-level functionality for manipulating pointers.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given void pointer.
+ The void pointer to add the offset to.
+ The offset to add.
+ The type of void pointer.
+ A new void pointer that reflects the addition of offset to the specified pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Determines whether the specified references point to the same location.
+ The first reference to compare.
+ The second reference to compare.
+ The type of reference.
+
+ if and point to the same location; otherwise, .
+
+
+ Casts the given object to the specified type.
+ The object to cast.
+ The type which the object will be cast to.
+ The original object, casted to the given type.
+
+
+ Reinterprets the given reference as a reference to a value of type .
+ The reference to reinterpret.
+ The type of reference to reinterpret.
+ The desired type of the reference.
+ A reference to a value of type .
+
+
+ Returns a pointer to the given by-ref parameter.
+ The object whose pointer is obtained.
+ The type of object.
+ A pointer to the given value.
+
+
+ Reinterprets the given read-only reference as a reference.
+ The read-only reference to reinterpret.
+ The type of reference.
+ A reference to a value of type .
+
+
+ Reinterprets the given location as a reference to a value of type .
+ The location of the value to reference.
+ The type of the interpreted location.
+ A reference to a value of type .
+
+
+ Determines the byte offset from origin to target from the given references.
+ The reference to origin.
+ The reference to target.
+ The type of reference.
+ Byte offset from origin to target i.e. - .
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A pointer to the value to copy.
+ The type of value to copy.
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A reference to the value to copy.
+ The type of value to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Returns a value that indicates whether a specified reference is greater than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is greater than ; otherwise, .
+
+
+ Returns a value that indicates whether a specified reference is less than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is less than ; otherwise, .
+
+
+ Determines if a given reference to a value of type is a null reference.
+ The reference to check.
+ The type of the reference.
+
+ if is a null reference; otherwise, .
+
+
+ Returns a reference to a value of type that is a null reference.
+ The type of the reference.
+ A reference to a value of type that is a null reference.
+
+
+ Reads a value of type from the given location.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Returns the size of an object of the given type parameter.
+ The type of object whose size is retrieved.
+ The size of an object of type .
+
+
+ Bypasses definite assignment rules for a given value.
+ The uninitialized object.
+ The type of the uninitialized object.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of offset from pointer.
+
+
+ Subtracts an element offset from the given void pointer.
+ The void pointer to subtract the offset from.
+ The offset to subtract.
+ The type of the void pointer.
+ A new void pointer that reflects the subtraction of offset from the specified pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of byte offset from pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of byte offset from pointer.
+
+
+ Returns a to a boxed value.
+ The value to unbox.
+ The type to be unboxed.
+
+ is , and is a non-nullable value type.
+
+ is not a boxed value type.
+
+-or-
+
+ is not a boxed .
+
+ cannot be found.
+ A to the boxed value .
+
+
+ Writes a value of type to the given location.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000..999abc7
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml
new file mode 100644
index 0000000..9d79492
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml
@@ -0,0 +1,291 @@
+
+
+
+ System.Runtime.CompilerServices.Unsafe
+
+
+
+ Contains generic, low-level functionality for manipulating pointers.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given void pointer.
+ The void pointer to add the offset to.
+ The offset to add.
+ The type of void pointer.
+ A new void pointer that reflects the addition of offset to the specified pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Determines whether the specified references point to the same location.
+ The first reference to compare.
+ The second reference to compare.
+ The type of reference.
+
+ if and point to the same location; otherwise, .
+
+
+ Casts the given object to the specified type.
+ The object to cast.
+ The type which the object will be cast to.
+ The original object, casted to the given type.
+
+
+ Reinterprets the given reference as a reference to a value of type .
+ The reference to reinterpret.
+ The type of reference to reinterpret.
+ The desired type of the reference.
+ A reference to a value of type .
+
+
+ Returns a pointer to the given by-ref parameter.
+ The object whose pointer is obtained.
+ The type of object.
+ A pointer to the given value.
+
+
+ Reinterprets the given read-only reference as a reference.
+ The read-only reference to reinterpret.
+ The type of reference.
+ A reference to a value of type .
+
+
+ Reinterprets the given location as a reference to a value of type .
+ The location of the value to reference.
+ The type of the interpreted location.
+ A reference to a value of type .
+
+
+ Determines the byte offset from origin to target from the given references.
+ The reference to origin.
+ The reference to target.
+ The type of reference.
+ Byte offset from origin to target i.e. - .
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A pointer to the value to copy.
+ The type of value to copy.
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A reference to the value to copy.
+ The type of value to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Returns a value that indicates whether a specified reference is greater than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is greater than ; otherwise, .
+
+
+ Returns a value that indicates whether a specified reference is less than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is less than ; otherwise, .
+
+
+ Determines if a given reference to a value of type is a null reference.
+ The reference to check.
+ The type of the reference.
+
+ if is a null reference; otherwise, .
+
+
+ Returns a reference to a value of type that is a null reference.
+ The type of the reference.
+ A reference to a value of type that is a null reference.
+
+
+ Reads a value of type from the given location.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Returns the size of an object of the given type parameter.
+ The type of object whose size is retrieved.
+ The size of an object of type .
+
+
+ Bypasses definite assignment rules for a given value.
+ The uninitialized object.
+ The type of the uninitialized object.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of offset from pointer.
+
+
+ Subtracts an element offset from the given void pointer.
+ The void pointer to subtract the offset from.
+ The offset to subtract.
+ The type of the void pointer.
+ A new void pointer that reflects the subtraction of offset from the specified pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of byte offset from pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of byte offset from pointer.
+
+
+ Returns a to a boxed value.
+ The value to unbox.
+ The type to be unboxed.
+
+ is , and is a non-nullable value type.
+
+ is not a boxed value type.
+
+-or-
+
+ is not a boxed .
+
+ cannot be found.
+ A to the boxed value .
+
+
+ Writes a value of type to the given location.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000..103462b
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml
new file mode 100644
index 0000000..9d79492
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml
@@ -0,0 +1,291 @@
+
+
+
+ System.Runtime.CompilerServices.Unsafe
+
+
+
+ Contains generic, low-level functionality for manipulating pointers.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given void pointer.
+ The void pointer to add the offset to.
+ The offset to add.
+ The type of void pointer.
+ A new void pointer that reflects the addition of offset to the specified pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Determines whether the specified references point to the same location.
+ The first reference to compare.
+ The second reference to compare.
+ The type of reference.
+
+ if and point to the same location; otherwise, .
+
+
+ Casts the given object to the specified type.
+ The object to cast.
+ The type which the object will be cast to.
+ The original object, casted to the given type.
+
+
+ Reinterprets the given reference as a reference to a value of type .
+ The reference to reinterpret.
+ The type of reference to reinterpret.
+ The desired type of the reference.
+ A reference to a value of type .
+
+
+ Returns a pointer to the given by-ref parameter.
+ The object whose pointer is obtained.
+ The type of object.
+ A pointer to the given value.
+
+
+ Reinterprets the given read-only reference as a reference.
+ The read-only reference to reinterpret.
+ The type of reference.
+ A reference to a value of type .
+
+
+ Reinterprets the given location as a reference to a value of type .
+ The location of the value to reference.
+ The type of the interpreted location.
+ A reference to a value of type .
+
+
+ Determines the byte offset from origin to target from the given references.
+ The reference to origin.
+ The reference to target.
+ The type of reference.
+ Byte offset from origin to target i.e. - .
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A pointer to the value to copy.
+ The type of value to copy.
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A reference to the value to copy.
+ The type of value to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Returns a value that indicates whether a specified reference is greater than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is greater than ; otherwise, .
+
+
+ Returns a value that indicates whether a specified reference is less than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is less than ; otherwise, .
+
+
+ Determines if a given reference to a value of type is a null reference.
+ The reference to check.
+ The type of the reference.
+
+ if is a null reference; otherwise, .
+
+
+ Returns a reference to a value of type that is a null reference.
+ The type of the reference.
+ A reference to a value of type that is a null reference.
+
+
+ Reads a value of type from the given location.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Returns the size of an object of the given type parameter.
+ The type of object whose size is retrieved.
+ The size of an object of type .
+
+
+ Bypasses definite assignment rules for a given value.
+ The uninitialized object.
+ The type of the uninitialized object.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of offset from pointer.
+
+
+ Subtracts an element offset from the given void pointer.
+ The void pointer to subtract the offset from.
+ The offset to subtract.
+ The type of the void pointer.
+ A new void pointer that reflects the subtraction of offset from the specified pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of byte offset from pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of byte offset from pointer.
+
+
+ Returns a to a boxed value.
+ The value to unbox.
+ The type to be unboxed.
+
+ is , and is a non-nullable value type.
+
+ is not a boxed value type.
+
+-or-
+
+ is not a boxed .
+
+ cannot be found.
+ A to the boxed value .
+
+
+ Writes a value of type to the given location.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll
new file mode 100644
index 0000000..491a80a
Binary files /dev/null and b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll differ
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml
new file mode 100644
index 0000000..9d79492
--- /dev/null
+++ b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml
@@ -0,0 +1,291 @@
+
+
+
+ System.Runtime.CompilerServices.Unsafe
+
+
+
+ Contains generic, low-level functionality for manipulating pointers.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of offset to pointer.
+
+
+ Adds an element offset to the given void pointer.
+ The void pointer to add the offset to.
+ The offset to add.
+ The type of void pointer.
+ A new void pointer that reflects the addition of offset to the specified pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Adds a byte offset to the given reference.
+ The reference to add the offset to.
+ The offset to add.
+ The type of reference.
+ A new reference that reflects the addition of byte offset to pointer.
+
+
+ Determines whether the specified references point to the same location.
+ The first reference to compare.
+ The second reference to compare.
+ The type of reference.
+
+ if and point to the same location; otherwise, .
+
+
+ Casts the given object to the specified type.
+ The object to cast.
+ The type which the object will be cast to.
+ The original object, casted to the given type.
+
+
+ Reinterprets the given reference as a reference to a value of type .
+ The reference to reinterpret.
+ The type of reference to reinterpret.
+ The desired type of the reference.
+ A reference to a value of type .
+
+
+ Returns a pointer to the given by-ref parameter.
+ The object whose pointer is obtained.
+ The type of object.
+ A pointer to the given value.
+
+
+ Reinterprets the given read-only reference as a reference.
+ The read-only reference to reinterpret.
+ The type of reference.
+ A reference to a value of type .
+
+
+ Reinterprets the given location as a reference to a value of type .
+ The location of the value to reference.
+ The type of the interpreted location.
+ A reference to a value of type .
+
+
+ Determines the byte offset from origin to target from the given references.
+ The reference to origin.
+ The reference to target.
+ The type of reference.
+ Byte offset from origin to target i.e. - .
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A pointer to the value to copy.
+ The type of value to copy.
+
+
+ Copies a value of type to the given location.
+ The location to copy to.
+ A reference to the value to copy.
+ The type of value to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.
+ The destination address to copy to.
+ The source address to copy from.
+ The number of bytes to copy.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.
+ The address of the start of the memory block to initialize.
+ The value to initialize the block to.
+ The number of bytes to initialize.
+
+
+ Returns a value that indicates whether a specified reference is greater than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is greater than ; otherwise, .
+
+
+ Returns a value that indicates whether a specified reference is less than another specified reference.
+ The first value to compare.
+ The second value to compare.
+ The type of the reference.
+
+ if is less than ; otherwise, .
+
+
+ Determines if a given reference to a value of type is a null reference.
+ The reference to check.
+ The type of the reference.
+
+ if is a null reference; otherwise, .
+
+
+ Returns a reference to a value of type that is a null reference.
+ The type of the reference.
+ A reference to a value of type that is a null reference.
+
+
+ Reads a value of type from the given location.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Reads a value of type from the given location without assuming architecture dependent alignment of the addresses.
+ The location to read from.
+ The type to read.
+ An object of type read from the given location.
+
+
+ Returns the size of an object of the given type parameter.
+ The type of object whose size is retrieved.
+ The size of an object of type .
+
+
+ Bypasses definite assignment rules for a given value.
+ The uninitialized object.
+ The type of the uninitialized object.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of offset from pointer.
+
+
+ Subtracts an element offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of offset from pointer.
+
+
+ Subtracts an element offset from the given void pointer.
+ The void pointer to subtract the offset from.
+ The offset to subtract.
+ The type of the void pointer.
+ A new void pointer that reflects the subtraction of offset from the specified pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subtraction of byte offset from pointer.
+
+
+ Subtracts a byte offset from the given reference.
+ The reference to subtract the offset from.
+ The offset to subtract.
+ The type of reference.
+ A new reference that reflects the subraction of byte offset from pointer.
+
+
+ Returns a to a boxed value.
+ The value to unbox.
+ The type to be unboxed.
+
+ is , and is a non-nullable value type.
+
+ is not a boxed value type.
+
+-or-
+
+ is not a boxed .
+
+ cannot be found.
+ A to the boxed value .
+
+
+ Writes a value of type to the given location.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+ Writes a value of type to the given location without assuming architecture dependent alignment of the addresses.
+ The location to write to.
+ The value to write.
+ The type of value to write.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt b/packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Channels.8.0.0/.signature.p7s b/packages/System.Threading.Channels.8.0.0/.signature.p7s
new file mode 100644
index 0000000..d0a2036
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/.signature.p7s differ
diff --git a/packages/System.Threading.Channels.8.0.0/Icon.png b/packages/System.Threading.Channels.8.0.0/Icon.png
new file mode 100644
index 0000000..a0f1fdb
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/Icon.png differ
diff --git a/packages/System.Threading.Channels.8.0.0/LICENSE.TXT b/packages/System.Threading.Channels.8.0.0/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Threading.Channels.8.0.0/PACKAGE.md b/packages/System.Threading.Channels.8.0.0/PACKAGE.md
new file mode 100644
index 0000000..f022aaf
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/PACKAGE.md
@@ -0,0 +1,73 @@
+## About
+
+
+
+The `System.Threading.Channels` library provides types for passing data asynchronously between producers and consumers.
+
+## Key Features
+
+
+
+* Abstractions representing channels for one or more producers to publish data to one or more consumers
+* APIs focused on asynchronous production and consumption of data
+* Factory methods for producing multiple kinds of channels
+
+## How to Use
+
+
+
+```C#
+using System;
+using System.Threading.Channels;
+using System.Threading.Tasks;
+
+Channel channel = Channel.CreateUnbounded();
+
+Task producer = Task.Run(async () =>
+{
+ int i = 0;
+ while (true)
+ {
+ channel.Writer.TryWrite(i++);
+ await Task.Delay(TimeSpan.FromSeconds(1));
+ }
+});
+
+Task consumer = Task.Run(async () =>
+{
+ await foreach (int value in channel.Reader.ReadAllAsync())
+ {
+ Console.WriteLine(value);
+ }
+});
+
+await Task.WhenAll(producer, consumer);
+```
+
+## Main Types
+
+
+
+The main types provided by this library are:
+
+* `System.Threading.Channel`
+* `System.Threading.Channel`
+
+## Additional Documentation
+
+
+
+* [Overview](https://devblogs.microsoft.com/dotnet/an-introduction-to-system-threading-channels/)
+* [API documentation](https://learn.microsoft.com/dotnet/api/system.threading.channels)
+
+## Related Packages
+
+
+
+https://www.nuget.org/packages/System.Threading.Tasks.Dataflow/
+
+## Feedback & Contributing
+
+
+
+System.Threading.Channels is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/System.Threading.Channels.8.0.0.nupkg b/packages/System.Threading.Channels.8.0.0/System.Threading.Channels.8.0.0.nupkg
new file mode 100644
index 0000000..e61d32b
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/System.Threading.Channels.8.0.0.nupkg differ
diff --git a/packages/System.Threading.Channels.8.0.0/THIRD-PARTY-NOTICES.TXT b/packages/System.Threading.Channels.8.0.0/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..4b40333
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,1272 @@
+.NET Runtime uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Runtime software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for ASP.NET
+-------------------------------
+
+Copyright (c) .NET Foundation. All rights reserved.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+https://www.unicode.org/license.html
+
+Copyright © 1991-2022 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+https://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.13, October 13th, 2022
+
+ Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
+License notice for Json.NET
+-------------------------------
+
+https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md
+
+The MIT License (MIT)
+
+Copyright (c) 2007 James Newton-King
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized base64 encoding / decoding
+--------------------------------------------------------
+
+Copyright (c) 2005-2007, Nick Galbreath
+Copyright (c) 2013-2017, Alfred Klomp
+Copyright (c) 2015-2017, Wojciech Mula
+Copyright (c) 2016-2017, Matthieu Darbois
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for vectorized hex parsing
+--------------------------------------------------------
+
+Copyright (c) 2022, Geoff Langdale
+Copyright (c) 2022, Wojciech Mula
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+- Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for RFC 3492
+---------------------------
+
+The punycode implementation is based on the sample code in RFC 3492
+
+Copyright (C) The Internet Society (2003). All Rights Reserved.
+
+This document and translations of it may be copied and furnished to
+others, and derivative works that comment on or otherwise explain it
+or assist in its implementation may be prepared, copied, published
+and distributed, in whole or in part, without restriction of any
+kind, provided that the above copyright notice and this paragraph are
+included on all such copies and derivative works. However, this
+document itself may not be modified in any way, such as by removing
+the copyright notice or references to the Internet Society or other
+Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for
+copyrights defined in the Internet Standards process must be
+followed, or as required to translate it into languages other than
+English.
+
+The limited permissions granted above are perpetual and will not be
+revoked by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an
+"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Copyright(C) The Internet Society 1997. All Rights Reserved.
+
+This document and translations of it may be copied and furnished to others,
+and derivative works that comment on or otherwise explain it or assist in
+its implementation may be prepared, copied, published and distributed, in
+whole or in part, without restriction of any kind, provided that the above
+copyright notice and this paragraph are included on all such copies and
+derivative works.However, this document itself may not be modified in any
+way, such as by removing the copyright notice or references to the Internet
+Society or other Internet organizations, except as needed for the purpose of
+developing Internet standards in which case the procedures for copyrights
+defined in the Internet Standards process must be followed, or as required
+to translate it into languages other than English.
+
+The limited permissions granted above are perpetual and will not be revoked
+by the Internet Society or its successors or assigns.
+
+This document and the information contained herein is provided on an "AS IS"
+basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE
+DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY
+RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
+PARTICULAR PURPOSE.
+
+License notice for Algorithm from RFC 4122 -
+A Universally Unique IDentifier (UUID) URN Namespace
+----------------------------------------------------
+
+Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc.
+Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &
+Digital Equipment Corporation, Maynard, Mass.
+Copyright (c) 1998 Microsoft.
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty: permission to use, copy,
+modify, and distribute this file for any purpose is hereby
+granted without fee, provided that the above copyright notices and
+this notice appears in all source code copies, and that none of
+the names of Open Software Foundation, Inc., Hewlett-Packard
+Company, Microsoft, or Digital Equipment Corporation be used in
+advertising or publicity pertaining to distribution of the software
+without specific, written prior permission. Neither Open Software
+Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital
+Equipment Corporation makes any representations about the
+suitability of this software for any purpose."
+
+License notice for The LLVM Compiler Infrastructure (Legacy License)
+--------------------------------------------------------------------
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+License notice for Bob Jenkins
+------------------------------
+
+By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this
+code any way you wish, private, educational, or commercial. It's free.
+
+License notice for Greg Parker
+------------------------------
+
+Greg Parker gparker@cs.stanford.edu December 2000
+This code is in the public domain and may be copied or modified without
+permission.
+
+License notice for libunwind based code
+----------------------------------------
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for Printing Floating-Point Numbers (Dragon4)
+------------------------------------------------------------
+
+/******************************************************************************
+ Copyright (c) 2014 Ryan Juckett
+ http://www.ryanjuckett.com/
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source
+ distribution.
+******************************************************************************/
+
+License notice for Printing Floating-point Numbers (Grisu3)
+-----------------------------------------------------------
+
+Copyright 2012 the V8 project authors. All rights reserved.
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+ * Neither the name of Google Inc. nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xxHash
+-------------------------
+
+xxHash - Extremely Fast Hash algorithm
+Header File
+Copyright (C) 2012-2021 Yann Collet
+
+BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+You can contact the author at:
+ - xxHash homepage: https://www.xxhash.com
+ - xxHash source repository: https://github.com/Cyan4973/xxHash
+
+License notice for Berkeley SoftFloat Release 3e
+------------------------------------------------
+
+https://github.com/ucb-bar/berkeley-softfloat-3
+https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt
+
+License for Berkeley SoftFloat Release 3e
+
+John R. Hauser
+2018 January 20
+
+The following applies to the whole of SoftFloat Release 3e as well as to
+each source file individually.
+
+Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the
+University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions, and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions, and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
+DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for xoshiro RNGs
+--------------------------------
+
+Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+To the extent possible under law, the author has dedicated all copyright
+and related and neighboring rights to this software to the public domain
+worldwide. This software is distributed without any warranty.
+
+See .
+
+License for fastmod (https://github.com/lemire/fastmod), ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) and fastrange (https://github.com/lemire/fastrange)
+--------------------------------------
+
+ Copyright 2018 Daniel Lemire
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+License for sse4-strstr (https://github.com/WojciechMula/sse4-strstr)
+--------------------------------------
+
+ Copyright (c) 2008-2016, Wojciech Mula
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for The C++ REST SDK
+-----------------------------------
+
+C++ REST SDK
+
+The MIT License (MIT)
+
+Copyright (c) Microsoft Corporation
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MessagePack-CSharp
+-------------------------------------
+
+MessagePack for C#
+
+MIT License
+
+Copyright (c) 2017 Yoshifumi Kawai
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for lz4net
+-------------------------------------
+
+lz4net
+
+Copyright (c) 2013-2017, Milosz Krajewski
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Nerdbank.Streams
+-----------------------------------
+
+The MIT License (MIT)
+
+Copyright (c) Andrew Arnott
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for RapidJSON
+----------------------------
+
+Tencent is pleased to support the open source community by making RapidJSON available.
+
+Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.
+
+Licensed under the MIT License (the "License"); you may not use this file except
+in compliance with the License. You may obtain a copy of the License at
+
+http://opensource.org/licenses/MIT
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+License notice for DirectX Math Library
+---------------------------------------
+
+https://github.com/microsoft/DirectXMath/blob/master/LICENSE
+
+ The MIT License (MIT)
+
+Copyright (c) 2011-2020 Microsoft Corp
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this
+software and associated documentation files (the "Software"), to deal in the Software
+without restriction, including without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be included in all copies
+or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
+OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for ldap4net
+---------------------------
+
+The MIT License (MIT)
+
+Copyright (c) 2018 Alexander Chermyanin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for vectorized sorting code
+------------------------------------------
+
+MIT License
+
+Copyright (c) 2020 Dan Shechter
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for musl
+-----------------------
+
+musl as a whole is licensed under the following standard MIT license:
+
+Copyright © 2005-2020 Rich Felker, et al.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+License notice for "Faster Unsigned Division by Constants"
+------------------------------
+
+Reference implementations of computing and using the "magic number" approach to dividing
+by constants, including codegen instructions. The unsigned division incorporates the
+"round down" optimization per ridiculous_fish.
+
+This is free and unencumbered software. Any copyright is dedicated to the Public Domain.
+
+
+License notice for mimalloc
+-----------------------------------
+
+MIT License
+
+Copyright (c) 2019 Microsoft Corporation, Daan Leijen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for The LLVM Project
+-----------------------------------
+
+Copyright 2019 LLVM Project
+
+Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions;
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+https://llvm.org/LICENSE.txt
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for Apple header files
+-------------------------------------
+
+Copyright (c) 1980, 1986, 1993
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+License notice for JavaScript queues
+-------------------------------------
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
+
+Statement of Purpose
+The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
+Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
+For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
+the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
+moral rights retained by the original author(s) and/or performer(s);
+publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
+rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
+rights protecting the extraction, dissemination, use and reuse of data in a Work;
+database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
+other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
+2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
+3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
+4. Limitations and Disclaimers.
+a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
+b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
+c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
+d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.
+
+
+License notice for FastFloat algorithm
+-------------------------------------
+MIT License
+Copyright (c) 2021 csFastFloat authors
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+License notice for MsQuic
+--------------------------------------
+
+Copyright (c) Microsoft Corporation.
+Licensed under the MIT License.
+
+Available at
+https://github.com/microsoft/msquic/blob/main/LICENSE
+
+License notice for m-ou-se/floatconv
+-------------------------------
+
+Copyright (c) 2020 Mara Bos
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for code from The Practice of Programming
+-------------------------------
+
+Copyright (C) 1999 Lucent Technologies
+
+Excerpted from 'The Practice of Programming
+by Brian W. Kernighan and Rob Pike
+
+You may use this code for any purpose, as long as you leave the copyright notice and book citation attached.
+
+Notice for Euclidean Affine Functions and Applications to Calendar
+Algorithms
+-------------------------------
+
+Aspects of Date/Time processing based on algorithm described in "Euclidean Affine Functions and Applications to Calendar
+Algorithms", Cassio Neri and Lorenz Schneider. https://arxiv.org/pdf/2102.06959.pdf
+
+License notice for amd/aocl-libm-ose
+-------------------------------
+
+Copyright (C) 2008-2020 Advanced Micro Devices, Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+3. Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+License notice for fmtlib/fmt
+-------------------------------
+
+Formatting library for C++
+
+Copyright (c) 2012 - present, Victor Zverovich
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License for Jb Evain
+---------------------
+
+Copyright (c) 2006 Jb Evain (jbevain@gmail.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+--- Optional exception to the license ---
+
+As an exception, if, as a result of your compiling your source code, portions
+of this Software are embedded into a machine-executable object form of such
+source code, you may redistribute such embedded portions in such object form
+without including the above copyright and permission notices.
+
+
+License for MurmurHash3
+--------------------------------------
+
+https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp
+
+MurmurHash3 was written by Austin Appleby, and is placed in the public
+domain. The author hereby disclaims copyright to this source
+
+License for Fast CRC Computation
+--------------------------------------
+
+https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc32_ieee_by4.asm
+https://github.com/intel/isa-l/blob/33a2d9484595c2d6516c920ce39a694c144ddf69/crc/crc64_ecma_norm_by8.asm
+
+Copyright(c) 2011-2015 Intel Corporation All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of Intel Corporation nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License for C# Implementation of Fast CRC Computation
+-----------------------------------------------------
+
+https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/src/ImageSharp/Formats/Png/Zlib/Crc32.cs
+
+Copyright (c) Six Labors.
+Licensed under the Apache License, Version 2.0.
+
+Available at
+https://github.com/SixLabors/ImageSharp/blob/f4f689ce67ecbcc35cebddba5aacb603e6d1068a/LICENSE
diff --git a/packages/System.Threading.Channels.8.0.0/buildTransitive/net461/System.Threading.Channels.targets b/packages/System.Threading.Channels.8.0.0/buildTransitive/net461/System.Threading.Channels.targets
new file mode 100644
index 0000000..d44f701
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/buildTransitive/net461/System.Threading.Channels.targets
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/packages/System.Threading.Channels.8.0.0/buildTransitive/net462/_._ b/packages/System.Threading.Channels.8.0.0/buildTransitive/net462/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Channels.8.0.0/buildTransitive/net6.0/_._ b/packages/System.Threading.Channels.8.0.0/buildTransitive/net6.0/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Channels.8.0.0/buildTransitive/netcoreapp2.0/System.Threading.Channels.targets b/packages/System.Threading.Channels.8.0.0/buildTransitive/netcoreapp2.0/System.Threading.Channels.targets
new file mode 100644
index 0000000..0010c2a
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/buildTransitive/netcoreapp2.0/System.Threading.Channels.targets
@@ -0,0 +1,6 @@
+
+
+
+
+
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.dll b/packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.dll
new file mode 100644
index 0000000..fee8f5a
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.dll differ
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.xml b/packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.xml
new file mode 100644
index 0000000..20275dc
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/lib/net462/System.Threading.Channels.xml
@@ -0,0 +1,243 @@
+
+
+
+ System.Threading.Channels
+
+
+
+ Specifies the behavior to use when writing to a bounded channel that is already full.
+
+
+ Removes and ignores the newest item in the channel in order to make room for the item being written.
+
+
+ Removes and ignores the oldest item in the channel in order to make room for the item being written.
+
+
+ Drops the item being written.
+
+
+ Waits for space to be available in order to complete the write operation.
+
+
+ Provides options that control the behavior of bounded instances.
+
+
+ Initializes the options.
+ The maximum number of items the bounded channel may store.
+
+
+ Gets or sets the maximum number of items the bounded channel may store.
+
+
+ Gets or sets the behavior incurred by write operations when the channel is full.
+
+
+ Provides static methods for creating channels.
+
+
+ Creates a channel with the specified maximum capacity.
+ The maximum number of items the channel may store.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel with the specified maximum capacity.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Delegate that will be called when item is being dropped from channel. See .
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel usable by any number of readers and writers concurrently.
+ The type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Provides a base class for channels that support reading and writing elements of type .
+ Specifies the type of data readable and writable in the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Provides a base class for channels that support reading elements of type and writing elements of type .
+ Specifies the type of data that may be written to the channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Implicit cast from a to its readable half.
+ The being cast.
+ The readable half.
+
+
+ Implicit cast from a to its writable half.
+ The being cast.
+ The writable half.
+
+
+ Gets the readable half of this channel.
+
+
+ Gets the writable half of this channel.
+
+
+ Exception thrown when a channel is used after it's been closed.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The exception that is the cause of this exception.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of this exception.
+
+
+ Provides options that control the behavior of channel instances.
+
+
+ Initializes an instance of the class.
+
+
+
+ if operations performed on a channel may synchronously invoke continuations subscribed to
+ notifications of pending async operations; if all continuations should be invoked asynchronously.
+
+
+
+ readers from the channel guarantee that there will only ever be at most one read operation at a time;
+ if no such constraint is guaranteed.
+
+
+
+ if writers to the channel guarantee that there will only ever be at most one write operation
+ at a time; if no such constraint is guaranteed.
+
+
+ Provides a base class for reading from a channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Creates an that enables reading all of the data from the channel.
+ The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested.
+ The created async enumerable.
+
+
+ Asynchronously reads an item from the channel.
+ A used to cancel the read operation.
+ A that represents the asynchronous read operation.
+
+
+ Attempts to peek at an item from the channel.
+ The peeked item, or a default value if no item could be peeked.
+
+ if an item was read; otherwise, .
+
+
+ Attempts to read an item from the channel.
+ The read item, or a default value if no item could be read.
+
+ if an item was read; otherwise, .
+
+
+ Returns a that will complete when data is available to read.
+ A used to cancel the wait operation.
+
+ A that will complete with a result when data is available to read
+ or with a result when no further data will ever be available to be read due to the channel completing successfully.
+ If the channel completes with an exception, the task will also complete with an exception.
+
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+ if peeking is supported by this channel instance; otherwise.
+
+
+ Gets a that completes when no more data will ever
+ be available to be read from this channel.
+
+
+ Gets the current number of items available from this channel reader.
+ Counting is not supported on this instance.
+
+
+ Provides a base class for writing to a channel.
+ Specifies the type of data that may be written to the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Mark the channel as being complete, meaning no more items will be written to it.
+ Optional Exception indicating a failure that's causing the channel to complete.
+ The channel has already been marked as complete.
+
+
+ Attempts to mark the channel as being completed, meaning no more data will be written to it.
+ An indicating the failure causing no more data to be written, or null for success.
+
+ if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion,
+ for example due to having already been marked as such, or due to not supporting completion.
+ .
+
+
+ Attempts to write the specified item to the channel.
+ The item to write.
+
+ if the item was written; otherwise, .
+
+
+ Returns a that will complete when space is available to write an item.
+ A used to cancel the wait operation.
+ A that will complete with a result when space is available to write an item
+ or with a result when no further writing will be permitted.
+
+
+ Asynchronously writes an item to the channel.
+ The value to write to the channel.
+ A used to cancel the write operation.
+ A that represents the asynchronous write operation.
+
+
+ Provides options that control the behavior of unbounded instances.
+
+
+ Initializes a new instance of the class.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.dll b/packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.dll
new file mode 100644
index 0000000..e3485e9
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.dll differ
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.xml b/packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.xml
new file mode 100644
index 0000000..20275dc
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/lib/net6.0/System.Threading.Channels.xml
@@ -0,0 +1,243 @@
+
+
+
+ System.Threading.Channels
+
+
+
+ Specifies the behavior to use when writing to a bounded channel that is already full.
+
+
+ Removes and ignores the newest item in the channel in order to make room for the item being written.
+
+
+ Removes and ignores the oldest item in the channel in order to make room for the item being written.
+
+
+ Drops the item being written.
+
+
+ Waits for space to be available in order to complete the write operation.
+
+
+ Provides options that control the behavior of bounded instances.
+
+
+ Initializes the options.
+ The maximum number of items the bounded channel may store.
+
+
+ Gets or sets the maximum number of items the bounded channel may store.
+
+
+ Gets or sets the behavior incurred by write operations when the channel is full.
+
+
+ Provides static methods for creating channels.
+
+
+ Creates a channel with the specified maximum capacity.
+ The maximum number of items the channel may store.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel with the specified maximum capacity.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Delegate that will be called when item is being dropped from channel. See .
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel usable by any number of readers and writers concurrently.
+ The type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Provides a base class for channels that support reading and writing elements of type .
+ Specifies the type of data readable and writable in the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Provides a base class for channels that support reading elements of type and writing elements of type .
+ Specifies the type of data that may be written to the channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Implicit cast from a to its readable half.
+ The being cast.
+ The readable half.
+
+
+ Implicit cast from a to its writable half.
+ The being cast.
+ The writable half.
+
+
+ Gets the readable half of this channel.
+
+
+ Gets the writable half of this channel.
+
+
+ Exception thrown when a channel is used after it's been closed.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The exception that is the cause of this exception.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of this exception.
+
+
+ Provides options that control the behavior of channel instances.
+
+
+ Initializes an instance of the class.
+
+
+
+ if operations performed on a channel may synchronously invoke continuations subscribed to
+ notifications of pending async operations; if all continuations should be invoked asynchronously.
+
+
+
+ readers from the channel guarantee that there will only ever be at most one read operation at a time;
+ if no such constraint is guaranteed.
+
+
+
+ if writers to the channel guarantee that there will only ever be at most one write operation
+ at a time; if no such constraint is guaranteed.
+
+
+ Provides a base class for reading from a channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Creates an that enables reading all of the data from the channel.
+ The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested.
+ The created async enumerable.
+
+
+ Asynchronously reads an item from the channel.
+ A used to cancel the read operation.
+ A that represents the asynchronous read operation.
+
+
+ Attempts to peek at an item from the channel.
+ The peeked item, or a default value if no item could be peeked.
+
+ if an item was read; otherwise, .
+
+
+ Attempts to read an item from the channel.
+ The read item, or a default value if no item could be read.
+
+ if an item was read; otherwise, .
+
+
+ Returns a that will complete when data is available to read.
+ A used to cancel the wait operation.
+
+ A that will complete with a result when data is available to read
+ or with a result when no further data will ever be available to be read due to the channel completing successfully.
+ If the channel completes with an exception, the task will also complete with an exception.
+
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+ if peeking is supported by this channel instance; otherwise.
+
+
+ Gets a that completes when no more data will ever
+ be available to be read from this channel.
+
+
+ Gets the current number of items available from this channel reader.
+ Counting is not supported on this instance.
+
+
+ Provides a base class for writing to a channel.
+ Specifies the type of data that may be written to the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Mark the channel as being complete, meaning no more items will be written to it.
+ Optional Exception indicating a failure that's causing the channel to complete.
+ The channel has already been marked as complete.
+
+
+ Attempts to mark the channel as being completed, meaning no more data will be written to it.
+ An indicating the failure causing no more data to be written, or null for success.
+
+ if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion,
+ for example due to having already been marked as such, or due to not supporting completion.
+ .
+
+
+ Attempts to write the specified item to the channel.
+ The item to write.
+
+ if the item was written; otherwise, .
+
+
+ Returns a that will complete when space is available to write an item.
+ A used to cancel the wait operation.
+ A that will complete with a result when space is available to write an item
+ or with a result when no further writing will be permitted.
+
+
+ Asynchronously writes an item to the channel.
+ The value to write to the channel.
+ A used to cancel the write operation.
+ A that represents the asynchronous write operation.
+
+
+ Provides options that control the behavior of unbounded instances.
+
+
+ Initializes a new instance of the class.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.dll b/packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.dll
new file mode 100644
index 0000000..9be9e31
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.dll differ
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.xml b/packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.xml
new file mode 100644
index 0000000..20275dc
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/lib/net7.0/System.Threading.Channels.xml
@@ -0,0 +1,243 @@
+
+
+
+ System.Threading.Channels
+
+
+
+ Specifies the behavior to use when writing to a bounded channel that is already full.
+
+
+ Removes and ignores the newest item in the channel in order to make room for the item being written.
+
+
+ Removes and ignores the oldest item in the channel in order to make room for the item being written.
+
+
+ Drops the item being written.
+
+
+ Waits for space to be available in order to complete the write operation.
+
+
+ Provides options that control the behavior of bounded instances.
+
+
+ Initializes the options.
+ The maximum number of items the bounded channel may store.
+
+
+ Gets or sets the maximum number of items the bounded channel may store.
+
+
+ Gets or sets the behavior incurred by write operations when the channel is full.
+
+
+ Provides static methods for creating channels.
+
+
+ Creates a channel with the specified maximum capacity.
+ The maximum number of items the channel may store.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel with the specified maximum capacity.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Delegate that will be called when item is being dropped from channel. See .
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel usable by any number of readers and writers concurrently.
+ The type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Provides a base class for channels that support reading and writing elements of type .
+ Specifies the type of data readable and writable in the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Provides a base class for channels that support reading elements of type and writing elements of type .
+ Specifies the type of data that may be written to the channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Implicit cast from a to its readable half.
+ The being cast.
+ The readable half.
+
+
+ Implicit cast from a to its writable half.
+ The being cast.
+ The writable half.
+
+
+ Gets the readable half of this channel.
+
+
+ Gets the writable half of this channel.
+
+
+ Exception thrown when a channel is used after it's been closed.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The exception that is the cause of this exception.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of this exception.
+
+
+ Provides options that control the behavior of channel instances.
+
+
+ Initializes an instance of the class.
+
+
+
+ if operations performed on a channel may synchronously invoke continuations subscribed to
+ notifications of pending async operations; if all continuations should be invoked asynchronously.
+
+
+
+ readers from the channel guarantee that there will only ever be at most one read operation at a time;
+ if no such constraint is guaranteed.
+
+
+
+ if writers to the channel guarantee that there will only ever be at most one write operation
+ at a time; if no such constraint is guaranteed.
+
+
+ Provides a base class for reading from a channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Creates an that enables reading all of the data from the channel.
+ The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested.
+ The created async enumerable.
+
+
+ Asynchronously reads an item from the channel.
+ A used to cancel the read operation.
+ A that represents the asynchronous read operation.
+
+
+ Attempts to peek at an item from the channel.
+ The peeked item, or a default value if no item could be peeked.
+
+ if an item was read; otherwise, .
+
+
+ Attempts to read an item from the channel.
+ The read item, or a default value if no item could be read.
+
+ if an item was read; otherwise, .
+
+
+ Returns a that will complete when data is available to read.
+ A used to cancel the wait operation.
+
+ A that will complete with a result when data is available to read
+ or with a result when no further data will ever be available to be read due to the channel completing successfully.
+ If the channel completes with an exception, the task will also complete with an exception.
+
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+ if peeking is supported by this channel instance; otherwise.
+
+
+ Gets a that completes when no more data will ever
+ be available to be read from this channel.
+
+
+ Gets the current number of items available from this channel reader.
+ Counting is not supported on this instance.
+
+
+ Provides a base class for writing to a channel.
+ Specifies the type of data that may be written to the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Mark the channel as being complete, meaning no more items will be written to it.
+ Optional Exception indicating a failure that's causing the channel to complete.
+ The channel has already been marked as complete.
+
+
+ Attempts to mark the channel as being completed, meaning no more data will be written to it.
+ An indicating the failure causing no more data to be written, or null for success.
+
+ if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion,
+ for example due to having already been marked as such, or due to not supporting completion.
+ .
+
+
+ Attempts to write the specified item to the channel.
+ The item to write.
+
+ if the item was written; otherwise, .
+
+
+ Returns a that will complete when space is available to write an item.
+ A used to cancel the wait operation.
+ A that will complete with a result when space is available to write an item
+ or with a result when no further writing will be permitted.
+
+
+ Asynchronously writes an item to the channel.
+ The value to write to the channel.
+ A used to cancel the write operation.
+ A that represents the asynchronous write operation.
+
+
+ Provides options that control the behavior of unbounded instances.
+
+
+ Initializes a new instance of the class.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.dll b/packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.dll
new file mode 100644
index 0000000..54b2b67
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.dll differ
diff --git a/packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.xml b/packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.xml
new file mode 100644
index 0000000..20275dc
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/lib/net8.0/System.Threading.Channels.xml
@@ -0,0 +1,243 @@
+
+
+
+ System.Threading.Channels
+
+
+
+ Specifies the behavior to use when writing to a bounded channel that is already full.
+
+
+ Removes and ignores the newest item in the channel in order to make room for the item being written.
+
+
+ Removes and ignores the oldest item in the channel in order to make room for the item being written.
+
+
+ Drops the item being written.
+
+
+ Waits for space to be available in order to complete the write operation.
+
+
+ Provides options that control the behavior of bounded instances.
+
+
+ Initializes the options.
+ The maximum number of items the bounded channel may store.
+
+
+ Gets or sets the maximum number of items the bounded channel may store.
+
+
+ Gets or sets the behavior incurred by write operations when the channel is full.
+
+
+ Provides static methods for creating channels.
+
+
+ Creates a channel with the specified maximum capacity.
+ The maximum number of items the channel may store.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel with the specified maximum capacity.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Delegate that will be called when item is being dropped from channel. See .
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel usable by any number of readers and writers concurrently.
+ The type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Provides a base class for channels that support reading and writing elements of type .
+ Specifies the type of data readable and writable in the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Provides a base class for channels that support reading elements of type and writing elements of type .
+ Specifies the type of data that may be written to the channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Implicit cast from a to its readable half.
+ The being cast.
+ The readable half.
+
+
+ Implicit cast from a to its writable half.
+ The being cast.
+ The writable half.
+
+
+ Gets the readable half of this channel.
+
+
+ Gets the writable half of this channel.
+
+
+ Exception thrown when a channel is used after it's been closed.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The exception that is the cause of this exception.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of this exception.
+
+
+ Provides options that control the behavior of channel instances.
+
+
+ Initializes an instance of the class.
+
+
+
+ if operations performed on a channel may synchronously invoke continuations subscribed to
+ notifications of pending async operations; if all continuations should be invoked asynchronously.
+
+
+
+ readers from the channel guarantee that there will only ever be at most one read operation at a time;
+ if no such constraint is guaranteed.
+
+
+
+ if writers to the channel guarantee that there will only ever be at most one write operation
+ at a time; if no such constraint is guaranteed.
+
+
+ Provides a base class for reading from a channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Creates an that enables reading all of the data from the channel.
+ The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested.
+ The created async enumerable.
+
+
+ Asynchronously reads an item from the channel.
+ A used to cancel the read operation.
+ A that represents the asynchronous read operation.
+
+
+ Attempts to peek at an item from the channel.
+ The peeked item, or a default value if no item could be peeked.
+
+ if an item was read; otherwise, .
+
+
+ Attempts to read an item from the channel.
+ The read item, or a default value if no item could be read.
+
+ if an item was read; otherwise, .
+
+
+ Returns a that will complete when data is available to read.
+ A used to cancel the wait operation.
+
+ A that will complete with a result when data is available to read
+ or with a result when no further data will ever be available to be read due to the channel completing successfully.
+ If the channel completes with an exception, the task will also complete with an exception.
+
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+ if peeking is supported by this channel instance; otherwise.
+
+
+ Gets a that completes when no more data will ever
+ be available to be read from this channel.
+
+
+ Gets the current number of items available from this channel reader.
+ Counting is not supported on this instance.
+
+
+ Provides a base class for writing to a channel.
+ Specifies the type of data that may be written to the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Mark the channel as being complete, meaning no more items will be written to it.
+ Optional Exception indicating a failure that's causing the channel to complete.
+ The channel has already been marked as complete.
+
+
+ Attempts to mark the channel as being completed, meaning no more data will be written to it.
+ An indicating the failure causing no more data to be written, or null for success.
+
+ if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion,
+ for example due to having already been marked as such, or due to not supporting completion.
+ .
+
+
+ Attempts to write the specified item to the channel.
+ The item to write.
+
+ if the item was written; otherwise, .
+
+
+ Returns a that will complete when space is available to write an item.
+ A used to cancel the wait operation.
+ A that will complete with a result when space is available to write an item
+ or with a result when no further writing will be permitted.
+
+
+ Asynchronously writes an item to the channel.
+ The value to write to the channel.
+ A used to cancel the write operation.
+ A that represents the asynchronous write operation.
+
+
+ Provides options that control the behavior of unbounded instances.
+
+
+ Initializes a new instance of the class.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.dll b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.dll
new file mode 100644
index 0000000..737db46
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.dll differ
diff --git a/packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.xml b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.xml
new file mode 100644
index 0000000..20275dc
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.0/System.Threading.Channels.xml
@@ -0,0 +1,243 @@
+
+
+
+ System.Threading.Channels
+
+
+
+ Specifies the behavior to use when writing to a bounded channel that is already full.
+
+
+ Removes and ignores the newest item in the channel in order to make room for the item being written.
+
+
+ Removes and ignores the oldest item in the channel in order to make room for the item being written.
+
+
+ Drops the item being written.
+
+
+ Waits for space to be available in order to complete the write operation.
+
+
+ Provides options that control the behavior of bounded instances.
+
+
+ Initializes the options.
+ The maximum number of items the bounded channel may store.
+
+
+ Gets or sets the maximum number of items the bounded channel may store.
+
+
+ Gets or sets the behavior incurred by write operations when the channel is full.
+
+
+ Provides static methods for creating channels.
+
+
+ Creates a channel with the specified maximum capacity.
+ The maximum number of items the channel may store.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel with the specified maximum capacity.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Delegate that will be called when item is being dropped from channel. See .
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel usable by any number of readers and writers concurrently.
+ The type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Provides a base class for channels that support reading and writing elements of type .
+ Specifies the type of data readable and writable in the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Provides a base class for channels that support reading elements of type and writing elements of type .
+ Specifies the type of data that may be written to the channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Implicit cast from a to its readable half.
+ The being cast.
+ The readable half.
+
+
+ Implicit cast from a to its writable half.
+ The being cast.
+ The writable half.
+
+
+ Gets the readable half of this channel.
+
+
+ Gets the writable half of this channel.
+
+
+ Exception thrown when a channel is used after it's been closed.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The exception that is the cause of this exception.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of this exception.
+
+
+ Provides options that control the behavior of channel instances.
+
+
+ Initializes an instance of the class.
+
+
+
+ if operations performed on a channel may synchronously invoke continuations subscribed to
+ notifications of pending async operations; if all continuations should be invoked asynchronously.
+
+
+
+ readers from the channel guarantee that there will only ever be at most one read operation at a time;
+ if no such constraint is guaranteed.
+
+
+
+ if writers to the channel guarantee that there will only ever be at most one write operation
+ at a time; if no such constraint is guaranteed.
+
+
+ Provides a base class for reading from a channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Creates an that enables reading all of the data from the channel.
+ The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested.
+ The created async enumerable.
+
+
+ Asynchronously reads an item from the channel.
+ A used to cancel the read operation.
+ A that represents the asynchronous read operation.
+
+
+ Attempts to peek at an item from the channel.
+ The peeked item, or a default value if no item could be peeked.
+
+ if an item was read; otherwise, .
+
+
+ Attempts to read an item from the channel.
+ The read item, or a default value if no item could be read.
+
+ if an item was read; otherwise, .
+
+
+ Returns a that will complete when data is available to read.
+ A used to cancel the wait operation.
+
+ A that will complete with a result when data is available to read
+ or with a result when no further data will ever be available to be read due to the channel completing successfully.
+ If the channel completes with an exception, the task will also complete with an exception.
+
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+ if peeking is supported by this channel instance; otherwise.
+
+
+ Gets a that completes when no more data will ever
+ be available to be read from this channel.
+
+
+ Gets the current number of items available from this channel reader.
+ Counting is not supported on this instance.
+
+
+ Provides a base class for writing to a channel.
+ Specifies the type of data that may be written to the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Mark the channel as being complete, meaning no more items will be written to it.
+ Optional Exception indicating a failure that's causing the channel to complete.
+ The channel has already been marked as complete.
+
+
+ Attempts to mark the channel as being completed, meaning no more data will be written to it.
+ An indicating the failure causing no more data to be written, or null for success.
+
+ if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion,
+ for example due to having already been marked as such, or due to not supporting completion.
+ .
+
+
+ Attempts to write the specified item to the channel.
+ The item to write.
+
+ if the item was written; otherwise, .
+
+
+ Returns a that will complete when space is available to write an item.
+ A used to cancel the wait operation.
+ A that will complete with a result when space is available to write an item
+ or with a result when no further writing will be permitted.
+
+
+ Asynchronously writes an item to the channel.
+ The value to write to the channel.
+ A used to cancel the write operation.
+ A that represents the asynchronous write operation.
+
+
+ Provides options that control the behavior of unbounded instances.
+
+
+ Initializes a new instance of the class.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.dll b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.dll
new file mode 100644
index 0000000..60b45fb
Binary files /dev/null and b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.dll differ
diff --git a/packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.xml b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.xml
new file mode 100644
index 0000000..20275dc
--- /dev/null
+++ b/packages/System.Threading.Channels.8.0.0/lib/netstandard2.1/System.Threading.Channels.xml
@@ -0,0 +1,243 @@
+
+
+
+ System.Threading.Channels
+
+
+
+ Specifies the behavior to use when writing to a bounded channel that is already full.
+
+
+ Removes and ignores the newest item in the channel in order to make room for the item being written.
+
+
+ Removes and ignores the oldest item in the channel in order to make room for the item being written.
+
+
+ Drops the item being written.
+
+
+ Waits for space to be available in order to complete the write operation.
+
+
+ Provides options that control the behavior of bounded instances.
+
+
+ Initializes the options.
+ The maximum number of items the bounded channel may store.
+
+
+ Gets or sets the maximum number of items the bounded channel may store.
+
+
+ Gets or sets the behavior incurred by write operations when the channel is full.
+
+
+ Provides static methods for creating channels.
+
+
+ Creates a channel with the specified maximum capacity.
+ The maximum number of items the channel may store.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel with the specified maximum capacity.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates a channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Delegate that will be called when item is being dropped from channel. See .
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel usable by any number of readers and writers concurrently.
+ The type of data in the channel.
+ The created channel.
+
+
+ Creates an unbounded channel subject to the provided options.
+ Options that guide the behavior of the channel.
+ Specifies the type of data in the channel.
+ The created channel.
+
+
+ Provides a base class for channels that support reading and writing elements of type .
+ Specifies the type of data readable and writable in the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Provides a base class for channels that support reading elements of type and writing elements of type .
+ Specifies the type of data that may be written to the channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Implicit cast from a to its readable half.
+ The being cast.
+ The readable half.
+
+
+ Implicit cast from a to its writable half.
+ The being cast.
+ The writable half.
+
+
+ Gets the readable half of this channel.
+
+
+ Gets the writable half of this channel.
+
+
+ Exception thrown when a channel is used after it's been closed.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The exception that is the cause of this exception.
+
+
+ Initializes a new instance of the class with serialized data.
+ The object that holds the serialized object data.
+ The contextual information about the source or destination.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The exception that is the cause of this exception.
+
+
+ Provides options that control the behavior of channel instances.
+
+
+ Initializes an instance of the class.
+
+
+
+ if operations performed on a channel may synchronously invoke continuations subscribed to
+ notifications of pending async operations; if all continuations should be invoked asynchronously.
+
+
+
+ readers from the channel guarantee that there will only ever be at most one read operation at a time;
+ if no such constraint is guaranteed.
+
+
+
+ if writers to the channel guarantee that there will only ever be at most one write operation
+ at a time; if no such constraint is guaranteed.
+
+
+ Provides a base class for reading from a channel.
+ Specifies the type of data that may be read from the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Creates an that enables reading all of the data from the channel.
+ The cancellation token to use to cancel the enumeration. If data is immediately ready for reading, then that data may be yielded even after cancellation has been requested.
+ The created async enumerable.
+
+
+ Asynchronously reads an item from the channel.
+ A used to cancel the read operation.
+ A that represents the asynchronous read operation.
+
+
+ Attempts to peek at an item from the channel.
+ The peeked item, or a default value if no item could be peeked.
+
+ if an item was read; otherwise, .
+
+
+ Attempts to read an item from the channel.
+ The read item, or a default value if no item could be read.
+
+ if an item was read; otherwise, .
+
+
+ Returns a that will complete when data is available to read.
+ A used to cancel the wait operation.
+
+ A that will complete with a result when data is available to read
+ or with a result when no further data will ever be available to be read due to the channel completing successfully.
+ If the channel completes with an exception, the task will also complete with an exception.
+
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+
+ Gets a value that indicates whether is available for use on this instance.
+
+ if peeking is supported by this channel instance; otherwise.
+
+
+ Gets a that completes when no more data will ever
+ be available to be read from this channel.
+
+
+ Gets the current number of items available from this channel reader.
+ Counting is not supported on this instance.
+
+
+ Provides a base class for writing to a channel.
+ Specifies the type of data that may be written to the channel.
+
+
+ Initializes an instance of the class.
+
+
+ Mark the channel as being complete, meaning no more items will be written to it.
+ Optional Exception indicating a failure that's causing the channel to complete.
+ The channel has already been marked as complete.
+
+
+ Attempts to mark the channel as being completed, meaning no more data will be written to it.
+ An indicating the failure causing no more data to be written, or null for success.
+
+ if this operation successfully completes the channel; otherwise, if the channel could not be marked for completion,
+ for example due to having already been marked as such, or due to not supporting completion.
+ .
+
+
+ Attempts to write the specified item to the channel.
+ The item to write.
+
+ if the item was written; otherwise, .
+
+
+ Returns a that will complete when space is available to write an item.
+ A used to cancel the wait operation.
+ A that will complete with a result when space is available to write an item
+ or with a result when no further writing will be permitted.
+
+
+ Asynchronously writes an item to the channel.
+ The value to write to the channel.
+ A used to cancel the write operation.
+ A that represents the asynchronous write operation.
+
+
+ Provides options that control the behavior of unbounded instances.
+
+
+ Initializes a new instance of the class.
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Channels.8.0.0/useSharedDesignerContext.txt b/packages/System.Threading.Channels.8.0.0/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s b/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s
new file mode 100644
index 0000000..e0ee9f4
Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.4/.signature.p7s differ
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT b/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT
new file mode 100644
index 0000000..984713a
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/LICENSE.TXT
@@ -0,0 +1,23 @@
+The MIT License (MIT)
+
+Copyright (c) .NET Foundation and Contributors
+
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg b/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg
new file mode 100644
index 0000000..a608bc5
Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.4/System.Threading.Tasks.Extensions.4.5.4.nupkg differ
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT b/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT
new file mode 100644
index 0000000..db542ca
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/THIRD-PARTY-NOTICES.TXT
@@ -0,0 +1,309 @@
+.NET Core uses third-party libraries or other resources that may be
+distributed under licenses different than the .NET Core software.
+
+In the event that we accidentally failed to list a required notice, please
+bring it to our attention. Post an issue or email us:
+
+ dotnet@microsoft.com
+
+The attached notices are provided for information only.
+
+License notice for Slicing-by-8
+-------------------------------
+
+http://sourceforge.net/projects/slicing-by-8/
+
+Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+
+This software program is licensed subject to the BSD License, available at
+http://www.opensource.org/licenses/bsd-license.html.
+
+
+License notice for Unicode data
+-------------------------------
+
+http://www.unicode.org/copyright.html#License
+
+Copyright © 1991-2017 Unicode, Inc. All rights reserved.
+Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Unicode data files and any associated documentation
+(the "Data Files") or Unicode software and any associated documentation
+(the "Software") to deal in the Data Files or Software
+without restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, and/or sell copies of
+the Data Files or Software, and to permit persons to whom the Data Files
+or Software are furnished to do so, provided that either
+(a) this copyright and permission notice appear with all copies
+of the Data Files or Software, or
+(b) this copyright and permission notice appear in associated
+Documentation.
+
+THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+Except as contained in this notice, the name of a copyright holder
+shall not be used in advertising or otherwise to promote the sale,
+use or other dealings in these Data Files or Software without prior
+written authorization of the copyright holder.
+
+License notice for Zlib
+-----------------------
+
+https://github.com/madler/zlib
+http://zlib.net/zlib_license.html
+
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.11, January 15th, 2017
+
+ Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup@gzip.org madler@alumni.caltech.edu
+
+*/
+
+License notice for Mono
+-------------------------------
+
+http://www.mono-project.com/docs/about-mono/
+
+Copyright (c) .NET Foundation Contributors
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the Software), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License notice for International Organization for Standardization
+-----------------------------------------------------------------
+
+Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+License notice for Intel
+------------------------
+
+"Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License notice for Xamarin and Novell
+-------------------------------------
+
+Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Copyright (c) 2011 Novell, Inc (http://www.novell.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+Third party notice for W3C
+--------------------------
+
+"W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE
+Status: This license takes effect 13 May, 2015.
+This work is being provided by the copyright holders under the following license.
+License
+By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions.
+Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications:
+The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
+Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included.
+Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)."
+Disclaimers
+THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT.
+The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders."
+
+License notice for Bit Twiddling Hacks
+--------------------------------------
+
+Bit Twiddling Hacks
+
+By Sean Eron Anderson
+seander@cs.stanford.edu
+
+Individually, the code snippets here are in the public domain (unless otherwise
+noted) — feel free to use them however you please. The aggregate collection and
+descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are
+distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and
+without even the implied warranty of merchantability or fitness for a particular
+purpose.
+
+License notice for Brotli
+--------------------------------------
+
+Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+compress_fragment.c:
+Copyright (c) 2011, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+decode_fuzzer.c:
+Copyright (c) 2015 The Chromium Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoAndroid10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/MonoTouch10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..eeec928
Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.dll differ
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..5e02a99
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/net461/System.Threading.Tasks.Extensions.xml
@@ -0,0 +1,166 @@
+
+
+ System.Threading.Tasks.Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides a value type that wraps a and a TResult, only one of which is used.
+ The result.
+
+
+ Initializes a new instance of the class using the supplied task that represents the operation.
+ The task.
+ The task argument is null.
+
+
+ Initializes a new instance of the class using the supplied result of a successful operation.
+ The result.
+
+
+ Retrieves a object that represents this .
+ The object that is wrapped in this if one exists, or a new object that represents the result.
+
+
+ Configures an awaiter for this value.
+ true to attempt to marshal the continuation back to the captured context; otherwise, false.
+ The configured awaiter.
+
+
+ Creates a method builder for use with an async method.
+ The created builder.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Creates an awaiter for this value.
+ The awaiter.
+
+
+ Returns the hash code for this instance.
+ The hash code for the current object.
+
+
+ Gets a value that indicates whether this object represents a canceled operation.
+ true if this object represents a canceled operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a completed operation.
+ true if this object represents a completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a successfully completed operation.
+ true if this object represents a successfully completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a failed operation.
+ true if this object represents a failed operation; otherwise, false.
+
+
+ Compares two values for equality.
+ The first value to compare.
+ The second value to compare.
+ true if the two values are equal; otherwise, false.
+
+
+ Determines whether two values are unequal.
+ The first value to compare.
+ The seconed value to compare.
+ true if the two values are not equal; otherwise, false.
+
+
+ Gets the result.
+ The result.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netcoreapp2.1/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..dfc4cdf
Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.dll differ
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..5e02a99
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard1.0/System.Threading.Tasks.Extensions.xml
@@ -0,0 +1,166 @@
+
+
+ System.Threading.Tasks.Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides a value type that wraps a and a TResult, only one of which is used.
+ The result.
+
+
+ Initializes a new instance of the class using the supplied task that represents the operation.
+ The task.
+ The task argument is null.
+
+
+ Initializes a new instance of the class using the supplied result of a successful operation.
+ The result.
+
+
+ Retrieves a object that represents this .
+ The object that is wrapped in this if one exists, or a new object that represents the result.
+
+
+ Configures an awaiter for this value.
+ true to attempt to marshal the continuation back to the captured context; otherwise, false.
+ The configured awaiter.
+
+
+ Creates a method builder for use with an async method.
+ The created builder.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Creates an awaiter for this value.
+ The awaiter.
+
+
+ Returns the hash code for this instance.
+ The hash code for the current object.
+
+
+ Gets a value that indicates whether this object represents a canceled operation.
+ true if this object represents a canceled operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a completed operation.
+ true if this object represents a completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a successfully completed operation.
+ true if this object represents a successfully completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a failed operation.
+ true if this object represents a failed operation; otherwise, false.
+
+
+ Compares two values for equality.
+ The first value to compare.
+ The second value to compare.
+ true if the two values are equal; otherwise, false.
+
+
+ Determines whether two values are unequal.
+ The first value to compare.
+ The seconed value to compare.
+ true if the two values are not equal; otherwise, false.
+
+
+ Gets the result.
+ The result.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..dfab234
Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.dll differ
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..5e02a99
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/netstandard2.0/System.Threading.Tasks.Extensions.xml
@@ -0,0 +1,166 @@
+
+
+ System.Threading.Tasks.Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides a value type that wraps a and a TResult, only one of which is used.
+ The result.
+
+
+ Initializes a new instance of the class using the supplied task that represents the operation.
+ The task.
+ The task argument is null.
+
+
+ Initializes a new instance of the class using the supplied result of a successful operation.
+ The result.
+
+
+ Retrieves a object that represents this .
+ The object that is wrapped in this if one exists, or a new object that represents the result.
+
+
+ Configures an awaiter for this value.
+ true to attempt to marshal the continuation back to the captured context; otherwise, false.
+ The configured awaiter.
+
+
+ Creates a method builder for use with an async method.
+ The created builder.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Creates an awaiter for this value.
+ The awaiter.
+
+
+ Returns the hash code for this instance.
+ The hash code for the current object.
+
+
+ Gets a value that indicates whether this object represents a canceled operation.
+ true if this object represents a canceled operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a completed operation.
+ true if this object represents a completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a successfully completed operation.
+ true if this object represents a successfully completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a failed operation.
+ true if this object represents a failed operation; otherwise, false.
+
+
+ Compares two values for equality.
+ The first value to compare.
+ The second value to compare.
+ true if the two values are equal; otherwise, false.
+
+
+ Determines whether two values are unequal.
+ The first value to compare.
+ The seconed value to compare.
+ true if the two values are not equal; otherwise, false.
+
+
+ Gets the result.
+ The result.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll
new file mode 100644
index 0000000..dfc4cdf
Binary files /dev/null and b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll differ
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml
new file mode 100644
index 0000000..5e02a99
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml
@@ -0,0 +1,166 @@
+
+
+ System.Threading.Tasks.Extensions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides a value type that wraps a and a TResult, only one of which is used.
+ The result.
+
+
+ Initializes a new instance of the class using the supplied task that represents the operation.
+ The task.
+ The task argument is null.
+
+
+ Initializes a new instance of the class using the supplied result of a successful operation.
+ The result.
+
+
+ Retrieves a object that represents this .
+ The object that is wrapped in this if one exists, or a new object that represents the result.
+
+
+ Configures an awaiter for this value.
+ true to attempt to marshal the continuation back to the captured context; otherwise, false.
+ The configured awaiter.
+
+
+ Creates a method builder for use with an async method.
+ The created builder.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Determines whether the specified object is equal to the current object.
+ The object to compare with the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+ Creates an awaiter for this value.
+ The awaiter.
+
+
+ Returns the hash code for this instance.
+ The hash code for the current object.
+
+
+ Gets a value that indicates whether this object represents a canceled operation.
+ true if this object represents a canceled operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a completed operation.
+ true if this object represents a completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a successfully completed operation.
+ true if this object represents a successfully completed operation; otherwise, false.
+
+
+ Gets a value that indicates whether this object represents a failed operation.
+ true if this object represents a failed operation; otherwise, false.
+
+
+ Compares two values for equality.
+ The first value to compare.
+ The second value to compare.
+ true if the two values are equal; otherwise, false.
+
+
+ Determines whether two values are unequal.
+ The first value to compare.
+ The seconed value to compare.
+ true if the two values are not equal; otherwise, false.
+
+
+ Gets the result.
+ The result.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinios10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinmac20/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarintvos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/lib/xamarinwatchos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoAndroid10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/MonoTouch10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/netcoreapp2.1/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinios10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinmac20/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarintvos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._ b/packages/System.Threading.Tasks.Extensions.4.5.4/ref/xamarinwatchos10/_._
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt b/packages/System.Threading.Tasks.Extensions.4.5.4/useSharedDesignerContext.txt
new file mode 100644
index 0000000..e69de29
diff --git a/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt b/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt
new file mode 100644
index 0000000..8d6cdd6
--- /dev/null
+++ b/packages/System.Threading.Tasks.Extensions.4.5.4/version.txt
@@ -0,0 +1 @@
+7601f4f6225089ffb291dc7d58293c7bbf5c5d4f