diff --git a/development/404.html b/development/404.html index 7d2b518c..4e5a4673 100644 --- a/development/404.html +++ b/development/404.html @@ -1 +1 @@ -
We aim to support the last 10 releases of the Tailscale client on all provided operating systems and platforms. Some platforms might require additional configuration to connect with headscale.
| OS | Supports headscale |
|---|---|
| Linux | Yes |
| OpenBSD | Yes |
| FreeBSD | Yes |
| Windows | Yes (see docs and /windows on your headscale for more information) |
| Android | Yes (see docs for more information) |
| macOS | Yes (see docs and /apple on your headscale for more information) |
| iOS | Yes (see docs and /apple on your headscale for more information) |
| tvOS | Yes (see docs and /apple on your headscale for more information) |
We aim to support the last 10 releases of the Tailscale client on all provided operating systems and platforms. Some platforms might require additional configuration to connect with headscale.
| OS | Supports headscale |
|---|---|
| Linux | Yes |
| OpenBSD | Yes |
| FreeBSD | Yes |
| Windows | Yes (see docs and /windows on your headscale for more information) |
| Android | Yes (see docs for more information) |
| macOS | Yes (see docs and /apple on your headscale for more information) |
| iOS | Yes (see docs and /apple on your headscale for more information) |
| tvOS | Yes (see docs and /apple on your headscale for more information) |
Headscale is "Open Source, acknowledged contribution", this means that any contribution will have to be discussed with the maintainers before being added to the project. This model has been chosen to reduce the risk of burnout by limiting the maintenance overhead of reviewing and validating third-party code.
Headscale has a small maintainer team that tries to balance working on the project, fixing bugs and reviewing contributions.
When we work on issues ourselves, we develop first hand knowledge of the code and it makes it possible for us to maintain and own the code as the project develops.
Code contributions are seen as a positive thing. People enjoy and engage with our project, but it also comes with some challenges; we have to understand the code, we have to understand the feature, we might have to become familiar with external libraries or services and we think about security implications. All those steps are required during the reviewing process. After the code has been merged, the feature has to be maintained. Any changes reliant on external services must be updated and expanded accordingly.
The review and day-1 maintenance adds a significant burden on the maintainers. Often we hope that the contributor will help out, but we found that most of the time, they disappear after their new feature was added.
This means that when someone contributes, we are mostly happy about it, but we do have to run it through a series of checks to establish if we actually can maintain this feature.
A general description is provided here and an explicit list is provided in our pull request template.
All new features have to start out with a design document, which should be discussed on the issue tracker (not discord). It should include a use case for the feature, how it can be implemented, who will implement it and a plan for maintaining it.
All features have to be end-to-end tested (integration tests) and have good unit test coverage to ensure that they work as expected. This will also ensure that the feature continues to work as expected over time. If a change cannot be tested, a strong case for why this is not possible needs to be presented.
The contributor should help to maintain the feature over time. In case the feature is not maintained probably, the maintainers reserve themselves the right to remove features they redeem as unmaintainable. This should help to improve the quality of the software and keep it in a maintainable state.
Headscale is open to code contributions for bug fixes without discussion.
If you find mistakes in the documentation, please submit a fix to the documentation.
Headscale is "Open Source, acknowledged contribution", this means that any contribution will have to be discussed with the maintainers before being added to the project. This model has been chosen to reduce the risk of burnout by limiting the maintenance overhead of reviewing and validating third-party code.
Headscale has a small maintainer team that tries to balance working on the project, fixing bugs and reviewing contributions.
When we work on issues ourselves, we develop first hand knowledge of the code and it makes it possible for us to maintain and own the code as the project develops.
Code contributions are seen as a positive thing. People enjoy and engage with our project, but it also comes with some challenges; we have to understand the code, we have to understand the feature, we might have to become familiar with external libraries or services and we think about security implications. All those steps are required during the reviewing process. After the code has been merged, the feature has to be maintained. Any changes reliant on external services must be updated and expanded accordingly.
The review and day-1 maintenance adds a significant burden on the maintainers. Often we hope that the contributor will help out, but we found that most of the time, they disappear after their new feature was added.
This means that when someone contributes, we are mostly happy about it, but we do have to run it through a series of checks to establish if we actually can maintain this feature.
A general description is provided here and an explicit list is provided in our pull request template.
All new features have to start out with a design document, which should be discussed on the issue tracker (not discord). It should include a use case for the feature, how it can be implemented, who will implement it and a plan for maintaining it.
All features have to be end-to-end tested (integration tests) and have good unit test coverage to ensure that they work as expected. This will also ensure that the feature continues to work as expected over time. If a change cannot be tested, a strong case for why this is not possible needs to be presented.
The contributor should help to maintain the feature over time. In case the feature is not maintained probably, the maintainers reserve themselves the right to remove features they redeem as unmaintainable. This should help to improve the quality of the software and keep it in a maintainable state.
Headscale is open to code contributions for bug fixes without discussion.
If you find mistakes in the documentation, please submit a fix to the documentation.
Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. It implements a narrow scope, a single Tailscale network (tailnet), suitable for a personal use, or a small open-source organisation.
Headscale is "Open Source, acknowledged contribution", this means that any contribution will have to be discussed with the Maintainers before being submitted.
Please see Contributing for more information.
Both maintainers have full-time jobs and families, and we want to avoid burnout. We also want to avoid frustration from contributors when their PRs are not accepted.
We are more than happy to exchange emails, or to have dedicated calls before a PR is submitted.
We use GitHub Milestones to plan for upcoming Headscale releases. Have a look at our current plan to get an idea when a specific feature is about to be implemented. The release plan is subject to change at any time.
If you're interested in contributing, please post a feature request about it. Please be aware that there are a number of reasons why we might not accept specific contributions:
We currently support deploying headscale using our binaries and the DEB packages. Visit our installation guide using official releases for more information.
In addition to that, you may use packages provided by the community or from distributions. Learn more in the installation guide using community packages.
For convenience, we also build container images with headscale. But please be aware that we don't officially support deploying headscale using Docker. On our Discord server we have a "docker-issues" channel where you can ask for Docker-specific help to the community.
Please follow the steps outlined in the upgrade guide to update your existing Headscale installation. Its required to update from one stable version to the next (e.g. 0.26.0 → 0.27.1 → 0.28.0) without skipping minor versions in between. You should always pick the latest available patch release.
Be sure to check the changelog for version specific upgrade instructions and breaking changes.
It depends. As often stated, Headscale is not enterprise software and our focus is homelabbers and self-hosters. Of course, we do not prevent people from using it in a commercial/professional setting and often get questions about scaling.
Please note that when Headscale is developed, performance is not part of the consideration as the main audience is considered to be users with a modest amount of devices. We focus on correctness and feature parity with Tailscale SaaS over time.
To understand if you might be able to use Headscale for your use case, I will describe two scenarios in an effort to explain what is the central bottleneck of Headscale:
An environment with 1000 servers
An environment with 80 laptops/phones (end user devices)
Headscale calculates a map of all nodes that need to talk to each other, creating this "world map" requires a lot of CPU time. When an event that requires changes to this map happens, the whole "world" is recalculated, and a new "world map" is created for every node in the network.
This means that under certain conditions, Headscale can likely handle 100s of devices (maybe more), if there is little to no change happening in the network. For example, in Scenario 1, the process of computing the world map is extremely demanding due to the size of the network, but when the map has been created and the nodes are not changing, the Headscale instance will likely return to a very low resource usage until the next time there is an event requiring the new map.
In the case of Scenario 2, the process of computing the world map is less demanding due to the smaller size of the network, however, the type of nodes will likely change frequently, which would lead to a constant resource usage.
Headscale will start to struggle when the two scenarios overlap, e.g. many nodes with frequent changes will cause the resource usage to remain constantly high. In the worst case scenario, the queue of nodes waiting for their map will grow to a point where Headscale never will be able to catch up, and nodes will never learn about the current state of the world.
We expect that the performance will improve over time as we improve the code base, but it is not a focus. In general, we will never make the tradeoff to make things faster on the cost of less maintainable or readable code. We are a small team and have to optimise for maintainability.
We recommend the use of SQLite as database for headscale:
The headscale project itself does not provide a tool to migrate from PostgreSQL to SQLite. Please have a look at the related tools documentation for migration tooling provided by the community.
The choice of database has little to no impact on the performance of the server, see Scaling / How many clients does Headscale support? for understanding how Headscale spends its resources.
We don't know. We don't use reverse proxies with headscale ourselves, so we don't have any experience with them. We have community documentation on how to configure various reverse proxies, and a dedicated "reverse-proxy-issues" channel on our Discord server where you can ask for help to the community.
Running headscale on a machine that is also in the tailnet can cause problems with subnet routers, traffic relay nodes, and MagicDNS. It might work, but it is not supported.
A frequent use case is to allow traffic only from one node to another, but not the other way around. For example, the workstation of an administrator should be able to connect to all nodes but the nodes themselves shouldn't be able to connect back to the administrator's node. Why do all nodes see the administrator's workstation in the output of tailscale status?
This is essentially how Tailscale works. If traffic is allowed to flow in one direction, then both nodes see each other in their output of tailscale status. Traffic is still filtered according to the ACL, with the exception of tailscale ping which is always allowed in either direction.
See also https://tailscale.com/kb/1087/device-visibility.
Headscale checks if the policy is valid during startup and refuses to start if it detects an error. The error message indicates which part of the policy is invalid. Follow these steps to fix your policy:
headscale policy get --bypass-grpc-and-access-database-directly > policy.jsonpolicy.json. Use the command headscale policy check --file policy.json to validate the policy.headscale policy set --bypass-grpc-and-access-database-directly --file policy.jsonFull server configuration required
The above commands to get/set the policy require a complete server configuration file including database settings. A minimal config to control Headscale via remote CLI is not sufficient. You may use headscale -c /path/to/config.yaml to specify the path to an alternative configuration file.
Tailscale only supports the IP prefixes 100.64.0.0/10 and fd7a:115c:a1e0::/48 or smaller subnets thereof. The following steps can be used to migrate from unsupported IP prefixes back to the supported and recommended ones.
Backup and test in a demo environment required
The commands below update the IP addresses of all nodes in your tailnet and this might have a severe impact in your specific environment. At a minimum:
prefixes:
+ FAQ - Headscale
Headscale FAQ
Frequently Asked Questions¶
What is the design goal of headscale?¶
Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. It implements a narrow scope, a single Tailscale network (tailnet), suitable for a personal use, or a small open-source organisation.
How can I contribute?¶
Headscale is "Open Source, acknowledged contribution", this means that any contribution will have to be discussed with the Maintainers before being submitted.
Please see Contributing for more information.
Why is 'acknowledged contribution' the chosen model?¶
Both maintainers have full-time jobs and families, and we want to avoid burnout. We also want to avoid frustration from contributors when their PRs are not accepted.
We are more than happy to exchange emails, or to have dedicated calls before a PR is submitted.
When/Why is Feature X going to be implemented?¶
We use GitHub Milestones to plan for upcoming Headscale releases. Have a look at our current plan to get an idea when a specific feature is about to be implemented. The release plan is subject to change at any time.
If you're interested in contributing, please post a feature request about it. Please be aware that there are a number of reasons why we might not accept specific contributions:
- It is not possible to implement the feature in a way that makes sense in a self-hosted environment.
- Given that we are reverse-engineering Tailscale to satisfy our own curiosity, we might be interested in implementing the feature ourselves.
- You are not sending unit and integration tests with it.
Do you support Y method of deploying headscale?¶
We currently support deploying headscale using our binaries and the DEB packages. Visit our installation guide using official releases for more information.
In addition to that, you may use packages provided by the community or from distributions. Learn more in the installation guide using community packages.
For convenience, we also build container images with headscale. But please be aware that we don't officially support deploying headscale using Docker. On our Discord server we have a "docker-issues" channel where you can ask for Docker-specific help to the community.
What is the recommended update path? Can I skip multiple versions while updating?¶
Please follow the steps outlined in the upgrade guide to update your existing Headscale installation. Its required to update from one stable version to the next (e.g. 0.26.0 → 0.27.1 → 0.28.0) without skipping minor versions in between. You should always pick the latest available patch release.
Be sure to check the changelog for version specific upgrade instructions and breaking changes.
Scaling / How many clients does Headscale support?¶
It depends. As often stated, Headscale is not enterprise software and our focus is homelabbers and self-hosters. Of course, we do not prevent people from using it in a commercial/professional setting and often get questions about scaling.
Please note that when Headscale is developed, performance is not part of the consideration as the main audience is considered to be users with a modest amount of devices. We focus on correctness and feature parity with Tailscale SaaS over time.
To understand if you might be able to use Headscale for your use case, I will describe two scenarios in an effort to explain what is the central bottleneck of Headscale:
-
An environment with 1000 servers
- they rarely "move" (change their endpoints)
- new nodes are added rarely
-
An environment with 80 laptops/phones (end user devices)
- nodes move often, e.g. switching from home to office
Headscale calculates a map of all nodes that need to talk to each other, creating this "world map" requires a lot of CPU time. When an event that requires changes to this map happens, the whole "world" is recalculated, and a new "world map" is created for every node in the network.
This means that under certain conditions, Headscale can likely handle 100s of devices (maybe more), if there is little to no change happening in the network. For example, in Scenario 1, the process of computing the world map is extremely demanding due to the size of the network, but when the map has been created and the nodes are not changing, the Headscale instance will likely return to a very low resource usage until the next time there is an event requiring the new map.
In the case of Scenario 2, the process of computing the world map is less demanding due to the smaller size of the network, however, the type of nodes will likely change frequently, which would lead to a constant resource usage.
Headscale will start to struggle when the two scenarios overlap, e.g. many nodes with frequent changes will cause the resource usage to remain constantly high. In the worst case scenario, the queue of nodes waiting for their map will grow to a point where Headscale never will be able to catch up, and nodes will never learn about the current state of the world.
We expect that the performance will improve over time as we improve the code base, but it is not a focus. In general, we will never make the tradeoff to make things faster on the cost of less maintainable or readable code. We are a small team and have to optimise for maintainability.
Which database should I use?¶
We recommend the use of SQLite as database for headscale:
- SQLite is simple to setup and easy to use
- It scales well for all of headscale's use cases
- Development and testing happens primarily on SQLite
- PostgreSQL is still supported, but is considered to be in "maintenance mode"
The headscale project itself does not provide a tool to migrate from PostgreSQL to SQLite. Please have a look at the related tools documentation for migration tooling provided by the community.
The choice of database has little to no impact on the performance of the server, see Scaling / How many clients does Headscale support? for understanding how Headscale spends its resources.
Why is my reverse proxy not working with headscale?¶
We don't know. We don't use reverse proxies with headscale ourselves, so we don't have any experience with them. We have community documentation on how to configure various reverse proxies, and a dedicated "reverse-proxy-issues" channel on our Discord server where you can ask for help to the community.
Can I use headscale and tailscale on the same machine?¶
Running headscale on a machine that is also in the tailnet can cause problems with subnet routers, traffic relay nodes, and MagicDNS. It might work, but it is not supported.
Why do two nodes see each other in their status, even if an ACL allows traffic only in one direction?¶
A frequent use case is to allow traffic only from one node to another, but not the other way around. For example, the workstation of an administrator should be able to connect to all nodes but the nodes themselves shouldn't be able to connect back to the administrator's node. Why do all nodes see the administrator's workstation in the output of tailscale status?
This is essentially how Tailscale works. If traffic is allowed to flow in one direction, then both nodes see each other in their output of tailscale status. Traffic is still filtered according to the ACL, with the exception of tailscale ping which is always allowed in either direction.
See also https://tailscale.com/kb/1087/device-visibility.
My policy is stored in the database and Headscale refuses to start due to an invalid policy. How can I recover?¶
Headscale checks if the policy is valid during startup and refuses to start if it detects an error. The error message indicates which part of the policy is invalid. Follow these steps to fix your policy:
- Dump the policy to a file:
headscale policy get --bypass-grpc-and-access-database-directly > policy.json - Edit and fixup
policy.json. Use the command headscale policy check --file policy.json to validate the policy. - Load the modified policy:
headscale policy set --bypass-grpc-and-access-database-directly --file policy.json - Start Headscale as usual.
Full server configuration required
The above commands to get/set the policy require a complete server configuration file including database settings. A minimal config to control Headscale via remote CLI is not sufficient. You may use headscale -c /path/to/config.yaml to specify the path to an alternative configuration file.
How can I migrate back to the recommended IP prefixes?¶
Tailscale only supports the IP prefixes 100.64.0.0/10 and fd7a:115c:a1e0::/48 or smaller subnets thereof. The following steps can be used to migrate from unsupported IP prefixes back to the supported and recommended ones.
Backup and test in a demo environment required
The commands below update the IP addresses of all nodes in your tailnet and this might have a severe impact in your specific environment. At a minimum:
- Create a backup of your database
- Test the commands below in a representive demo environment. This allows to catch subsequent connectivity errors early and see how the tailnet behaves in your specific environment.
- Stop Headscale
- Restore the default prefixes in the configuration file:
- Update the
nodes.ipv4 and nodes.ipv6 columns in the database and assign each node a unique IPv4 and IPv6 address. The following SQL statement assigns IP addresses based on the node ID: UPDATE nodes
diff --git a/development/about/features/index.html b/development/about/features/index.html
index 7fbb58a1..83ec49ed 100644
--- a/development/about/features/index.html
+++ b/development/about/features/index.html
@@ -1 +1 @@
- Features - Headscale
Headscale Features
Features¶
Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. This page provides on overview of Headscale's feature and compatibility with the Tailscale control server:
- Full "base" support of Tailscale's features
- Node registration
- DNS
- Taildrop (File Sharing)
- Tags
- Routes
- Dual stack (IPv4 and IPv6)
- Ephemeral nodes
- Embedded DERP server
- Access control lists (GitHub label "policy")
- ACL management via API
- Some Autogroups, currently:
autogroup:internet, autogroup:nonroot, autogroup:member, autogroup:tagged, autogroup:self - Auto approvers for subnet routers and exit nodes
- Tailscale SSH
- Node registration using Single-Sign-On (OpenID Connect) (GitHub label "OIDC")
- Basic registration
- Update user profile from identity provider
- OIDC groups cannot be used in ACLs
- Funnel (#1040)
- Serve (#1234)
- Network flow logs (#1687)
\ No newline at end of file
+ Features - Headscale
Headscale Features
Features¶
Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. This page provides on overview of Headscale's feature and compatibility with the Tailscale control server:
- Full "base" support of Tailscale's features
- Node registration
- DNS
- Taildrop (File Sharing)
- Tags
- Routes
- Dual stack (IPv4 and IPv6)
- Ephemeral nodes
- Embedded DERP server
- Access control lists (GitHub label "policy")
- ACL management via API
- Some Autogroups, currently:
autogroup:internet, autogroup:nonroot, autogroup:member, autogroup:tagged, autogroup:self - Auto approvers for subnet routers and exit nodes
- Tailscale SSH
- Node registration using Single-Sign-On (OpenID Connect) (GitHub label "OIDC")
- Basic registration
- Update user profile from identity provider
- OIDC groups cannot be used in ACLs
- Funnel (#1040)
- Serve (#1234)
- Network flow logs (#1687)
\ No newline at end of file
diff --git a/development/about/help/index.html b/development/about/help/index.html
index 4b5a147d..66555d2a 100644
--- a/development/about/help/index.html
+++ b/development/about/help/index.html
@@ -1 +1 @@
- Getting help - Headscale
Headscale Getting help
Getting help¶
Join our Discord server for announcements and community support.
Please report bugs via GitHub issues
\ No newline at end of file
+ Getting help - Headscale
Headscale Getting help
Getting help¶
Join our Discord server for announcements and community support.
Please report bugs via GitHub issues
\ No newline at end of file
diff --git a/development/about/releases/index.html b/development/about/releases/index.html
index 7b49c8e4..6b25b2ab 100644
--- a/development/about/releases/index.html
+++ b/development/about/releases/index.html
@@ -1 +1 @@
- Releases - Headscale
Headscale Releases
Releases¶
All headscale releases are available on the GitHub release page. Those releases are available as binaries for various platforms and architectures, packages for Debian based systems and source code archives. Container images are available on Docker Hub and GitHub Container Registry.
An Atom/RSS feed of headscale releases is available here.
See the "announcements" channel on our Discord server for news about headscale.
\ No newline at end of file
+ Releases - Headscale
Headscale Releases
Releases¶
All headscale releases are available on the GitHub release page. Those releases are available as binaries for various platforms and architectures, packages for Debian based systems and source code archives. Container images are available on Docker Hub and GitHub Container Registry.
An Atom/RSS feed of headscale releases is available here.
See the "announcements" channel on our Discord server for news about headscale.
\ No newline at end of file
diff --git a/development/about/sponsor/index.html b/development/about/sponsor/index.html
index fced1c0a..ce1e1550 100644
--- a/development/about/sponsor/index.html
+++ b/development/about/sponsor/index.html
@@ -1 +1 @@
- Sponsor - Headscale
Headscale Sponsor
Sponsor¶
If you like to support the development of headscale, please consider a donation via ko-fi.com/headscale. Thank you!
\ No newline at end of file
+ Sponsor - Headscale
Headscale Sponsor
Sponsor¶
If you like to support the development of headscale, please consider a donation via ko-fi.com/headscale. Thank you!
\ No newline at end of file
diff --git a/development/assets/images/social/about/clients.png b/development/assets/images/social/about/clients.png
index 596fb172..65d12a07 100644
Binary files a/development/assets/images/social/about/clients.png and b/development/assets/images/social/about/clients.png differ
diff --git a/development/assets/images/social/about/contributing.png b/development/assets/images/social/about/contributing.png
index 320a172c..2f489c39 100644
Binary files a/development/assets/images/social/about/contributing.png and b/development/assets/images/social/about/contributing.png differ
diff --git a/development/assets/images/social/about/faq.png b/development/assets/images/social/about/faq.png
index 534a89a5..aaf28d59 100644
Binary files a/development/assets/images/social/about/faq.png and b/development/assets/images/social/about/faq.png differ
diff --git a/development/assets/images/social/about/features.png b/development/assets/images/social/about/features.png
index 90903b0d..65fe59a0 100644
Binary files a/development/assets/images/social/about/features.png and b/development/assets/images/social/about/features.png differ
diff --git a/development/assets/images/social/about/help.png b/development/assets/images/social/about/help.png
index 7c5f1975..80f4f342 100644
Binary files a/development/assets/images/social/about/help.png and b/development/assets/images/social/about/help.png differ
diff --git a/development/assets/images/social/about/releases.png b/development/assets/images/social/about/releases.png
index cc98ee0f..d4f537ef 100644
Binary files a/development/assets/images/social/about/releases.png and b/development/assets/images/social/about/releases.png differ
diff --git a/development/assets/images/social/about/sponsor.png b/development/assets/images/social/about/sponsor.png
index dc090d8e..07ca1857 100644
Binary files a/development/assets/images/social/about/sponsor.png and b/development/assets/images/social/about/sponsor.png differ
diff --git a/development/assets/images/social/index.png b/development/assets/images/social/index.png
index f7609bfd..52f29b59 100644
Binary files a/development/assets/images/social/index.png and b/development/assets/images/social/index.png differ
diff --git a/development/assets/images/social/ref/acls.png b/development/assets/images/social/ref/acls.png
index 76dacc83..d73c63bb 100644
Binary files a/development/assets/images/social/ref/acls.png and b/development/assets/images/social/ref/acls.png differ
diff --git a/development/assets/images/social/ref/api.png b/development/assets/images/social/ref/api.png
index c6b72f3a..cb931fe3 100644
Binary files a/development/assets/images/social/ref/api.png and b/development/assets/images/social/ref/api.png differ
diff --git a/development/assets/images/social/ref/configuration.png b/development/assets/images/social/ref/configuration.png
index 4c422c61..170d52f0 100644
Binary files a/development/assets/images/social/ref/configuration.png and b/development/assets/images/social/ref/configuration.png differ
diff --git a/development/assets/images/social/ref/debug.png b/development/assets/images/social/ref/debug.png
index 729e2c12..8e65e672 100644
Binary files a/development/assets/images/social/ref/debug.png and b/development/assets/images/social/ref/debug.png differ
diff --git a/development/assets/images/social/ref/derp.png b/development/assets/images/social/ref/derp.png
index 2f1b75d1..73d599f6 100644
Binary files a/development/assets/images/social/ref/derp.png and b/development/assets/images/social/ref/derp.png differ
diff --git a/development/assets/images/social/ref/dns.png b/development/assets/images/social/ref/dns.png
index a1a32f9f..76cafd26 100644
Binary files a/development/assets/images/social/ref/dns.png and b/development/assets/images/social/ref/dns.png differ
diff --git a/development/assets/images/social/ref/integration/reverse-proxy.png b/development/assets/images/social/ref/integration/reverse-proxy.png
index 8a40b7da..10bb2da9 100644
Binary files a/development/assets/images/social/ref/integration/reverse-proxy.png and b/development/assets/images/social/ref/integration/reverse-proxy.png differ
diff --git a/development/assets/images/social/ref/integration/tools.png b/development/assets/images/social/ref/integration/tools.png
index 3f9e559a..7dfbfebc 100644
Binary files a/development/assets/images/social/ref/integration/tools.png and b/development/assets/images/social/ref/integration/tools.png differ
diff --git a/development/assets/images/social/ref/integration/web-ui.png b/development/assets/images/social/ref/integration/web-ui.png
index 407d5ece..faf0bd12 100644
Binary files a/development/assets/images/social/ref/integration/web-ui.png and b/development/assets/images/social/ref/integration/web-ui.png differ
diff --git a/development/assets/images/social/ref/oidc.png b/development/assets/images/social/ref/oidc.png
index d33ceca7..1c1c58cf 100644
Binary files a/development/assets/images/social/ref/oidc.png and b/development/assets/images/social/ref/oidc.png differ
diff --git a/development/assets/images/social/ref/registration.png b/development/assets/images/social/ref/registration.png
index 769c72a9..1f04afd5 100644
Binary files a/development/assets/images/social/ref/registration.png and b/development/assets/images/social/ref/registration.png differ
diff --git a/development/assets/images/social/ref/routes.png b/development/assets/images/social/ref/routes.png
index 69520bf2..6c394b24 100644
Binary files a/development/assets/images/social/ref/routes.png and b/development/assets/images/social/ref/routes.png differ
diff --git a/development/assets/images/social/ref/tags.png b/development/assets/images/social/ref/tags.png
index 8acfbfda..10e51ada 100644
Binary files a/development/assets/images/social/ref/tags.png and b/development/assets/images/social/ref/tags.png differ
diff --git a/development/assets/images/social/ref/tls.png b/development/assets/images/social/ref/tls.png
index 10e8e1c5..dac60b55 100644
Binary files a/development/assets/images/social/ref/tls.png and b/development/assets/images/social/ref/tls.png differ
diff --git a/development/assets/images/social/setup/install/community.png b/development/assets/images/social/setup/install/community.png
index a480f37f..8c5fe28c 100644
Binary files a/development/assets/images/social/setup/install/community.png and b/development/assets/images/social/setup/install/community.png differ
diff --git a/development/assets/images/social/setup/install/container.png b/development/assets/images/social/setup/install/container.png
index cc57e8cb..bdfb711d 100644
Binary files a/development/assets/images/social/setup/install/container.png and b/development/assets/images/social/setup/install/container.png differ
diff --git a/development/assets/images/social/setup/install/main.png b/development/assets/images/social/setup/install/main.png
index 36501721..9de8a19d 100644
Binary files a/development/assets/images/social/setup/install/main.png and b/development/assets/images/social/setup/install/main.png differ
diff --git a/development/assets/images/social/setup/install/official.png b/development/assets/images/social/setup/install/official.png
index c53aaa7e..3582031d 100644
Binary files a/development/assets/images/social/setup/install/official.png and b/development/assets/images/social/setup/install/official.png differ
diff --git a/development/assets/images/social/setup/install/source.png b/development/assets/images/social/setup/install/source.png
index f6b8a31b..a18658a5 100644
Binary files a/development/assets/images/social/setup/install/source.png and b/development/assets/images/social/setup/install/source.png differ
diff --git a/development/assets/images/social/setup/requirements.png b/development/assets/images/social/setup/requirements.png
index fa3cf853..0d42d653 100644
Binary files a/development/assets/images/social/setup/requirements.png and b/development/assets/images/social/setup/requirements.png differ
diff --git a/development/assets/images/social/setup/upgrade.png b/development/assets/images/social/setup/upgrade.png
index 733494cf..8bc38b4e 100644
Binary files a/development/assets/images/social/setup/upgrade.png and b/development/assets/images/social/setup/upgrade.png differ
diff --git a/development/assets/images/social/usage/connect/android.png b/development/assets/images/social/usage/connect/android.png
index d863f5a7..b6833e5b 100644
Binary files a/development/assets/images/social/usage/connect/android.png and b/development/assets/images/social/usage/connect/android.png differ
diff --git a/development/assets/images/social/usage/connect/apple.png b/development/assets/images/social/usage/connect/apple.png
index 63fac239..6f1d7886 100644
Binary files a/development/assets/images/social/usage/connect/apple.png and b/development/assets/images/social/usage/connect/apple.png differ
diff --git a/development/assets/images/social/usage/connect/windows.png b/development/assets/images/social/usage/connect/windows.png
index a974fd65..f2202675 100644
Binary files a/development/assets/images/social/usage/connect/windows.png and b/development/assets/images/social/usage/connect/windows.png differ
diff --git a/development/assets/images/social/usage/getting-started.png b/development/assets/images/social/usage/getting-started.png
index 02904e76..02585ada 100644
Binary files a/development/assets/images/social/usage/getting-started.png and b/development/assets/images/social/usage/getting-started.png differ
diff --git a/development/assets/stylesheets/main.b72b68c2.min.css b/development/assets/stylesheets/main.07d82dd6.min.css
similarity index 67%
rename from development/assets/stylesheets/main.b72b68c2.min.css
rename to development/assets/stylesheets/main.07d82dd6.min.css
index 78c1c0e0..f3df27f0 100644
--- a/development/assets/stylesheets/main.b72b68c2.min.css
+++ b/development/assets/stylesheets/main.07d82dd6.min.css
@@ -1 +1 @@
-@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--transparent:#4051b51a;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme]{--mx-topbar-bg:var(--md-default-bg-color--light);--mx-topbar-fg:var(--md-default-fg-color);--mx-topbar-fg-muted:var(--md-default-fg-color--light);--mx-topbar-backdrop-filter:blur(px2rem(8px));--mx-tabs-active-underline:var(--md-default-fg-color);--mx-search-outline:var(--md-default-fg-color--lightest);--mx-search-hover-bg:#0003}[data-mx-topbar=primary]{--mx-topbar-bg:var(--md-primary-fg-color);--mx-topbar-fg:var(--md-primary-bg-color);--mx-topbar-fg-muted:var(--mx-topbar-fg);--mx-topbar-backdrop-filter:none;--mx-tabs-active-underline:#0000;--mx-search-outline:var(--mx-topbar-fg);--mx-search-hover-bg:var(--mx-topbar-fg)}@supports (color:color-mix(in srgb,black,white)){[data-mx-topbar=primary]{--mx-topbar-bg:color-mix(in srgb,var(--md-primary-fg-color) 80%,var(--md-default-bg-color));--mx-topbar-fg-muted:color-mix(in srgb,var(--mx-topbar-fg) 72%,#0000);--mx-search-outline:color-mix(in srgb,var(--mx-topbar-fg) 22%,#0000);--mx-search-hover-bg:color-mix(in srgb,var(--mx-topbar-fg) 16%,#0000)}}[data-mx-topbar=accent]{--mx-topbar-bg:var(--md-accent-fg-color);--mx-topbar-fg:var(--md-accent-bg-color);--mx-topbar-fg-muted:var(--mx-topbar-fg);--mx-topbar-backdrop-filter:none;--mx-tabs-active-underline:#0000;--mx-search-outline:var(--mx-topbar-fg);--mx-search-hover-bg:var(--mx-topbar-fg)}@supports (color:color-mix(in srgb,black,white)){[data-mx-topbar=accent]{--mx-topbar-bg:color-mix(in srgb,var(--md-accent-fg-color) 80%,var(--md-default-bg-color));--mx-topbar-fg-muted:color-mix(in srgb,var(--mx-topbar-fg) 72%,#0000);--mx-search-outline:color-mix(in srgb,var(--mx-topbar-fg) 22%,#0000);--mx-search-hover-bg:color-mix(in srgb,var(--mx-topbar-fg) 16%,#0000)}}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008c;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#0000000d;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-default-fg-color--quote:#0000001a;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:#0000000f;--md-typeset-table-row-color:#00000008;--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-shadow-z1:0 0.1rem 0.3rem #0000000d,0 0 0.05rem #0003;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059;--color-foreground:0 0 0;--color-background:255 255 255;--color-background-subtle:240 240 240;--color-backdrop:255 255 255}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-preview-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;letter-spacing:-.01em;line-height:1.8;overflow-wrap:break-word}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color);font-size:1.875em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:700;letter-spacing:-.025em}.md-typeset h2{font-size:1.5em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:700;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset h5 code{text-transform:none}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color);text-decoration:underline}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.2rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{border-radius:.4rem;-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{border-radius:.2rem;box-shadow:0 0 0 .05rem var(--md-typeset-kbd-border-color),0 .15rem 0 var(--md-typeset-kbd-border-color);color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}.md-typeset [data-preview]{position:relative}[dir=ltr] .md-typeset [data-preview]:after{margin-left:.125em}[dir=rtl] .md-typeset [data-preview]:after{margin-right:.125em}.md-typeset [data-preview]:after{background-color:currentcolor;content:"";display:inline-block;height:.8em;-webkit-mask-image:var(--md-typeset-preview-icon);mask-image:var(--md-typeset-preview-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-top;width:.8em}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--quote)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--quote)}.md-typeset blockquote{color:var(--md-default-fg-color--light);font-size:.7rem;margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}.md-typeset ul[type]{list-style-type:revert-layer}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol ol ol ol,.md-typeset ul ol ol ol{list-style-type:upper-alpha}.md-typeset ol ol ol ol ol,.md-typeset ul ol ol ol ol{list-style-type:upper-roman}.md-typeset ol[type],.md-typeset ul[type]{list-style-type:revert-layer}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:nth-of-type(odd){background-color:var(--md-typeset-table-row-color)}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-accent-fg-color--transparent);color:var(--md-default-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100dvh;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}@media (hover:none) and (pointer:coarse){.md-search__scrollwrap,.md-sidebar__scrollwrap{overscroll-behavior:contain}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.4rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.4rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .35s both;-webkit-backdrop-filter:blur(.2rem);backdrop-filter:blur(.2rem);background-color:var(--md-default-bg-color--light);height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{bottom:0;display:flex;justify-content:center;max-height:100%;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.8rem;box-shadow:var(--md-shadow-z3);margin:.4rem;overflow:auto;padding-left:1.2rem;padding-right:1.2rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{line-height:1.2;margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{background-color:var(--md-default-fg-color--lightest);border-radius:.4rem;display:flex;margin-top:.2rem;padding:.3rem}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color);transition:color .25s,background-color .25s}.md-typeset .md-content__button svg{opacity:.5;transition:opacity .25s}.md-typeset .md-content__button:focus,.md-typeset .md-content__button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .md-content__button:focus svg,.md-typeset .md-content__button:hover svg{opacity:1}.md-content__button svg{height:.9rem;width:.9rem}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-content__button svg.lucide{fill:#0000;stroke:currentcolor}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-accent-fg-color);border-radius:.4rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem 1.2rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}@media print{.md-feedback{display:none}}.md-footer{background-color:var(--md-default-bg-color);border-top:.05rem solid var(--md-default-fg-color--lightest);color:var(--md-default-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.8rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{display:block;font-size:.6rem;margin-bottom:.2rem;opacity:.7}.md-footer-meta{background-color:var(--md-default-fg-color--lightest)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a:not(:focus,:hover){color:var(--md-default-fg-color)}.md-copyright{color:var(--md-default-fg-color--light);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-default-fg-color)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{background-color:var(--md-default-fg-color--lightest);border-radius:.4rem;color:var(--md-default-fg-color--light);cursor:pointer;display:inline-block;font-weight:700;padding:.5em 1.5em;text-decoration:none;transition:color 125ms,background-color 125ms,opacity 125ms}.md-typeset .md-button.focus-visible{outline-offset:0}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-default-fg-color--light);opacity:.8}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button--primary:focus,.md-typeset .md-button--primary:hover{color:var(--md-primary-bg-color);opacity:.8}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--mx-topbar-bg);color:var(--mx-topbar-fg);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1)}.md-header--shadow{box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest);transition:transform .25s cubic-bezier(.1,.7,.1,1)}.md-header__inner{align-items:center;display:flex;padding:0 .4rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}.md-header__button.md-logo img.lucide,.md-header__button.md-logo svg.lucide{fill:#0000;stroke:currentcolor}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;letter-spacing:-.025em;line-height:2.4rem;margin-left:.4rem;margin-right:.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;white-space:nowrap}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.5rem;width:11.5rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-header .md-icon svg{height:1rem;width:1rem}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-header{-webkit-backdrop-filter:none;backdrop-filter:none}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav .md-nav__title{display:none}.md-nav__list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.md-nav__list>li+li{margin-top:.2rem}[dir=ltr] .md-nav--primary .md-nav__list .md-nav__list{margin-left:.5rem}[dir=rtl] .md-nav--primary .md-nav__list .md-nav__list{margin-right:.5rem}[dir=ltr] .md-nav--secondary .md-nav__list .md-nav__list{margin-left:.85rem}[dir=rtl] .md-nav--secondary .md-nav__list .md-nav__list{margin-right:.85rem}.md-nav__item--nested .md-nav__list:after,.md-nav__item--nested .md-nav__list:before{content:" ";display:block;height:0}.md-nav__item--nested .md-nav__list:before{margin-bottom:.2rem}.md-nav__item--nested .md-nav__list:after{margin-top:.2rem}.md-nav__link{-webkit-touch-callout:none;align-items:flex-start;cursor:pointer;display:flex;margin-left:.2rem;margin-right:.2rem;padding:.35rem .8rem;-webkit-user-select:none;user-select:none}[dir=ltr] .md-nav__link>*+*{margin-left:.5rem}[dir=rtl] .md-nav__link>*+*{margin-right:.5rem}.md-nav__link{border-radius:.4rem;transition:color .25s,background-color .25s}.md-nav__link .md-nav__link{margin:0}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{font-weight:500}.md-nav--primary .md-nav__item .md-nav__link--active{background-color:var(--md-primary-fg-color--transparent);color:var(--md-primary-fg-color)}[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=black] .md-nav--primary .md-nav__item .md-nav__link--active,[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=white] .md-nav--primary .md-nav__item .md-nav__link--active{color:var(--md-primary-bg-color)}@supports (color:color-mix(in srgb,black,white)){[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=black] .md-nav--primary .md-nav__item .md-nav__link--active,[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=white] .md-nav--primary .md-nav__item .md-nav__link--active{background-color:color-mix(in srgb,var(--md-primary-bg-color),#0000 90%)}}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__item .md-nav__link--active code svg,.md-nav__item .md-nav__link--active svg{opacity:1}[dir=ltr] .md-nav__item--nested>.md-nav__link:not(.md-nav__container){padding-right:.35rem}[dir=rtl] .md-nav__item--nested>.md-nav__link:not(.md-nav__container){padding-left:.35rem}.md-nav__link .md-ellipsis{flex-grow:1;position:relative}.md-nav__link .md-ellipsis code{word-break:normal}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;opacity:.5;position:relative;width:1.3em}.md-nav__link svg.lucide{fill:#0000;stroke:currentcolor}.md-nav--primary .md-nav__link[for]:focus:not(.md-nav__link--active),.md-nav--primary .md-nav__link[for]:hover:not(.md-nav__link--active),.md-nav--primary .md-nav__link[href]:focus:not(.md-nav__link--active),.md-nav--primary .md-nav__link[href]:hover:not(.md-nav__link--active){background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color)}.md-nav--secondary .md-nav__link{margin-left:.2rem;margin-right:.2rem;padding:.35rem .8rem}.md-nav--secondary .md-nav__link[for]:focus,.md-nav--secondary .md-nav__link[for]:hover,.md-nav--secondary .md-nav__link[href]:focus,.md-nav--secondary .md-nav__link[href]:hover{background-color:initial;color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color)}.md-nav__link:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-nav--primary .md-nav__link[for=__toc],.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__icon{font-size:.9rem;height:.9rem;width:.9rem}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;width:100%}@media screen and (min-width:76.25em){.md-nav__item--nested.md-nav__item--section>.md-nav__link .md-nav__icon:after{display:none}}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav__container{background:#0000;padding:0}[dir=ltr] .md-nav__container>*+*{margin-left:.2rem}[dir=rtl] .md-nav__container>*+*{margin-right:.2rem}.md-nav__container>:first-child{flex-grow:1;min-width:0}.md-nav__container>:nth-child(2){padding:.35rem}@media screen and (min-width:76.25em){.md-nav__item--section>.md-nav__container>:nth-child(2){display:none}}.md-nav__container__icon{flex-shrink:0}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:minmax(.005rem,0fr);opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:minmax(.4rem,1fr);opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav--secondary{padding-bottom:.6rem}[dir=ltr] .md-nav--secondary>.md-nav__list{padding-left:.2rem}[dir=rtl] .md-nav--secondary>.md-nav__list{padding-right:.2rem}.md-nav--secondary>.md-nav__list{padding-top:.6rem}[dir=ltr] .md-nav--secondary .md-nav__item .md-nav__list{border-left:.05rem solid var(--md-default-fg-color--quote)}[dir=rtl] .md-nav--secondary .md-nav__item .md-nav__list{border-right:.05rem solid var(--md-default-fg-color--quote)}.md-nav--secondary .md-nav{margin-top:.2rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);display:flex;font-weight:700;padding:.35rem .95rem .6rem;position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}@media screen and (max-width:59.984375em){.md-nav--secondary .md-nav__title{border-bottom:.05rem solid var(--md-default-fg-color--lightest);padding-bottom:.75rem;padding-top:.8rem}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-nav--secondary .md-nav__title{background-color:var(--mx-topbar-bg);border-bottom:none;color:var(--mx-topbar-fg)}}.md-nav--secondary .md-nav__link{padding:.2rem .6rem}.md-nav--secondary .md-nav__link--active{color:var(--md-primary-fg-color)}[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=black] .md-nav--secondary .md-nav__link--active,[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=white] .md-nav--secondary .md-nav__link--active{color:var(--md-primary-bg-color)}@media screen and (max-width:76.234375em){.md-nav--primary{margin-bottom:.4rem;margin-left:.2rem;margin-right:.2rem}.md-nav .md-nav__title[for=__drawer]{align-items:center;display:flex;font-size:.8rem;font-weight:700;padding:.8rem}[dir=ltr] .md-nav .md-nav__title[for=__drawer] .md-logo{margin-right:.4rem}[dir=rtl] .md-nav .md-nav__title[for=__drawer] .md-logo{margin-left:.4rem}.md-nav .md-nav__title[for=__drawer] .md-logo{height:1.6rem;width:1.6rem}.md-nav .md-nav__title[for=__drawer] .md-logo img,.md-nav .md-nav__title[for=__drawer] .md-logo svg{fill:currentcolor;display:block;height:100%;max-width:100%;object-fit:contain;width:auto}.md-nav .md-nav__title[for=__drawer] .md-logo img.lucide,.md-nav .md-nav__title[for=__drawer] .md-logo svg.lucide{fill:#0000;stroke:currentcolor}}.md-nav__source{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.4rem;margin:.2rem .2rem .6rem;transition:background-color .25s,border-color .25s}.md-nav__source:focus,.md-nav__source:hover{background-color:var(--md-default-fg-color--lightest);border-color:#0000}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{margin-left:1.1rem}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{margin-right:1.1rem}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-default-fg-color--quote)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-default-fg-color--quote)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:.5em;margin-top:.5em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link{background:#0000}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link--active{font-weight:500}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link:focus,.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{margin-left:0;overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}@media screen and (min-width:76.25em){.md-nav--primary{margin-bottom:.1rem;margin-top:.1rem}.md-nav__source{display:none}[dir=ltr] .md-nav__list .md-nav__item--section>.md-nav>.md-nav__list{margin-left:0}[dir=rtl] .md-nav__list .md-nav__item--section>.md-nav>.md-nav__list{margin-right:0}.md-nav__item--section>.md-nav__link--active,.md-nav__item--section>.md-nav__link>.md-nav__link--active{font-weight:700}.md-nav__item--section{margin-top:.4rem}.md-nav__item--section:first-child{margin-top:0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav--lifted{margin-top:0}.md-nav--lifted>.md-nav__list>.md-nav__item{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav{margin-top:.1rem}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav>.md-nav__list:before,.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:minmax(.4rem,1fr);opacity:1;visibility:visible}.md-sidebar--post .md-post__back .md-nav__title{display:block}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,')}.md-path{font-size:.7rem;margin:.4rem .8rem 0;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:.4rem 1.2rem 0}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){align-items:center;display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.6rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.6rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex;transition:color .25s}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}:root{--md-post-pin-icon:url('data:image/svg+xml;charset=utf-8,')}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 1rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700;padding:.5rem 1rem}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.md-pin:after{background-color:currentcolor;content:"";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{flex-grow:1;min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100vh;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{align-items:center;background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;display:flex;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:initial;border-radius:.4rem;box-shadow:0 0 0 .05rem var(--mx-search-outline);height:1.8rem}.md-search__form:hover{background-color:var(--mx-search-hover-bg)}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.4rem .4rem 0 0;box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest),0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;line-height:1;position:relative;text-overflow:ellipsis;vertical-align:middle;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--mx-topbar-fg-muted)}.md-search__input+.md-search__icon{color:var(--mx-topbar-fg)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{align-items:center;cursor:pointer;display:inline-flex;height:1.2rem;justify-content:center;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{align-items:center;display:flex;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{align-items:center;display:flex;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--mx-topbar-fg-muted);display:flex;font-size:.9rem;line-height:1;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.4rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.4rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.4rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.4rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}@media screen and (max-width:59.984375em){.md-select__inner{left:100%;transform:translate3d(-100%,.3rem,0)}}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:min(75vh,28rem);opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}@media screen and (max-width:59.984375em){.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{transform:translate3d(-100%,0,0)}}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";filter:drop-shadow(0 -1px 0 var(--md-default-fg-color--lightest));height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}@media screen and (max-width:59.984375em){.md-select__inner:after{left:auto;right:1rem}}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-sidebar-primary-width:12.1rem;--md-sidebar-drawer-offset:0.4rem}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.1rem 0;position:sticky;top:2.4rem;width:var(--md-sidebar-primary-width)}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:calc(var(--md-sidebar-primary-width)*-1)}[dir=rtl] .md-sidebar--primary{right:calc(var(--md-sidebar-primary-width)*-1)}.md-sidebar--primary{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-bg-color--light);border-radius:.8rem;display:block;height:calc(100% - .8rem);overflow:hidden;position:fixed;top:.4rem;transform:translateX(0);transition:transform .15s cubic-bezier(.5,0,.5,0),box-shadow .15s;width:var(--md-sidebar-primary-width);z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(calc(var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset)));transition:transform .2s cubic-bezier(.7,.7,.1,1),box-shadow .2s}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(calc((var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset))*-1))}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;position:absolute;right:0;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{order:2;width:var(--md-sidebar-primary-width)}@media screen and (max-width:59.984375em){[dir=ltr] .md-sidebar--secondary{right:calc(var(--md-sidebar-primary-width)*-1)}[dir=rtl] .md-sidebar--secondary{left:calc(var(--md-sidebar-primary-width)*-1)}.md-sidebar--secondary{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-bg-color--light);border-radius:.8rem;display:block;height:calc(100% - .8rem);overflow:hidden;position:fixed;top:.4rem;transform:translateX(0);transition:transform .15s cubic-bezier(.5,0,.5,0),box-shadow .15s;width:var(--md-sidebar-primary-width);z-index:5}[data-md-toggle=toc]:checked~.md-container .md-sidebar--secondary{box-shadow:var(--md-shadow-z3);transform:translateX(calc((var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset))*-1));transition:transform .2s cubic-bezier(.7,.7,.1,1),box-shadow .2s}[dir=rtl] [data-md-toggle=toc]:checked~.md-container .md-sidebar--secondary{transform:translateX(calc(var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset)))}.md-sidebar--secondary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;position:absolute;right:0;top:0}@supports selector(.md-nav--secondary:has(.md-nav__title)){.md-sidebar--secondary .md-nav--secondary:not(:has(.md-nav__title)):before{background:var(--md-default-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);content:attr(aria-label);display:block;font-weight:700;padding:.8rem 1rem;position:sticky;top:0;z-index:1}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-sidebar--secondary .md-nav--secondary:not(:has(.md-nav__title)):before{background-color:var(--mx-topbar-bg);border-bottom:none;color:var(--mx-topbar-fg)}.md-sidebar--secondary .md-nav--secondary:not(:has(.md-nav__title)):after{content:"☕️";display:block;padding:1rem}}}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{backface-visibility:hidden;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000}@media screen and (min-width:60em){.md-sidebar__scrollwrap{scrollbar-gutter:stable;scrollbar-width:thin}}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - var(--md-sidebar-primary-width) + .6rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - var(--md-sidebar-primary-width) + .6rem)}@media screen and (max-width:59.984375em){[dir=ltr] .md-sidebar__inner{padding-right:0}[dir=rtl] .md-sidebar__inner{padding-left:0}}}@media screen and (max-width:76.234375em){.md-overlay{backdrop-filter:blur(.2rem);-webkit-backdrop-filter:blur(.2rem);background-color:var(--md-default-bg-color--light);bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .2s;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay[for=__drawer],[data-md-toggle=toc]:checked~.md-overlay[for=__toc]{opacity:1;pointer-events:auto}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}.md-header .md-source__icon svg{height:1.2rem;width:1.2rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts 0ms ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact 0ms ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,');--md-status--new:url('data:image/svg+xml;charset=utf-8,');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--mx-topbar-bg);box-shadow:0 -.05rem 0 inset var(--md-default-fg-color--lightest);color:var(--mx-topbar-fg);display:block;line-height:1.3;overflow:auto;width:100%;z-index:2}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-header--lifted .md-tabs{box-shadow:none;margin-bottom:-.05rem}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.4rem}[dir=rtl] .md-tabs__list{margin-right:.4rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active{border-bottom:.05rem solid var(--mx-tabs-active-underline);font-weight:700;position:relative;transition:border-bottom .25s}.md-tabs[hidden] .md-tabs__item--active{border-bottom:.05rem solid #0000}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:1.25em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,')}.md-tooltip{backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.4rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x) - .1rem,100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:calc(var(--md-tooltip-y) - .1rem);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:400;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.6rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:middle;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{height:2.2ch;line-height:2.2ch;width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon);transform:translateY(-54%)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:50%;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:translateY(-54%) scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:translateY(-54%) rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:annotation;list-style:none!important}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(annotation);counter-increment:annotation;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 var(--md-default-fg-color--lightest))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 var(--md-default-fg-color--lightest));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.35,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.4rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.6rem;font-weight:400;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{bottom:2.7rem;display:flex;justify-content:center;position:fixed;transform:translate(-50%);transition:transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:3}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top__center{align-items:center;display:inline-flex;position:relative}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top__button{align-items:center;-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-fg-color--lightest);border-radius:.4rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);cursor:pointer;display:flex;font-size:.7rem;justify-content:center;outline:none;padding:.4rem;transition:color 125ms,background-color 125ms}.md-top__button--main{max-width:calc(100vw - 9rem);padding:.4rem .8rem .4rem .6rem;width:auto}[dir=ltr] .md-top__button--main svg{margin-right:.4rem}[dir=rtl] .md-top__button--main svg{margin-left:.4rem}.md-top__button--main span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-top__button:focus,.md-top__button:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top__button svg{fill:currentcolor;display:inline-block;flex-shrink:0;height:.9rem;vertical-align:-.5em;width:.9rem}.md-top__button svg.lucide{fill:#0000;stroke:currentcolor}.md-top__side{position:absolute;top:50%;transform:translateY(-50%)}.md-top__side--nav{left:-3.5rem}@media screen and (min-width:76.25em){.md-top__side--nav{display:none}}.md-top__side--toc{right:-3.5rem}@media screen and (min-width:60em){.md-top__side--toc{display:none}}@media screen and (min-width:60em) and (max-width:76.234375em){@supports selector(.md-container:has(.md-sidebar)){[dir=ltr] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-left:calc(50% - var(--md-sidebar-primary-width)/2)}[dir=rtl] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-right:calc(50% - var(--md-sidebar-primary-width)/2)}[dir=ltr] [dir=rtl] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-left:calc(50% + var(--md-sidebar-primary-width)/2)}[dir=rtl] [dir=rtl] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-right:calc(50% + var(--md-sidebar-primary-width)/2)}}}@media screen and (min-width:76.25em){@supports selector(.md-container:has(.md-sidebar)){:root{--mx-dir:1}[dir=rtl]{--mx-dir:-1}[dir=ltr] .md-container:has(.md-sidebar--post:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top,[dir=ltr] .md-container:has(.md-sidebar--primary:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top{margin-left:calc(50% + var(--mx-dir)*var(--md-sidebar-primary-width)/2)}[dir=rtl] .md-container:has(.md-sidebar--post:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top,[dir=rtl] .md-container:has(.md-sidebar--primary:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top{margin-right:calc(50% + var(--mx-dir)*var(--md-sidebar-primary-width)/2)}[dir=ltr] .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--primary:not([hidden]))) .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--post:not([hidden]))) .md-top{margin-left:calc(50% - var(--mx-dir)*var(--md-sidebar-primary-width)/2)}[dir=rtl] .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--primary:not([hidden]))) .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--post:not([hidden]))) .md-top{margin-right:calc(50% - var(--mx-dir)*var(--md-sidebar-primary-width)/2)}}}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.05rem solid #448aff;border-radius:.4rem;color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.4rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.4rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.4rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html[dir=ltr] .md-typeset .admonition-title:last-child,html[dir=ltr] .md-typeset summary:last-child{border-bottom-left-radius:.4rem}html[dir=ltr] .md-typeset .admonition-title:last-child,html[dir=ltr] .md-typeset summary:last-child,html[dir=rtl] .md-typeset .admonition-title:last-child,html[dir=rtl] .md-typeset summary:last-child{border-bottom-right-radius:.4rem}html[dir=rtl] .md-typeset .admonition-title:last-child,html[dir=rtl] .md-typeset summary:last-child{border-bottom-left-radius:.4rem}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.5rem;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff4d}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff4d}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff4d}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff4d}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d44d}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d44d}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa54d}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa54d}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c8534d}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8534d}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd174d}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd174d}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff91004d}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91004d}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff52524d}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52524d}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff17444d}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17444d}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f500574d}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500574d}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff4d}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff4d}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e4d}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e4d}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateY(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateY(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700;text-decoration:none}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateY(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateY(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateY(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset .katex-html svg{max-width:revert}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.4rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}.md-typeset summary{border-radius:.4rem .4rem 0 0;cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;margin-top:-.5rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:50%;transform-origin:center;transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.4rem;border-top-right-radius:.4rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.4rem;border-top-left-radius:.4rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit;text-decoration:none}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.4rem;border-bottom-right-radius:.4rem;border-top-width:.4rem;margin-top:-1.5em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.075rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:1.5px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.7rem;font-weight:400;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit;text-decoration:none}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-bg-color--light);border-radius:100%;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.4rem;pointer-events:auto;transition:transform 125ms;width:.9rem}.md-typeset .tabbed-button:hover{transform:scale(1.125)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color);font-weight:500}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.md-typeset [role=dialog] .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset [role=dialog] .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset [role=dialog] .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset [role=dialog] .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset [role=dialog] .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset [role=dialog] .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset [role=dialog] .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset [role=dialog] .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset [role=dialog] .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset [role=dialog] .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset [role=dialog] .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset [role=dialog] .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset [role=dialog] .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset [role=dialog] .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset [role=dialog] .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset [role=dialog] .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset [role=dialog] .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset [role=dialog] .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset [role=dialog] .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset [role=dialog] .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),[role=dialog] .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,[role=dialog] .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),[role=dialog] .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),[role=dialog] .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),[role=dialog] .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),[role=dialog] .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),[role=dialog] .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),[role=dialog] .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),[role=dialog] .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),[role=dialog] .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),[role=dialog] .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),[role=dialog] .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),[role=dialog] .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),[role=dialog] .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),[role=dialog] .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),[role=dialog] .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),[role=dialog] .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),[role=dialog] .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),[role=dialog] .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),[role=dialog] .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.25em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}@media print{.giscus,[id=__comments]{display:none}}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--quote);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.4rem;display:block;margin:0;padding:.8rem;transition:background-color .25s,border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}}
\ No newline at end of file
+@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--transparent:#4051b51a;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme]{--mx-topbar-bg:var(--md-default-bg-color--light);--mx-topbar-fg:var(--md-default-fg-color);--mx-topbar-fg-muted:var(--md-default-fg-color--light);--mx-topbar-backdrop-filter:blur(px2rem(8px));--mx-tabs-active-underline:var(--md-default-fg-color);--mx-search-outline:var(--md-default-fg-color--lightest);--mx-search-hover-bg:#0003}[data-mx-topbar=primary]{--mx-topbar-bg:var(--md-primary-fg-color);--mx-topbar-fg:var(--md-primary-bg-color);--mx-topbar-fg-muted:var(--mx-topbar-fg);--mx-topbar-backdrop-filter:none;--mx-tabs-active-underline:#0000;--mx-search-outline:var(--mx-topbar-fg);--mx-search-hover-bg:var(--mx-topbar-fg)}@supports (color:color-mix(in srgb,black,white)){[data-mx-topbar=primary]{--mx-topbar-bg:color-mix(in srgb,var(--md-primary-fg-color) 80%,var(--md-default-bg-color));--mx-topbar-fg-muted:color-mix(in srgb,var(--mx-topbar-fg) 72%,#0000);--mx-search-outline:color-mix(in srgb,var(--mx-topbar-fg) 22%,#0000);--mx-search-hover-bg:color-mix(in srgb,var(--mx-topbar-fg) 16%,#0000)}}[data-mx-topbar=accent]{--mx-topbar-bg:var(--md-accent-fg-color);--mx-topbar-fg:var(--md-accent-bg-color);--mx-topbar-fg-muted:var(--mx-topbar-fg);--mx-topbar-backdrop-filter:none;--mx-tabs-active-underline:#0000;--mx-search-outline:var(--mx-topbar-fg);--mx-search-hover-bg:var(--mx-topbar-fg)}@supports (color:color-mix(in srgb,black,white)){[data-mx-topbar=accent]{--mx-topbar-bg:color-mix(in srgb,var(--md-accent-fg-color) 80%,var(--md-default-bg-color));--mx-topbar-fg-muted:color-mix(in srgb,var(--mx-topbar-fg) 72%,#0000);--mx-search-outline:color-mix(in srgb,var(--mx-topbar-fg) 22%,#0000);--mx-search-hover-bg:color-mix(in srgb,var(--mx-topbar-fg) 16%,#0000)}}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008c;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#0000000d;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-default-fg-color--quote:#0000001a;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:#0000000f;--md-typeset-table-row-color:#00000008;--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-shadow-z1:0 0.1rem 0.3rem #0000000d,0 0 0.05rem #0003;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059;--color-foreground:0 0 0;--color-background:255 255 255;--color-background-subtle:240 240 240;--color-backdrop:255 255 255}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,');--md-typeset-preview-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;letter-spacing:-.01em;line-height:1.8;overflow-wrap:break-word}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color);font-size:1.875em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:700;letter-spacing:-.025em}.md-typeset h2{font-size:1.5em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:700;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset h5 code{text-transform:none}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color);text-decoration:underline}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.2rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{border-radius:.4rem;-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{border-radius:.2rem;box-shadow:0 0 0 .05rem var(--md-typeset-kbd-border-color),0 .15rem 0 var(--md-typeset-kbd-border-color);color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light);cursor:help;text-decoration:none}.md-typeset [data-preview]{position:relative}[dir=ltr] .md-typeset [data-preview]:after{margin-left:.125em}[dir=rtl] .md-typeset [data-preview]:after{margin-right:.125em}.md-typeset [data-preview]:after{background-color:currentcolor;content:"";display:inline-block;height:.8em;-webkit-mask-image:var(--md-typeset-preview-icon);mask-image:var(--md-typeset-preview-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-top;width:.8em}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--quote)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--quote)}.md-typeset blockquote{color:var(--md-default-fg-color--light);font-size:.7rem;margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}.md-typeset ul[type]{list-style-type:revert-layer}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}.md-typeset ol ol ol ol,.md-typeset ul ol ol ol{list-style-type:upper-alpha}.md-typeset ol ol ol ol ol,.md-typeset ul ol ol ol ol{list-style-type:upper-roman}.md-typeset ol[type],.md-typeset ul[type]{list-style-type:revert-layer}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:nth-of-type(odd){background-color:var(--md-typeset-table-row-color)}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-accent-fg-color--transparent);color:var(--md-default-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100dvh;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}@media (hover:none) and (pointer:coarse){.md-search__scrollwrap,.md-sidebar__scrollwrap{overscroll-behavior:contain}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,')}.md-clipboard{border-radius:.4rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.4rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .35s both;-webkit-backdrop-filter:blur(.2rem);backdrop-filter:blur(.2rem);background-color:var(--md-default-bg-color--light);height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{bottom:0;display:flex;justify-content:center;max-height:100%;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.8rem;box-shadow:var(--md-shadow-z3);margin:.4rem;overflow:auto;padding-left:1.2rem;padding-right:1.2rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{line-height:1.2;margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{background-color:var(--md-default-fg-color--lightest);border-radius:.4rem;display:flex;margin-top:.2rem;padding:.3rem}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color);transition:color .25s,background-color .25s}.md-typeset .md-content__button svg{opacity:.5;transition:opacity .25s}.md-typeset .md-content__button:focus,.md-typeset .md-content__button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .md-content__button:focus svg,.md-typeset .md-content__button:hover svg{opacity:1}.md-content__button svg{height:.9rem;width:.9rem}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}.md-content__button svg.lucide{fill:#0000;stroke:currentcolor}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-accent-fg-color);border-radius:.4rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem 1.2rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}@media print{.md-feedback{display:none}}.md-footer{background-color:var(--md-default-bg-color);border-top:.05rem solid var(--md-default-fg-color--lightest);color:var(--md-default-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.8rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{display:block;font-size:.6rem;margin-bottom:.2rem;opacity:.7}.md-footer-meta{background-color:var(--md-default-fg-color--lightest)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a:not(:focus,:hover){color:var(--md-default-fg-color)}.md-copyright{color:var(--md-default-fg-color--light);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-default-fg-color)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{background-color:var(--md-default-fg-color--lightest);border-radius:.4rem;color:var(--md-default-fg-color--light);cursor:pointer;display:inline-block;font-weight:700;padding:.5em 1.5em;text-decoration:none;transition:color 125ms,background-color 125ms,opacity 125ms}.md-typeset .md-button.focus-visible{outline-offset:0}.md-typeset .md-button:focus,.md-typeset .md-button:hover{color:var(--md-default-fg-color--light);opacity:.8}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button--primary:focus,.md-typeset .md-button--primary:hover{color:var(--md-primary-bg-color);opacity:.8}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--mx-topbar-bg);color:var(--mx-topbar-fg);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1)}.md-header--shadow{box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest);transition:transform .25s cubic-bezier(.1,.7,.1,1)}.md-header__inner{align-items:center;display:flex;padding:0 .4rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}.md-header__button.md-logo img.lucide,.md-header__button.md-logo svg.lucide{fill:#0000;stroke:currentcolor}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;letter-spacing:-.025em;line-height:2.4rem;margin-left:.4rem;margin-right:.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;white-space:nowrap}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.5rem;width:11.5rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-header .md-icon svg{height:1rem;width:1rem}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-header{-webkit-backdrop-filter:none;backdrop-filter:none}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-nav{font-size:.7rem;line-height:1.3;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav .md-nav__title{display:none}.md-nav__list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.md-nav__list>li+li{margin-top:.2rem}[dir=ltr] .md-nav--primary .md-nav__list .md-nav__list{margin-left:.5rem}[dir=rtl] .md-nav--primary .md-nav__list .md-nav__list{margin-right:.5rem}[dir=ltr] .md-nav--secondary .md-nav__list .md-nav__list{margin-left:.85rem}[dir=rtl] .md-nav--secondary .md-nav__list .md-nav__list{margin-right:.85rem}.md-nav__item--nested .md-nav__list:after,.md-nav__item--nested .md-nav__list:before{content:" ";display:block;height:0}.md-nav__item--nested .md-nav__list:before{margin-bottom:.2rem}.md-nav__item--nested .md-nav__list:after{margin-top:.2rem}.md-nav__link{-webkit-touch-callout:none;align-items:flex-start;cursor:pointer;display:flex;margin-left:.2rem;margin-right:.2rem;padding:.35rem .8rem;-webkit-user-select:none;user-select:none}[dir=ltr] .md-nav__link>*+*{margin-left:.5rem}[dir=rtl] .md-nav__link>*+*{margin-right:.5rem}.md-nav__link{border-radius:.4rem;transition:color .25s,background-color .25s}.md-nav__link .md-nav__link{margin:0}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active{font-weight:500}.md-nav--primary .md-nav__item .md-nav__link--active{background-color:var(--md-primary-fg-color--transparent);color:var(--md-primary-fg-color)}[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=black] .md-nav--primary .md-nav__item .md-nav__link--active,[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=white] .md-nav--primary .md-nav__item .md-nav__link--active{color:var(--md-primary-bg-color)}@supports (color:color-mix(in srgb,black,white)){[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=black] .md-nav--primary .md-nav__item .md-nav__link--active,[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=white] .md-nav--primary .md-nav__item .md-nav__link--active{background-color:color-mix(in srgb,var(--md-primary-bg-color),#0000 90%)}}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__item .md-nav__link--active code svg,.md-nav__item .md-nav__link--active svg{opacity:1}[dir=ltr] .md-nav__item--nested>.md-nav__link:not(.md-nav__container){padding-right:.35rem}[dir=rtl] .md-nav__item--nested>.md-nav__link:not(.md-nav__container){padding-left:.35rem}.md-nav__link .md-ellipsis{flex-grow:1;position:relative}.md-nav__link .md-ellipsis code{word-break:normal}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;opacity:.5;position:relative;width:1.3em}.md-nav__link svg.lucide{fill:#0000;stroke:currentcolor}.md-nav--primary .md-nav__link[for]:focus:not(.md-nav__link--active),.md-nav--primary .md-nav__link[for]:hover:not(.md-nav__link--active),.md-nav--primary .md-nav__link[href]:focus:not(.md-nav__link--active),.md-nav--primary .md-nav__link[href]:hover:not(.md-nav__link--active){background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color)}.md-nav--secondary .md-nav__link{margin-left:.2rem;margin-right:.2rem;padding:.35rem .8rem}.md-nav--secondary .md-nav__link[for]:focus,.md-nav--secondary .md-nav__link[for]:hover,.md-nav--secondary .md-nav__link[href]:focus,.md-nav--secondary .md-nav__link[href]:hover{background-color:initial;color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color)}.md-nav__link:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-nav--primary .md-nav__link[for=__toc],.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__icon{font-size:.9rem;height:.9rem;width:.9rem}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;width:100%}@media screen and (min-width:76.25em){.md-nav__item--nested.md-nav__item--section>.md-nav__link .md-nav__icon:after{display:none}}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav__container{background:#0000;padding:0}[dir=ltr] .md-nav__container>*+*{margin-left:.2rem}[dir=rtl] .md-nav__container>*+*{margin-right:.2rem}.md-nav__container>:first-child{flex-grow:1;min-width:0}.md-nav__container>:nth-child(2){padding:.35rem}@media screen and (min-width:76.25em){.md-nav__item--section>.md-nav__container>:nth-child(2){display:none}}.md-nav__container__icon{flex-shrink:0}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:minmax(.005rem,0fr);opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:minmax(.4rem,1fr);opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav--secondary{padding-bottom:.6rem}[dir=ltr] .md-nav--secondary>.md-nav__list{padding-left:.2rem}[dir=rtl] .md-nav--secondary>.md-nav__list{padding-right:.2rem}.md-nav--secondary>.md-nav__list{padding-top:.6rem}[dir=ltr] .md-nav--secondary .md-nav__item .md-nav__list{border-left:.05rem solid var(--md-default-fg-color--quote)}[dir=rtl] .md-nav--secondary .md-nav__item .md-nav__list{border-right:.05rem solid var(--md-default-fg-color--quote)}.md-nav--secondary .md-nav{margin-top:.2rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);display:flex;font-weight:700;padding:.35rem .95rem .6rem;position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}@media screen and (max-width:59.984375em){.md-nav--secondary .md-nav__title{border-bottom:.05rem solid var(--md-default-fg-color--lightest);padding-bottom:.75rem;padding-top:.8rem}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-nav--secondary .md-nav__title{background-color:var(--mx-topbar-bg);border-bottom:none;color:var(--mx-topbar-fg)}}.md-nav--secondary .md-nav__link{padding:.2rem .6rem}.md-nav--secondary .md-nav__link--active{color:var(--md-primary-fg-color)}[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=black] .md-nav--secondary .md-nav__link--active,[data-mx-topbar]:not([data-mx-topbar=glass])[data-md-color-primary=white] .md-nav--secondary .md-nav__link--active{color:var(--md-primary-bg-color)}@media screen and (max-width:76.234375em){.md-nav--primary{margin-bottom:.4rem;margin-left:.2rem;margin-right:.2rem}.md-nav .md-nav__title[for=__drawer]{align-items:center;display:flex;font-size:.8rem;font-weight:700;padding:.8rem}[dir=ltr] .md-nav .md-nav__title[for=__drawer] .md-logo{margin-right:.4rem}[dir=rtl] .md-nav .md-nav__title[for=__drawer] .md-logo{margin-left:.4rem}.md-nav .md-nav__title[for=__drawer] .md-logo{height:1.6rem;width:1.6rem}.md-nav .md-nav__title[for=__drawer] .md-logo img,.md-nav .md-nav__title[for=__drawer] .md-logo svg{fill:currentcolor;display:block;height:100%;max-width:100%;object-fit:contain;width:auto}.md-nav .md-nav__title[for=__drawer] .md-logo img.lucide,.md-nav .md-nav__title[for=__drawer] .md-logo svg.lucide{fill:#0000;stroke:currentcolor}}.md-nav__source{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.4rem;margin:.2rem .2rem .6rem;transition:background-color .25s,border-color .25s}.md-nav__source:focus,.md-nav__source:hover{background-color:var(--md-default-fg-color--lightest);border-color:#0000}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{margin-left:1.1rem}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{margin-right:1.1rem}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-default-fg-color--quote)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-default-fg-color--quote)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:.5em;margin-top:.5em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link{background:#0000}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link--active{font-weight:500}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link:focus,.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary .md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{margin-left:0;overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}@media screen and (min-width:76.25em){.md-nav--primary{margin-bottom:.1rem;margin-top:.1rem}.md-nav__source{display:none}[dir=ltr] .md-nav__list .md-nav__item--section>.md-nav>.md-nav__list{margin-left:0}[dir=rtl] .md-nav__list .md-nav__item--section>.md-nav>.md-nav__list{margin-right:0}.md-nav__item--section>.md-nav__link--active,.md-nav__item--section>.md-nav__link>.md-nav__link--active{font-weight:700}.md-nav__item--section{margin-top:.4rem}.md-nav__item--section:first-child{margin-top:0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav--lifted{margin-top:0}.md-nav--lifted>.md-nav__list>.md-nav__item{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav{margin-top:.1rem}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav>.md-nav__list:before,.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:minmax(.4rem,1fr);opacity:1;visibility:visible}.md-sidebar--post .md-post__back .md-nav__title{display:block}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,')}.md-path{font-size:.7rem;margin:.4rem .8rem 0;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:.4rem 1.2rem 0}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){align-items:center;display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.6rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.6rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex;transition:color .25s}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}:root{--md-post-pin-icon:url('data:image/svg+xml;charset=utf-8,')}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 1rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700;padding:.5rem 1rem}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.md-pin:after{background-color:currentcolor;content:"";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{flex-grow:1;min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100vh;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{align-items:center;background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;display:flex;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:initial;border-radius:.4rem;box-shadow:0 0 0 .05rem var(--mx-search-outline);height:1.8rem}.md-search__form:hover{background-color:var(--mx-search-hover-bg)}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.4rem .4rem 0 0;box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest),0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;line-height:1;position:relative;text-overflow:ellipsis;vertical-align:middle;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--mx-topbar-fg-muted)}.md-search__input+.md-search__icon{color:var(--mx-topbar-fg)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{align-items:center;cursor:pointer;display:inline-flex;height:1.2rem;justify-content:center;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{align-items:center;display:flex;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{align-items:center;display:flex;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--mx-topbar-fg-muted);display:flex;font-size:.9rem;line-height:1;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.4rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.4rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.4rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.4rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}@media screen and (max-width:59.984375em){.md-select__inner{left:100%;transform:translate3d(-100%,.3rem,0)}}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:min(75vh,28rem);opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}@media screen and (max-width:59.984375em){.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{transform:translate3d(-100%,0,0)}}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";filter:drop-shadow(0 -1px 0 var(--md-default-fg-color--lightest));height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}@media screen and (max-width:59.984375em){.md-select__inner:after{left:auto;right:1rem}}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-sidebar-primary-width:12.1rem;--md-sidebar-drawer-offset:0.4rem}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.1rem 0;position:sticky;top:2.4rem;width:var(--md-sidebar-primary-width)}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:calc(var(--md-sidebar-primary-width)*-1)}[dir=rtl] .md-sidebar--primary{right:calc(var(--md-sidebar-primary-width)*-1)}.md-sidebar--primary{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-bg-color--light);border-radius:.8rem;display:block;height:calc(100% - .8rem);overflow:hidden;position:fixed;top:.4rem;transform:translateX(0);transition:transform .15s cubic-bezier(.5,0,.5,0),box-shadow .15s;width:var(--md-sidebar-primary-width);z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(calc(var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset)));transition:transform .2s cubic-bezier(.7,.7,.1,1),box-shadow .2s}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(calc((var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset))*-1))}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;position:absolute;right:0;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{order:2;width:var(--md-sidebar-primary-width)}@media screen and (max-width:59.984375em){[dir=ltr] .md-sidebar--secondary{right:calc(var(--md-sidebar-primary-width)*-1)}[dir=rtl] .md-sidebar--secondary{left:calc(var(--md-sidebar-primary-width)*-1)}.md-sidebar--secondary{-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-bg-color--light);border-radius:.8rem;display:block;height:calc(100% - .8rem);overflow:hidden;position:fixed;top:.4rem;transform:translateX(0);transition:transform .15s cubic-bezier(.5,0,.5,0),box-shadow .15s;width:var(--md-sidebar-primary-width);z-index:5}[data-md-toggle=toc]:checked~.md-container .md-sidebar--secondary{box-shadow:var(--md-shadow-z3);transform:translateX(calc((var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset))*-1));transition:transform .2s cubic-bezier(.7,.7,.1,1),box-shadow .2s}[dir=rtl] [data-md-toggle=toc]:checked~.md-container .md-sidebar--secondary{transform:translateX(calc(var(--md-sidebar-primary-width) + var(--md-sidebar-drawer-offset)))}.md-sidebar--secondary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;position:absolute;right:0;top:0}@supports selector(.md-nav--secondary:has(.md-nav__title)){.md-sidebar--secondary .md-nav--secondary:not(:has(.md-nav__title)):before{background:var(--md-default-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);content:attr(aria-label);display:block;font-weight:700;padding:.8rem 1rem;position:sticky;top:0;z-index:1}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-sidebar--secondary .md-nav--secondary:not(:has(.md-nav__title)):before{background-color:var(--mx-topbar-bg);border-bottom:none;color:var(--mx-topbar-fg)}.md-sidebar--secondary .md-nav--secondary:not(:has(.md-nav__title)):after{content:"☕️";display:block;padding:1rem}}}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{backface-visibility:hidden;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000}@media screen and (min-width:60em){.md-sidebar__scrollwrap{scrollbar-gutter:stable;scrollbar-width:thin}}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - var(--md-sidebar-primary-width) + .6rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - var(--md-sidebar-primary-width) + .6rem)}@media screen and (max-width:59.984375em){[dir=ltr] .md-sidebar__inner{padding-right:0}[dir=rtl] .md-sidebar__inner{padding-left:0}}}@media screen and (max-width:76.234375em){.md-overlay{backdrop-filter:blur(.2rem);-webkit-backdrop-filter:blur(.2rem);background-color:var(--md-default-bg-color--light);bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .2s;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay[for=__drawer],[data-md-toggle=toc]:checked~.md-overlay[for=__toc]{opacity:1;pointer-events:auto}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-source{backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}.md-header .md-source__icon svg{height:1.2rem;width:1.2rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts 0ms ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact 0ms ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,');--md-status--new:url('data:image/svg+xml;charset=utf-8,');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--mx-topbar-bg);box-shadow:0 -.05rem 0 inset var(--md-default-fg-color--lightest);color:var(--mx-topbar-fg);display:block;line-height:1.3;overflow:auto;width:100%;z-index:2}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-header--lifted .md-tabs{box-shadow:none;margin-bottom:-.05rem}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.4rem}[dir=rtl] .md-tabs__list{margin-right:.4rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active{border-bottom:.05rem solid var(--mx-tabs-active-underline);font-weight:700;position:relative;transition:border-bottom .25s}.md-tabs[hidden] .md-tabs__item--active{border-bottom:.05rem solid #0000}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}[data-mx-topbar]:not([data-mx-topbar=glass]) .md-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:1.25em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,')}.md-tooltip{backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.4rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x) - .1rem,100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:calc(var(--md-tooltip-y) - .1rem);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:400;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.6rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:middle;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{height:2.2ch;line-height:2.2ch;width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon);transform:translateY(-54%)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:50%;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:translateY(-54%) scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:translateY(-54%) rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:annotation;list-style:none!important}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(annotation);counter-increment:annotation;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 var(--md-default-fg-color--lightest))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 var(--md-default-fg-color--lightest));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.35,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.4rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.6rem;font-weight:400;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{bottom:2.7rem;display:flex;justify-content:center;position:fixed;transform:translate(-50%);transition:transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:3}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top__center{align-items:center;display:inline-flex;position:relative}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top__button{align-items:center;-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-fg-color--lightest);border-radius:.4rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);cursor:pointer;display:flex;font-size:.7rem;justify-content:center;outline:none;padding:.4rem;transition:color 125ms,background-color 125ms}.md-top__button--main{max-width:calc(100vw - 9rem);padding:.4rem .8rem .4rem .6rem;width:auto}[dir=ltr] .md-top__button--main svg{margin-right:.4rem}[dir=rtl] .md-top__button--main svg{margin-left:.4rem}.md-top__button--main span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-top__button:focus,.md-top__button:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top__button svg{fill:currentcolor;display:inline-block;flex-shrink:0;height:.9rem;vertical-align:-.5em;width:.9rem}.md-top__button svg.lucide{fill:#0000;stroke:currentcolor}.md-top__side{position:absolute;top:50%;transform:translateY(-50%)}.md-top__side--nav{left:-3.5rem}@media screen and (min-width:76.25em){.md-top__side--nav{display:none}}.md-top__side--toc{right:-3.5rem}@media screen and (min-width:60em){.md-top__side--toc{display:none}}@media screen and (min-width:60em) and (max-width:76.234375em){@supports selector(.md-container:has(.md-sidebar)){[dir=ltr] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-left:calc(50% - var(--md-sidebar-primary-width)/2)}[dir=rtl] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-right:calc(50% - var(--md-sidebar-primary-width)/2)}[dir=ltr] [dir=rtl] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-left:calc(50% + var(--md-sidebar-primary-width)/2)}[dir=rtl] [dir=rtl] .md-container:has(.md-sidebar.md-sidebar--secondary:not([hidden])) .md-top{margin-right:calc(50% + var(--md-sidebar-primary-width)/2)}}}@media screen and (min-width:76.25em){@supports selector(.md-container:has(.md-sidebar)){:root{--mx-dir:1}[dir=rtl]{--mx-dir:-1}[dir=ltr] .md-container:has(.md-sidebar--post:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top,[dir=ltr] .md-container:has(.md-sidebar--primary:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top{margin-left:calc(50% + var(--mx-dir)*var(--md-sidebar-primary-width)/2)}[dir=rtl] .md-container:has(.md-sidebar--post:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top,[dir=rtl] .md-container:has(.md-sidebar--primary:not([hidden])):not(:has(.md-sidebar--secondary:not([hidden]))) .md-top{margin-right:calc(50% + var(--mx-dir)*var(--md-sidebar-primary-width)/2)}[dir=ltr] .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--primary:not([hidden]))) .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--post:not([hidden]))) .md-top{margin-left:calc(50% - var(--mx-dir)*var(--md-sidebar-primary-width)/2)}[dir=rtl] .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--primary:not([hidden]))) .md-container:has(.md-sidebar--secondary:not([hidden])):not(:has(.md-sidebar--post:not([hidden]))) .md-top{margin-right:calc(50% - var(--mx-dir)*var(--md-sidebar-primary-width)/2)}}}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.05rem solid #448aff;border-radius:.4rem;color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;overflow:hidden;padding:0 .6rem;page-break-inside:avoid}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.5rem;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff4d}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff4d}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff4d}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff4d}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d44d}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d44d}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa54d}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa54d}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c8534d}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8534d}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd174d}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd174d}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff91004d}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91004d}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff52524d}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52524d}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff17444d}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17444d}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f500574d}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500574d}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff4d}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff4d}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e4d}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e4d}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateY(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateY(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700;text-decoration:none}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateY(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateY(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateY(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset .katex-html svg{max-width:revert}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,')}.md-typeset details{display:flow-root;overflow:hidden;padding-top:0}.md-typeset details>summary{border-radius:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){padding-bottom:0}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}.md-typeset summary{border-radius:.4rem .4rem 0 0;cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;margin-top:-.5rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:50%;transform-origin:center;transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.4rem;border-top-right-radius:.4rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.4rem;border-top-left-radius:.4rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit;text-decoration:none}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.4rem;border-bottom-right-radius:.4rem;border-top-width:.4rem;margin-top:-1.5em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .tabbed-set{border-radius:.075rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:1.5px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.7rem;font-weight:400;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit;text-decoration:none}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem);background-color:var(--md-default-bg-color--light);border-radius:100%;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.4rem;pointer-events:auto;transition:transform 125ms;width:.9rem}.md-typeset .tabbed-button:hover{transform:scale(1.125)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color);font-weight:500}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.md-typeset [role=dialog] .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset [role=dialog] .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset [role=dialog] .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset [role=dialog] .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset [role=dialog] .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset [role=dialog] .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset [role=dialog] .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset [role=dialog] .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset [role=dialog] .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset [role=dialog] .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset [role=dialog] .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset [role=dialog] .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset [role=dialog] .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset [role=dialog] .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset [role=dialog] .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset [role=dialog] .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset [role=dialog] .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset [role=dialog] .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset [role=dialog] .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset [role=dialog] .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),[role=dialog] .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,[role=dialog] .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),[role=dialog] .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),[role=dialog] .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),[role=dialog] .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),[role=dialog] .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),[role=dialog] .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),[role=dialog] .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),[role=dialog] .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),[role=dialog] .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),[role=dialog] .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),[role=dialog] .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),[role=dialog] .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),[role=dialog] .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),[role=dialog] .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),[role=dialog] .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),[role=dialog] .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),[role=dialog] .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),[role=dialog] .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),[role=dialog] .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.25em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}@media print{.giscus,[id=__comments]{display:none}}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--quote);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.4rem;display:block;margin:0;padding:.8rem;transition:background-color .25s,border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}}
\ No newline at end of file
diff --git a/development/assets/stylesheets/main.b72b68c2.min.css.map b/development/assets/stylesheets/main.07d82dd6.min.css.map
similarity index 76%
rename from development/assets/stylesheets/main.b72b68c2.min.css.map
rename to development/assets/stylesheets/main.07d82dd6.min.css.map
index 9412d97e..98d4d098 100644
--- a/development/assets/stylesheets/main.b72b68c2.min.css.map
+++ b/development/assets/stylesheets/main.07d82dd6.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["src/templates/assets/stylesheets/main/components/_meta.scss","../../../../src/templates/assets/stylesheets/main.scss","src/templates/assets/stylesheets/main/_resets.scss","src/templates/assets/stylesheets/main/_colors.scss","src/templates/assets/stylesheets/main/_icons.scss","src/templates/assets/stylesheets/main/_typeset.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/templates/assets/stylesheets/main/components/_author.scss","src/templates/assets/stylesheets/main/components/_banner.scss","src/templates/assets/stylesheets/main/components/_base.scss","src/templates/assets/stylesheets/main/components/_clipboard.scss","src/templates/assets/stylesheets/main/components/_code.scss","src/templates/assets/stylesheets/main/components/_consent.scss","src/templates/assets/stylesheets/main/components/_content.scss","src/templates/assets/stylesheets/main/components/_dialog.scss","src/templates/assets/stylesheets/main/components/_feedback.scss","src/templates/assets/stylesheets/main/components/_footer.scss","src/templates/assets/stylesheets/main/components/_form.scss","src/templates/assets/stylesheets/main/components/_header.scss","node_modules/material-design-color/material-color.scss","src/templates/assets/stylesheets/main/components/_nav.scss","src/templates/assets/stylesheets/main/components/_pagination.scss","src/templates/assets/stylesheets/main/components/_path.scss","src/templates/assets/stylesheets/main/components/_post.scss","src/templates/assets/stylesheets/main/components/_progress.scss","src/templates/assets/stylesheets/main/components/_search.scss","src/templates/assets/stylesheets/main/components/_select.scss","src/templates/assets/stylesheets/main/components/_sidebar.scss","src/templates/assets/stylesheets/main/components/_source.scss","src/templates/assets/stylesheets/main/components/_status.scss","src/templates/assets/stylesheets/main/components/_tabs.scss","src/templates/assets/stylesheets/main/components/_tag.scss","src/templates/assets/stylesheets/main/components/_tooltip.scss","src/templates/assets/stylesheets/main/components/_tooltip2.scss","src/templates/assets/stylesheets/main/components/_top.scss","src/templates/assets/stylesheets/main/components/_version.scss","src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss","src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/templates/assets/stylesheets/main/integrations/_giscus.scss","src/templates/assets/stylesheets/main/integrations/_mermaid.scss","src/templates/assets/stylesheets/main/modifiers/_grid.scss","src/templates/assets/stylesheets/main/modifiers/_inline.scss"],"names":[],"mappings":"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4CrlJI,iCAUE,+BAAA,CACA,6BAAA,CALA,uCAAA,CAEA,cAAA,CAPA,aAAA,CAGA,eAAA,CACA,eAAA,CAFA,8BAAA,CAMA,+BAAA,CAGA,2CACE,CANF,kBAAA,CALA,U5CimJN,C4CllJM,aAII,6CACE,O5CilJV,C4CllJQ,8CACE,O5ColJV,C4CrlJQ,8CACE,O5CulJV,C4CxlJQ,8CACE,O5C0lJV,C4C3lJQ,8CACE,O5C6lJV,C4C9lJQ,8CACE,O5CgmJV,C4CjmJQ,8CACE,O5CmmJV,C4CpmJQ,8CACE,O5CsmJV,C4CvmJQ,8CACE,O5CymJV,C4C1mJQ,+CACE,Q5C4mJV,C4C7mJQ,+CACE,Q5C+mJV,C4ChnJQ,+CACE,Q5CknJV,C4CnnJQ,+CACE,Q5CqnJV,C4CtnJQ,+CACE,Q5CwnJV,C4CznJQ,+CACE,Q5C2nJV,C4C5nJQ,+CACE,Q5C8nJV,C4C/nJQ,+CACE,Q5CioJV,C4CloJQ,+CACE,Q5CooJV,C4CroJQ,+CACE,Q5CuoJV,C4CxoJQ,+CACE,Q5C0oJV,CACF,C4CroJM,uCACE,gC5CuoJR,C4CnoJM,oDACE,aAAA,CACA,oB5CqoJR,C4ChoJI,yCACE,S5CkoJN,C4C9nJM,2CACE,aAAA,CACA,8B5CgoJR,C4C1nJE,4BACE,U5C4nJJ,C4CznJI,aAJF,4BAKI,gB5C4nJJ,CACF,C4CxnJE,0BACE,Y5C0nJJ,C4CvnJI,aAJF,0BAKI,a5C0nJJ,C4CtnJM,sCACE,O5CwnJR,C4CznJM,uCACE,O5C2nJR,C4C5nJM,uCACE,O5C8nJR,C4C/nJM,uCACE,O5CioJR,C4CloJM,uCACE,O5CooJR,C4CroJM,uCACE,O5CuoJR,C4CxoJM,uCACE,O5C0oJR,C4C3oJM,uCACE,O5C6oJR,C4C9oJM,uCACE,O5CgpJR,C4CjpJM,wCACE,Q5CmpJR,C4CppJM,wCACE,Q5CspJR,C4CvpJM,wCACE,Q5CypJR,C4C1pJM,wCACE,Q5C4pJR,C4C7pJM,wCACE,Q5C+pJR,C4ChqJM,wCACE,Q5CkqJR,C4CnqJM,wCACE,Q5CqqJR,C4CtqJM,wCACE,Q5CwqJR,C4CzqJM,wCACE,Q5C2qJR,C4C5qJM,wCACE,Q5C8qJR,C4C/qJM,wCACE,Q5CirJR,CACF,C4C3qJI,+FAEE,Q5C6qJN,C4C1qJM,yGACE,wBAAA,CACA,yB5C6qJR,C4CpqJM,2DAEE,wBAAA,CACA,yBAAA,CAFA,Q5CwqJR,C4CjqJM,iEACE,Q5CmqJR,C4ChqJQ,qLAGE,wBAAA,CACA,yBAAA,CAFA,Q5CoqJV,C4C9pJQ,6FACE,wBAAA,CACA,yB5CgqJV,C4C3pJM,yDACE,kB5C6pJR,C4CxpJI,sCACE,Q5C0pJN,C4CrpJE,2BAEE,iBAAA,CAMA,mCAAA,CAAA,2BAAA,CADA,kDAAA,CAKA,kBAAA,CAHA,8BAAA,CAHA,uCAAA,CAKA,cAAA,CAVA,aAAA,CAGA,YAAA,CACA,gBAAA,CAKA,mBAAA,CAGA,0BAAA,CAVA,W5CiqJJ,C4CppJI,iCACE,sB5CspJN,C4ClpJI,iCAKE,6BAAA,CADA,UAAA,CAHA,aAAA,CAEA,WAAA,CAGA,8CAAA,CAAA,sCAAA,CAEA,4BAAA,CAAA,oBAAA,CADA,6BAAA,CAAA,qBAAA,CAEA,yBAAA,CAAA,iBAAA,CACA,+CACE,CATF,U5C4pJN,C4C7oJE,4BAEE,YAAA,CAGA,aAAA,CAFA,qBAAA,CAGA,mBAAA,CALA,iBAAA,CAMA,wBAAA,CAHA,Y5CkpJJ,C4C5oJI,sCACE,wB5C8oJN,C4C1oJI,oCACE,S5C4oJN,C4CxoJI,kCAEE,mBAAA,CADA,O5C2oJN,C4CvoJM,uDACE,8CAAA,CAAA,sC5CyoJR,CKvwJI,0CuC4IF,wDAEE,kB5CioJF,C4CnoJA,wDAEE,mB5CioJF,C4CnoJA,8CAGE,eAAA,CAFA,eAAA,CAGA,iC5C+nJF,C4C3nJE,8DACE,mB5C8nJJ,C4C/nJE,8DACE,kB5C8nJJ,C4C/nJE,oDAEE,U5C6nJJ,C4CznJE,8EAEE,kB5C4nJJ,C4C9nJE,8EAEE,mB5C4nJJ,C4C9nJE,8EAGE,kB5C2nJJ,C4C9nJE,8EAGE,mB5C2nJJ,C4C9nJE,oEACE,U5C6nJJ,C4CvnJE,8EAEE,mB5C0nJJ,C4C5nJE,8EAEE,kB5C0nJJ,C4C5nJE,8EAGE,mB5CynJJ,C4C5nJE,8EAGE,kB5CynJJ,C4C5nJE,oEACE,U5C2nJJ,CACF,C4C7mJE,cAHF,olDAKI,gCAAA,CADA,e5CinJF,C4CxmJE,wpOACE,uC5C6mJJ,CACF,C4CxmJA,4sDACE,+B5C2mJF,C4CvmJA,wmDACE,a5C0mJF,C6C3+JA,MACE,qWAAA,CACA,8W7C8+JF,C6Cr+JE,4BAEE,oBAAA,CADA,iB7Cy+JJ,C6Cp+JI,sDAEE,S7Cu+JN,C6Cz+JI,sDAEE,U7Cu+JN,C6Cz+JI,4CACE,iBAAA,CAEA,S7Cs+JN,C6Cj+JE,+CAEE,SAAA,CADA,U7Co+JJ,C6C/9JE,kDAEE,W7C0+JJ,C6C5+JE,kDAEE,Y7C0+JJ,C6C5+JE,wCAOE,qDAAA,CADA,UAAA,CADA,aAAA,CAGA,0CAAA,CAAA,kCAAA,CAEA,4BAAA,CAAA,oBAAA,CADA,6BAAA,CAAA,qBAAA,CAEA,yBAAA,CAAA,iBAAA,CAVA,iBAAA,CAEA,SAAA,CACA,Y7Cw+JJ,C6C79JE,gEACE,wB3B2Wa,C2B1Wb,mDAAA,CAAA,2C7C+9JJ,C8C/gKA,aAQE,wBACE,Y9C8gKF,CACF,C+CxhKA,QACE,8DAAA,CAGA,+CAAA,CACA,iEAAA,CACA,oDAAA,CACA,sDAAA,CACA,mDAAA,CAGA,qEAAA,CACA,qEAAA,CACA,wEAAA,CACA,wEAAA,CACA,wEAAA,CACA,yEAAA,CACA,kEAAA,CACA,+DAAA,CACA,oEAAA,CACA,oEAAA,CACA,mEAAA,CACA,gEAAA,CACA,uEAAA,CACA,mEAAA,CACA,qEAAA,CACA,oEAAA,CACA,gEAAA,CACA,wEAAA,CACA,qEAAA,CACA,+D/CshKF,C+ChhKA,SAEE,kBAAA,CADA,Y/CohKF,CgDtjKE,kBAUE,cAAA,CATA,YAAA,CACA,kEACE,CAQF,YhDkjKJ,CgD9iKI,sDACE,gBhDgjKN,CgD1iKI,oFAKE,wDAAA,CACA,mBAAA,CAJA,aAAA,CAEA,QAAA,CADA,aAAA,CAIA,4DhD4iKN,CgDtiKM,iOACE,kBAAA,CACA,8BhDyiKR,CgDriKM,6FACE,iBAAA,CAAA,chDwiKR,CgDpiKM,2HACE,YhDuiKR,CgDniKM,wHACE,ehDsiKR,CgDvhKI,yMAGE,eAAA,CAAA,YhD+hKN,CgDjhKI,ybAOE,WhDuhKN,CgDnhKI,8BACE,eAAA,CAAA,YhDqhKN,CKl9JI,mC4ChKA,8BACE,UjD0nKJ,CiD3nKE,8BACE,WjD0nKJ,CiD3nKE,8BAGE,kBjDwnKJ,CiD3nKE,8BAGE,iBjDwnKJ,CiD3nKE,oBAKE,mBAAA,CADA,YAAA,CAFA,ajDynKJ,CiDnnKI,kCACE,WjDsnKN,CiDvnKI,kCACE,UjDsnKN,CiDvnKI,kCAEE,iBAAA,CAAA,cjDqnKN,CiDvnKI,kCAEE,aAAA,CAAA,kBjDqnKN,CACF","file":"main.css"}
\ No newline at end of file
+{"version":3,"sources":["src/templates/assets/stylesheets/main/components/_meta.scss","../../../../src/templates/assets/stylesheets/main.scss","src/templates/assets/stylesheets/main/_resets.scss","src/templates/assets/stylesheets/main/_colors.scss","src/templates/assets/stylesheets/main/_icons.scss","src/templates/assets/stylesheets/main/_typeset.scss","src/templates/assets/stylesheets/utilities/_break.scss","src/templates/assets/stylesheets/main/components/_author.scss","src/templates/assets/stylesheets/main/components/_banner.scss","src/templates/assets/stylesheets/main/components/_base.scss","src/templates/assets/stylesheets/main/components/_clipboard.scss","src/templates/assets/stylesheets/main/components/_code.scss","src/templates/assets/stylesheets/main/components/_consent.scss","src/templates/assets/stylesheets/main/components/_content.scss","src/templates/assets/stylesheets/main/components/_dialog.scss","src/templates/assets/stylesheets/main/components/_feedback.scss","src/templates/assets/stylesheets/main/components/_footer.scss","src/templates/assets/stylesheets/main/components/_form.scss","src/templates/assets/stylesheets/main/components/_header.scss","node_modules/material-design-color/material-color.scss","src/templates/assets/stylesheets/main/components/_nav.scss","src/templates/assets/stylesheets/main/components/_pagination.scss","src/templates/assets/stylesheets/main/components/_path.scss","src/templates/assets/stylesheets/main/components/_post.scss","src/templates/assets/stylesheets/main/components/_progress.scss","src/templates/assets/stylesheets/main/components/_search.scss","src/templates/assets/stylesheets/main/components/_select.scss","src/templates/assets/stylesheets/main/components/_sidebar.scss","src/templates/assets/stylesheets/main/components/_source.scss","src/templates/assets/stylesheets/main/components/_status.scss","src/templates/assets/stylesheets/main/components/_tabs.scss","src/templates/assets/stylesheets/main/components/_tag.scss","src/templates/assets/stylesheets/main/components/_tooltip.scss","src/templates/assets/stylesheets/main/components/_tooltip2.scss","src/templates/assets/stylesheets/main/components/_top.scss","src/templates/assets/stylesheets/main/components/_version.scss","src/templates/assets/stylesheets/main/extensions/markdown/_admonition.scss","src/templates/assets/stylesheets/main/extensions/markdown/_footnotes.scss","src/templates/assets/stylesheets/main/extensions/markdown/_toc.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_arithmatex.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_critic.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_details.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_emoji.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_highlight.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_keys.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tabbed.scss","src/templates/assets/stylesheets/main/extensions/pymdownx/_tasklist.scss","src/templates/assets/stylesheets/main/integrations/_giscus.scss","src/templates/assets/stylesheets/main/integrations/_mermaid.scss","src/templates/assets/stylesheets/main/modifiers/_grid.scss","src/templates/assets/stylesheets/main/modifiers/_inline.scss"],"names":[],"mappings":"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,U5C8lJN,C4C/kJM,aAII,6CACE,O5C8kJV,C4C/kJQ,8CACE,O5CilJV,C4CllJQ,8CACE,O5ColJV,C4CrlJQ,8CACE,O5CulJV,C4CxlJQ,8CACE,O5C0lJV,C4C3lJQ,8CACE,O5C6lJV,C4C9lJQ,8CACE,O5CgmJV,C4CjmJQ,8CACE,O5CmmJV,C4CpmJQ,8CACE,O5CsmJV,C4CvmJQ,+CACE,Q5CymJV,C4C1mJQ,+CACE,Q5C4mJV,C4C7mJQ,+CACE,Q5C+mJV,C4ChnJQ,+CACE,Q5CknJV,C4CnnJQ,+CACE,Q5CqnJV,C4CtnJQ,+CACE,Q5CwnJV,C4CznJQ,+CACE,Q5C2nJV,C4C5nJQ,+CACE,Q5C8nJV,C4C/nJQ,+CACE,Q5CioJV,C4CloJQ,+CACE,Q5CooJV,C4CroJQ,+CACE,Q5CuoJV,CACF,C4CloJM,uCACE,gC5CooJR,C4ChoJM,oDACE,aAAA,CACA,oB5CkoJR,C4C7nJI,yCACE,S5C+nJN,C4C3nJM,2CACE,aAAA,CACA,8B5C6nJR,C4CvnJE,4BACE,U5CynJJ,C4CtnJI,aAJF,4BAKI,gB5CynJJ,CACF,C4CrnJE,0BACE,Y5CunJJ,C4CpnJI,aAJF,0BAKI,a5CunJJ,C4CnnJM,sCACE,O5CqnJR,C4CtnJM,uCACE,O5CwnJR,C4CznJM,uCACE,O5C2nJR,C4C5nJM,uCACE,O5C8nJR,C4C/nJM,uCACE,O5CioJR,C4CloJM,uCACE,O5CooJR,C4CroJM,uCACE,O5CuoJR,C4CxoJM,uCACE,O5C0oJR,C4C3oJM,uCACE,O5C6oJR,C4C9oJM,wCACE,Q5CgpJR,C4CjpJM,wCACE,Q5CmpJR,C4CppJM,wCACE,Q5CspJR,C4CvpJM,wCACE,Q5CypJR,C4C1pJM,wCACE,Q5C4pJR,C4C7pJM,wCACE,Q5C+pJR,C4ChqJM,wCACE,Q5CkqJR,C4CnqJM,wCACE,Q5CqqJR,C4CtqJM,wCACE,Q5CwqJR,C4CzqJM,wCACE,Q5C2qJR,C4C5qJM,wCACE,Q5C8qJR,CACF,C4CxqJI,+FAEE,Q5C0qJN,C4CvqJM,yGACE,wBAAA,CACA,yB5C0qJR,C4CjqJM,2DAEE,wBAAA,CACA,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","file":"main.css"}
\ No newline at end of file
diff --git a/development/index.html b/development/index.html
index 7cc5b909..13ae9e8b 100644
--- a/development/index.html
+++ b/development/index.html
@@ -1 +1 @@
- Headscale
Headscale Welcome
Welcome to headscale¶
Headscale is an open source, self-hosted implementation of the Tailscale control server.
This page contains the documentation for the latest version of headscale. Please also check our FAQ.
Join our Discord server for a chat and community support.
Design goal¶
Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. It implements a narrow scope, a single Tailscale network (tailnet), suitable for a personal use, or a small open-source organisation.
Supporting headscale¶
Please see Sponsor for more information.
Contributing¶
Headscale is "Open Source, acknowledged contribution", this means that any contribution will have to be discussed with the Maintainers before being submitted.
Please see Contributing for more information.
About¶
Headscale is maintained by Kristoffer Dalby and Juan Font.
\ No newline at end of file
+ Headscale
Headscale Welcome
Welcome to headscale¶
Headscale is an open source, self-hosted implementation of the Tailscale control server.
This page contains the documentation for the latest version of headscale. Please also check our FAQ.
Join our Discord server for a chat and community support.
Design goal¶
Headscale aims to implement a self-hosted, open source alternative to the Tailscale control server. Headscale's goal is to provide self-hosters and hobbyists with an open-source server they can use for their projects and labs. It implements a narrow scope, a single Tailscale network (tailnet), suitable for a personal use, or a small open-source organisation.
Supporting headscale¶
Please see Sponsor for more information.
Contributing¶
Headscale is "Open Source, acknowledged contribution", this means that any contribution will have to be discussed with the Maintainers before being submitted.
Please see Contributing for more information.
About¶
Headscale is maintained by Kristoffer Dalby and Juan Font.
\ No newline at end of file
diff --git a/development/ref/acls/index.html b/development/ref/acls/index.html
index 5ef104d1..490d661b 100644
--- a/development/ref/acls/index.html
+++ b/development/ref/acls/index.html
@@ -1,4 +1,4 @@
- ACLs - Headscale
Headscale ACLs
ACLs
Headscale implements the same policy ACLs as Tailscale.com, adapted to the self-hosted environment.
For instance, instead of referring to users when defining groups you must use users (which are the equivalent to user/logins in Tailscale.com).
Please check https://tailscale.com/kb/1018/acls/ for further information.
When using ACL's the User borders are no longer applied. All machines whichever the User have the ability to communicate with other hosts as long as the ACL's permits this exchange.
ACL Setup¶
To enable and configure ACLs in Headscale, you need to specify the path to your ACL policy file in the policy.path key in config.yaml.
Your ACL policy file must be formatted using huJSON.
Info on how these policies are written can be found here.
Please reload or restart Headscale after updating the ACL file. Headscale may be reloaded either via its systemd service (sudo systemctl reload headscale) or by sending a SIGHUP signal (sudo kill -HUP $(pidof headscale)) to the main process. Headscale logs the result of ACL policy processing after each reload.
Simple Examples¶
-
Allow All: If you define an ACL file but completely omit the "acls" field from its content, Headscale will default to an "allow all" policy. This means all devices connected to your tailnet will be able to communicate freely with each other.
{}
+ ACLs - Headscale
Headscale ACLs
ACLs
Headscale implements the same policy ACLs as Tailscale.com, adapted to the self-hosted environment.
For instance, instead of referring to users when defining groups you must use users (which are the equivalent to user/logins in Tailscale.com).
Please check https://tailscale.com/kb/1018/acls/ for further information.
When using ACL's the User borders are no longer applied. All machines whichever the User have the ability to communicate with other hosts as long as the ACL's permits this exchange.
ACL Setup¶
To enable and configure ACLs in Headscale, you need to specify the path to your ACL policy file in the policy.path key in config.yaml.
Your ACL policy file must be formatted using huJSON.
Info on how these policies are written can be found here.
Please reload or restart Headscale after updating the ACL file. Headscale may be reloaded either via its systemd service (sudo systemctl reload headscale) or by sending a SIGHUP signal (sudo kill -HUP $(pidof headscale)) to the main process. Headscale logs the result of ACL policy processing after each reload.
Simple Examples¶
-
Allow All: If you define an ACL file but completely omit the "acls" field from its content, Headscale will default to an "allow all" policy. This means all devices connected to your tailnet will be able to communicate freely with each other.
-
Deny All: To prevent all communication within your tailnet, you can include an empty array for the "acls" field in your policy file.
{
"acls": []
}
diff --git a/development/ref/api/index.html b/development/ref/api/index.html
index 05a15eb0..cac2cc41 100644
--- a/development/ref/api/index.html
+++ b/development/ref/api/index.html
@@ -1,4 +1,4 @@
- API - Headscale
Headscale API
API¶
Headscale provides a HTTP REST API and a gRPC interface which may be used to integrate a web interface, remote control Headscale or provide a base for custom integration and tooling.
Both interfaces require a valid API key before use. To create an API key, log into your Headscale server and generate one with the default expiration of 90 days:
headscale apikeys create
+ API - Headscale
Headscale API
API¶
Headscale provides a HTTP REST API and a gRPC interface which may be used to integrate a web interface, remote control Headscale or provide a base for custom integration and tooling.
Both interfaces require a valid API key before use. To create an API key, log into your Headscale server and generate one with the default expiration of 90 days:
Copy the output of the command and save it for later. Please note that you can not retrieve an API key again. If the API key is lost, expire the old one, and create a new one.
To list the API keys currently associated with the server:
and to expire an API key:
REST API¶
- API endpoint:
/api/v1, e.g. https://headscale.example.com/api/v1 - Documentation:
/swagger, e.g. https://headscale.example.com/swagger - Headscale Version:
/version, e.g. https://headscale.example.com/version - Authenticate using HTTP Bearer authentication by sending the API key with the HTTP
Authorization: Bearer <API_KEY> header.
Start by creating an API key and test it with the examples below. Read the API documentation provided by your Headscale server at /swagger for details.
curl -H "Authorization: Bearer <API_KEY>" \
diff --git a/development/ref/configuration/index.html b/development/ref/configuration/index.html
index fee72276..6d11e7fa 100644
--- a/development/ref/configuration/index.html
+++ b/development/ref/configuration/index.html
@@ -1,4 +1,4 @@
- Configuration - Headscale
Headscale Configuration
Configuration¶
- Headscale loads its configuration from a YAML file
- It searches for
config.yaml in the following paths: /etc/headscale $HOME/.headscale - the current working directory
- To load the configuration from a different path, use:
- the command line flag
-c, --config - the environment variable
HEADSCALE_CONFIG
- Validate the configuration file with:
headscale configtest
Get the example configuration from the GitHub repository
Always select the same GitHub tag as the released version you use to ensure you have the correct example configuration. The main branch might contain unreleased changes.
- Development version: https://github.com/juanfont/headscale/blob/main/config-example.yaml
- Version 0.28.0: https://github.com/juanfont/headscale/blob/v0.28.0/config-example.yaml
# Development version
+ Configuration - Headscale
Headscale Configuration
Configuration¶
- Headscale loads its configuration from a YAML file
- It searches for
config.yaml in the following paths: /etc/headscale $HOME/.headscale - the current working directory
- To load the configuration from a different path, use:
- the command line flag
-c, --config - the environment variable
HEADSCALE_CONFIG
- Validate the configuration file with:
headscale configtest
Get the example configuration from the GitHub repository
Always select the same GitHub tag as the released version you use to ensure you have the correct example configuration. The main branch might contain unreleased changes.
- Development version: https://github.com/juanfont/headscale/blob/main/config-example.yaml
- Version 0.28.0: https://github.com/juanfont/headscale/blob/v0.28.0/config-example.yaml
# Development version
wget -O config.yaml https://raw.githubusercontent.com/juanfont/headscale/main/config-example.yaml
# Version 0.28.0
diff --git a/development/ref/debug/index.html b/development/ref/debug/index.html
index c152bfd6..5c5a15ed 100644
--- a/development/ref/debug/index.html
+++ b/development/ref/debug/index.html
@@ -1,4 +1,4 @@
- Debug - Headscale
Headscale Debug
Debugging and troubleshooting¶
Headscale and Tailscale provide debug and introspection capabilities that can be helpful when things don't work as expected. This page explains some debugging techniques to help pinpoint problems.
Please also have a look at Tailscale's Troubleshooting guide. It offers a many tips and suggestions to troubleshoot common issues.
Tailscale¶
The Tailscale client itself offers many commands to introspect its state as well as the state of the network:
- Check local network conditions:
tailscale netcheck - Get the client status:
tailscale status --json - Get DNS status:
tailscale dns status --all - Client logs:
tailscale debug daemon-logs - Client netmap:
tailscale debug netmap - Test DERP connection:
tailscale debug derp headscale - And many more, see:
tailscale debug --help
Many of the commands are helpful when trying to understand differences between Headscale and Tailscale SaaS.
Headscale¶
Application logging¶
The log levels debug and trace can be useful to get more information from Headscale.
log:
+ Debug - Headscale
Headscale Debug
Debugging and troubleshooting¶
Headscale and Tailscale provide debug and introspection capabilities that can be helpful when things don't work as expected. This page explains some debugging techniques to help pinpoint problems.
Please also have a look at Tailscale's Troubleshooting guide. It offers a many tips and suggestions to troubleshoot common issues.
Tailscale¶
The Tailscale client itself offers many commands to introspect its state as well as the state of the network:
- Check local network conditions:
tailscale netcheck - Get the client status:
tailscale status --json - Get DNS status:
tailscale dns status --all - Client logs:
tailscale debug daemon-logs - Client netmap:
tailscale debug netmap - Test DERP connection:
tailscale debug derp headscale - And many more, see:
tailscale debug --help
Many of the commands are helpful when trying to understand differences between Headscale and Tailscale SaaS.
Headscale¶
Application logging¶
The log levels debug and trace can be useful to get more information from Headscale.
Database logging¶
The database debug mode logs all database queries. Enable it to see how Headscale interacts with its database. This also requires the application log level to be set to either debug or trace.
database:
diff --git a/development/ref/derp/index.html b/development/ref/derp/index.html
index 18dbec04..ad5f4ecc 100644
--- a/development/ref/derp/index.html
+++ b/development/ref/derp/index.html
@@ -1,4 +1,4 @@
- DERP - Headscale
Headscale DERP
DERP¶
A DERP (Designated Encrypted Relay for Packets) server is mainly used to relay traffic between two nodes in case a direct connection can't be established. Headscale provides an embedded DERP server to ensure seamless connectivity between nodes.
Configuration¶
DERP related settings are configured within the derp section of the configuration file. The following sections only use a few of the available settings, check the example configuration for all available configuration options.
Enable embedded DERP¶
Headscale ships with an embedded DERP server which allows to run your own self-hosted DERP server easily. The embedded DERP server is disabled by default and needs to be enabled. In addition, you should configure the public IPv4 and public IPv6 address of your Headscale server for improved connection stability:
config.yamlderp:
+ DERP - Headscale
Headscale DERP
DERP¶
A DERP (Designated Encrypted Relay for Packets) server is mainly used to relay traffic between two nodes in case a direct connection can't be established. Headscale provides an embedded DERP server to ensure seamless connectivity between nodes.
Configuration¶
DERP related settings are configured within the derp section of the configuration file. The following sections only use a few of the available settings, check the example configuration for all available configuration options.
Enable embedded DERP¶
Headscale ships with an embedded DERP server which allows to run your own self-hosted DERP server easily. The embedded DERP server is disabled by default and needs to be enabled. In addition, you should configure the public IPv4 and public IPv6 address of your Headscale server for improved connection stability:
config.yamlderp:
server:
enabled: true
ipv4: 198.51.100.1
diff --git a/development/ref/dns/index.html b/development/ref/dns/index.html
index 8b457ea0..51d38dae 100644
--- a/development/ref/dns/index.html
+++ b/development/ref/dns/index.html
@@ -1,4 +1,4 @@
- DNS - Headscale
Headscale DNS
DNS¶
Headscale supports most DNS features from Tailscale. DNS related settings can be configured within the dns section of the configuration file.
Setting extra DNS records¶
Headscale allows to set extra DNS records which are made available via MagicDNS. Extra DNS records can be configured either via static entries in the configuration file or from a JSON file that Headscale continuously watches for changes:
- Use the
dns.extra_records option in the configuration file for entries that are static and don't change while Headscale is running. Those entries are processed when Headscale is starting up and changes to the configuration require a restart of Headscale. - For dynamic DNS records that may be added, updated or removed while Headscale is running or DNS records that are generated by scripts the option
dns.extra_records_path in the configuration file is useful. Set it to the absolute path of the JSON file containing DNS records and Headscale processes this file as it detects changes.
An example use case is to serve multiple apps on the same host via a reverse proxy like NGINX, in this case a Prometheus monitoring stack. This allows to nicely access the service with "http://grafana.myvpn.example.com" instead of the hostname and port combination "http://hostname-in-magic-dns.myvpn.example.com:3000".
Limitations
Currently, only A and AAAA records are processed by Tailscale.
-
Configure extra DNS records using one of the available configuration options:
config.yamldns:
+ DNS - Headscale
Headscale DNS
DNS¶
Headscale supports most DNS features from Tailscale. DNS related settings can be configured within the dns section of the configuration file.
Setting extra DNS records¶
Headscale allows to set extra DNS records which are made available via MagicDNS. Extra DNS records can be configured either via static entries in the configuration file or from a JSON file that Headscale continuously watches for changes:
- Use the
dns.extra_records option in the configuration file for entries that are static and don't change while Headscale is running. Those entries are processed when Headscale is starting up and changes to the configuration require a restart of Headscale. - For dynamic DNS records that may be added, updated or removed while Headscale is running or DNS records that are generated by scripts the option
dns.extra_records_path in the configuration file is useful. Set it to the absolute path of the JSON file containing DNS records and Headscale processes this file as it detects changes.
An example use case is to serve multiple apps on the same host via a reverse proxy like NGINX, in this case a Prometheus monitoring stack. This allows to nicely access the service with "http://grafana.myvpn.example.com" instead of the hostname and port combination "http://hostname-in-magic-dns.myvpn.example.com:3000".
Limitations
Currently, only A and AAAA records are processed by Tailscale.
-
Configure extra DNS records using one of the available configuration options:
config.yamldns:
...
extra_records:
- name: "grafana.myvpn.example.com"
diff --git a/development/ref/integration/reverse-proxy/index.html b/development/ref/integration/reverse-proxy/index.html
index 8467b623..942f7f89 100644
--- a/development/ref/integration/reverse-proxy/index.html
+++ b/development/ref/integration/reverse-proxy/index.html
@@ -1,4 +1,4 @@
- Reverse proxy - Headscale
Headscale Reverse proxy
Running headscale behind a reverse proxy¶
Community documentation
This page is not actively maintained by the headscale authors and is written by community members. It is not verified by headscale developers.
It might be outdated and it might miss necessary steps.
Running headscale behind a reverse proxy is useful when running multiple applications on the same server, and you want to reuse the same external IP and port - usually tcp/443 for HTTPS.
WebSockets¶
The reverse proxy MUST be configured to support WebSockets to communicate with Tailscale clients.
WebSockets support is also required when using the Headscale embedded DERP server. In this case, you will also need to expose the UDP port used for STUN (by default, udp/3478). Please check our config-example.yaml.
Cloudflare¶
Running headscale behind a cloudflare proxy or cloudflare tunnel is not supported and will not work as Cloudflare does not support WebSocket POSTs as required by the Tailscale protocol. See this issue
TLS¶
Headscale can be configured not to use TLS, leaving it to the reverse proxy to handle. Add the following configuration values to your headscale config file.
config.yamlserver_url: https://<YOUR_SERVER_NAME> # This should be the FQDN at which headscale will be served
+ Reverse proxy - Headscale
Headscale Reverse proxy
Running headscale behind a reverse proxy¶
Community documentation
This page is not actively maintained by the headscale authors and is written by community members. It is not verified by headscale developers.
It might be outdated and it might miss necessary steps.
Running headscale behind a reverse proxy is useful when running multiple applications on the same server, and you want to reuse the same external IP and port - usually tcp/443 for HTTPS.
WebSockets¶
The reverse proxy MUST be configured to support WebSockets to communicate with Tailscale clients.
WebSockets support is also required when using the Headscale embedded DERP server. In this case, you will also need to expose the UDP port used for STUN (by default, udp/3478). Please check our config-example.yaml.
Cloudflare¶
Running headscale behind a cloudflare proxy or cloudflare tunnel is not supported and will not work as Cloudflare does not support WebSocket POSTs as required by the Tailscale protocol. See this issue
TLS¶
Headscale can be configured not to use TLS, leaving it to the reverse proxy to handle. Add the following configuration values to your headscale config file.
config.yamlserver_url: https://<YOUR_SERVER_NAME> # This should be the FQDN at which headscale will be served
listen_addr: 0.0.0.0:8080
metrics_listen_addr: 0.0.0.0:9090
tls_cert_path: ""
diff --git a/development/ref/integration/tools/index.html b/development/ref/integration/tools/index.html
index a2a66fa5..431e2e0d 100644
--- a/development/ref/integration/tools/index.html
+++ b/development/ref/integration/tools/index.html
@@ -1 +1 @@
- Tools - Headscale
Headscale Tools
Tools related to headscale¶
Community contributions
This page contains community contributions. The projects listed here are not maintained by the headscale authors and are written by community members.
This page collects third-party tools, client libraries, and scripts related to headscale.
- headscale-operator - Headscale Kubernetes Operator
- tailscale-manager - Dynamically manage Tailscale route advertisements
- headscalebacktosqlite - Migrate headscale from PostgreSQL back to SQLite
- headscale-pf - Populates user groups based on user groups in Jumpcloud or Authentik
- headscale-client-go - A Go client implementation for the Headscale HTTP API.
- headscale-zabbix - A Zabbix Monitoring Template for the Headscale Service.
- tailscale-exporter - A Prometheus exporter for Headscale that provides network-level metrics using the Headscale API.
\ No newline at end of file
+ Tools - Headscale
Headscale Tools
Tools related to headscale¶
Community contributions
This page contains community contributions. The projects listed here are not maintained by the headscale authors and are written by community members.
This page collects third-party tools, client libraries, and scripts related to headscale.
- headscale-operator - Headscale Kubernetes Operator
- tailscale-manager - Dynamically manage Tailscale route advertisements
- headscalebacktosqlite - Migrate headscale from PostgreSQL back to SQLite
- headscale-pf - Populates user groups based on user groups in Jumpcloud or Authentik
- headscale-client-go - A Go client implementation for the Headscale HTTP API.
- headscale-zabbix - A Zabbix Monitoring Template for the Headscale Service.
- tailscale-exporter - A Prometheus exporter for Headscale that provides network-level metrics using the Headscale API.
\ No newline at end of file
diff --git a/development/ref/integration/web-ui/index.html b/development/ref/integration/web-ui/index.html
index 343cd4da..a66cb7a6 100644
--- a/development/ref/integration/web-ui/index.html
+++ b/development/ref/integration/web-ui/index.html
@@ -1 +1 @@
- Web UI - Headscale
Headscale Web UI
Web interfaces for headscale¶
Community contributions
This page contains community contributions. The projects listed here are not maintained by the headscale authors and are written by community members.
Headscale doesn't provide a built-in web interface but users may pick one from the available options.
- headscale-ui - A web frontend for the headscale Tailscale-compatible coordination server
- HeadscaleUi - A static headscale admin ui, no backend environment required
- Headplane - An advanced Tailscale inspired frontend for headscale
- headscale-admin - Headscale-Admin is meant to be a simple, modern web interface for headscale
- ouroboros - Ouroboros is designed for users to manage their own devices, rather than for admins
- unraid-headscale-admin - A simple headscale admin UI for Unraid, it offers Local (
docker exec) and API Mode - headscale-console - WebAssembly-based client supporting SSH, VNC and RDP with optional self-service capabilities
- headscale-piying - headscale web ui,support visual ACL configuration
- HeadControl - Minimal Headscale admin dashboard, built with Go and HTMX
- Headscale Manager - Headscale UI for Android
You can ask for support on our Discord server in the "web-interfaces" channel.
\ No newline at end of file
+ Web UI - Headscale
Headscale Web UI
Web interfaces for headscale¶
Community contributions
This page contains community contributions. The projects listed here are not maintained by the headscale authors and are written by community members.
Headscale doesn't provide a built-in web interface but users may pick one from the available options.
- headscale-ui - A web frontend for the headscale Tailscale-compatible coordination server
- HeadscaleUi - A static headscale admin ui, no backend environment required
- Headplane - An advanced Tailscale inspired frontend for headscale
- headscale-admin - Headscale-Admin is meant to be a simple, modern web interface for headscale
- ouroboros - Ouroboros is designed for users to manage their own devices, rather than for admins
- unraid-headscale-admin - A simple headscale admin UI for Unraid, it offers Local (
docker exec) and API Mode - headscale-console - WebAssembly-based client supporting SSH, VNC and RDP with optional self-service capabilities
- headscale-piying - headscale web ui,support visual ACL configuration
- HeadControl - Minimal Headscale admin dashboard, built with Go and HTMX
- Headscale Manager - Headscale UI for Android
You can ask for support on our Discord server in the "web-interfaces" channel.
\ No newline at end of file
diff --git a/development/ref/oidc/index.html b/development/ref/oidc/index.html
index 12dbc6e2..e26bf653 100644
--- a/development/ref/oidc/index.html
+++ b/development/ref/oidc/index.html
@@ -1,4 +1,4 @@
- OpenID Connect - Headscale
Headscale OpenID Connect
OpenID Connect¶
Headscale supports authentication via external identity providers using OpenID Connect (OIDC). It features:
- Auto configuration via OpenID Connect Discovery Protocol
- Proof Key for Code Exchange (PKCE) code verification
- Authorization based on a user's domain, email address or group membership
- Synchronization of standard OIDC claims
Please see limitations for known issues and limitations.
Configuration¶
OpenID requires configuration in Headscale and your identity provider:
- Headscale: The
oidc section of the Headscale configuration contains all available configuration options along with a description and their default values. - Identity provider: Please refer to the official documentation of your identity provider for specific instructions. Additionally, there might be some useful hints in the Identity provider specific configuration section below.
Basic configuration¶
A basic configuration connects Headscale to an identity provider and typically requires:
- OpenID Connect Issuer URL from the identity provider. Headscale uses the OpenID Connect Discovery Protocol 1.0 to automatically obtain OpenID configuration parameters (example:
https://sso.example.com). - Client ID from the identity provider (example:
headscale). - Client secret generated by the identity provider (example:
generated-secret). - Redirect URI for your identity provider (example:
https://headscale.example.com/oidc/callback).
oidc:
+ OpenID Connect - Headscale
Headscale OpenID Connect
OpenID Connect¶
Headscale supports authentication via external identity providers using OpenID Connect (OIDC). It features:
- Auto configuration via OpenID Connect Discovery Protocol
- Proof Key for Code Exchange (PKCE) code verification
- Authorization based on a user's domain, email address or group membership
- Synchronization of standard OIDC claims
Please see limitations for known issues and limitations.
Configuration¶
OpenID requires configuration in Headscale and your identity provider:
- Headscale: The
oidc section of the Headscale configuration contains all available configuration options along with a description and their default values. - Identity provider: Please refer to the official documentation of your identity provider for specific instructions. Additionally, there might be some useful hints in the Identity provider specific configuration section below.
Basic configuration¶
A basic configuration connects Headscale to an identity provider and typically requires:
- OpenID Connect Issuer URL from the identity provider. Headscale uses the OpenID Connect Discovery Protocol 1.0 to automatically obtain OpenID configuration parameters (example:
https://sso.example.com). - Client ID from the identity provider (example:
headscale). - Client secret generated by the identity provider (example:
generated-secret). - Redirect URI for your identity provider (example:
https://headscale.example.com/oidc/callback).
oidc:
issuer: "https://sso.example.com"
client_id: "headscale"
client_secret: "generated-secret"
diff --git a/development/ref/registration/index.html b/development/ref/registration/index.html
index b8206af3..1d9ea63a 100644
--- a/development/ref/registration/index.html
+++ b/development/ref/registration/index.html
@@ -1,4 +1,4 @@
- Registration methods - Headscale
Headscale Registration methods
Registration methods¶
Headscale supports multiple ways to register a node. The preferred registration method depends on the identity of a node and your use case.
Identity model¶
Tailscale's identity model distinguishes between personal and tagged nodes:
- A personal node (or user-owned node) is owned by a human and typically refers to end-user devices such as laptops, workstations or mobile phones. End-user devices are managed by a single user.
- A tagged node (or service-based node or non-human node) provides services to the network. Common examples include web- and database servers. Those nodes are typically managed by a team of users. Some additional restrictions apply for tagged nodes, e.g. a tagged node is not allowed to Tailscale SSH into a personal node.
Headscale implements Tailscale's identity model and distinguishes between personal and tagged nodes where a personal node is owned by a Headscale user and a tagged node is owned by a tag. Tagged devices are grouped under the special user tagged-devices.
Registration methods¶
There are two main ways to register new nodes, web authentication and registration with a pre authenticated key. Both methods can be used to register personal and tagged nodes.
Web authentication¶
Web authentication is the default method to register a new node. It's interactive, where the client initiates the registration and the Headscale administrator needs to approve the new node before it is allowed to join the network. A node can be approved with:
- Headscale CLI (described in this documentation)
- Headscale API
- Or delegated to an identity provider via OpenID Connect
Web authentication relies on the presence of a Headscale user. Use the headscale users command to create a new user1:
headscale users create <USER>
+ Registration methods - Headscale
Headscale Registration methods
Registration methods¶
Headscale supports multiple ways to register a node. The preferred registration method depends on the identity of a node and your use case.
Identity model¶
Tailscale's identity model distinguishes between personal and tagged nodes:
- A personal node (or user-owned node) is owned by a human and typically refers to end-user devices such as laptops, workstations or mobile phones. End-user devices are managed by a single user.
- A tagged node (or service-based node or non-human node) provides services to the network. Common examples include web- and database servers. Those nodes are typically managed by a team of users. Some additional restrictions apply for tagged nodes, e.g. a tagged node is not allowed to Tailscale SSH into a personal node.
Headscale implements Tailscale's identity model and distinguishes between personal and tagged nodes where a personal node is owned by a Headscale user and a tagged node is owned by a tag. Tagged devices are grouped under the special user tagged-devices.
Registration methods¶
There are two main ways to register new nodes, web authentication and registration with a pre authenticated key. Both methods can be used to register personal and tagged nodes.
Web authentication¶
Web authentication is the default method to register a new node. It's interactive, where the client initiates the registration and the Headscale administrator needs to approve the new node before it is allowed to join the network. A node can be approved with:
- Headscale CLI (described in this documentation)
- Headscale API
- Or delegated to an identity provider via OpenID Connect
Web authentication relies on the presence of a Headscale user. Use the headscale users command to create a new user1:
Run tailscale up to login your personal device:
Usually, a browser window with further instructions is opened. This page explains how to complete the registration on your Headscale server and it also prints the Auth ID required to approve the node:
Congrations, the registration of your personal node is complete and it should be listed as "online" in the output of headscale nodes list. The "User" column displays <USER> as the owner of the node.
Your Headscale user needs to be authorized to register tagged devices. This authorization is specified in the tagOwners section of the ACL. A simple example looks like this:
The user alice can register nodes tagged with tag:server{
diff --git a/development/ref/routes/index.html b/development/ref/routes/index.html
index f42cf989..313aec0f 100644
--- a/development/ref/routes/index.html
+++ b/development/ref/routes/index.html
@@ -1,4 +1,4 @@
- Routes - Headscale
Headscale Routes
Routes¶
Headscale supports route advertising and can be used to manage subnet routers and exit nodes for a tailnet.
- Subnet routers may be used to connect an existing network such as a virtual private cloud or an on-premise network with your tailnet. Use a subnet router to access devices where Tailscale can't be installed or to gradually rollout Tailscale.
- Exit nodes can be used to route all Internet traffic for another Tailscale node. Use it to securely access the Internet on an untrusted Wi-Fi or to access online services that expect traffic from a specific IP address.
Subnet router¶
The setup of a subnet router requires double opt-in, once from a subnet router and once on the control server to allow its use within the tailnet. Optionally, use autoApprovers to automatically approve routes from a subnet router.
Setup a subnet router¶
Configure a node as subnet router¶
Register a node and advertise the routes it should handle as comma separated list:
$ sudo tailscale up --login-server <YOUR_HEADSCALE_URL> --advertise-routes=10.0.0.0/8,192.168.0.0/24
+ Routes - Headscale
Headscale Routes
Routes¶
Headscale supports route advertising and can be used to manage subnet routers and exit nodes for a tailnet.
- Subnet routers may be used to connect an existing network such as a virtual private cloud or an on-premise network with your tailnet. Use a subnet router to access devices where Tailscale can't be installed or to gradually rollout Tailscale.
- Exit nodes can be used to route all Internet traffic for another Tailscale node. Use it to securely access the Internet on an untrusted Wi-Fi or to access online services that expect traffic from a specific IP address.
Subnet router¶
The setup of a subnet router requires double opt-in, once from a subnet router and once on the control server to allow its use within the tailnet. Optionally, use autoApprovers to automatically approve routes from a subnet router.
Setup a subnet router¶
Configure a node as subnet router¶
Register a node and advertise the routes it should handle as comma separated list:
$ sudo tailscale up --login-server <YOUR_HEADSCALE_URL> --advertise-routes=10.0.0.0/8,192.168.0.0/24
If the node is already registered, it can advertise new routes or update previously announced routes with:
Finally, enable IP forwarding to route traffic.
Enable the subnet router on the control server¶
The routes of a tailnet can be displayed with the headscale nodes list-routes command. A subnet router with the hostname myrouter announced the IPv4 networks 10.0.0.0/8 and 192.168.0.0/24. Those need to be approved before they can be used.
$ headscale nodes list-routes
ID | Hostname | Approved | Available | Serving (Primary)
diff --git a/development/ref/tags/index.html b/development/ref/tags/index.html
index bbb5c925..6533c8dd 100644
--- a/development/ref/tags/index.html
+++ b/development/ref/tags/index.html
@@ -1,4 +1,4 @@
- Tags - Headscale
Headscale Tags