From 38532c0b4abde5425222e430d49bc4abd27eea50 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Sun, 21 Dec 2025 12:52:37 -0700 Subject: [PATCH 1/9] Move docs to Zensical and add Python 3.14 support --- .github/workflows/build.yml | 4 +- .github/workflows/deploy.yml | 48 ++++++++++---- docs/src/dictionary/en-custom.txt | 1 + docs/src/markdown/.snippets/links.md | 3 +- docs/src/markdown/about/contributing.md | 8 +-- docs/src/markdown/about/license.md | 2 +- docs/theme/announce.html | 5 +- .../pymdownx-extras/extra-835c322b67.css | 2 + .../pymdownx-extras/extra-835c322b67.css.map | 1 + .../pymdownx-extras/extra-loader-Ccztcqfq.js | 4 ++ .../extra-loader-Ccztcqfq.js.map | 1 + docs/theme/main.html | 17 +++++ hatch_build.py | 1 + pyproject.toml | 12 ++-- requirements/docs.txt | 6 +- rummage/lib/gui/controls/webview.py | 2 +- rummage/lib/gui/data/docs/.dochash | 2 +- .../lib/gui/data/docs/about/contributing.html | 14 ++-- rummage/lib/gui/data/docs/about/license.html | 2 +- rummage/lib/gui/data/docs/extras.html | 6 +- rummage/lib/gui/data/docs/preferences.html | 42 ++++++------ rummage/lib/gui/data/docs/search.html | 30 ++++----- rummage/lib/gui/data/docs/sitemap.html | 65 ------------------- rummage/lib/gui/data/docs/usage.html | 14 ++-- rummage/lib/gui/util/images.py | 4 +- tests/test_rumcore.py | 2 +- tests/test_text_decode.py | 2 +- tools/gen_docs.py | 29 ++++++--- mkdocs-internal.yml => zensical-internal.yml | 0 mkdocs.yml => zensical.yml | 43 ++++++++---- 30 files changed, 194 insertions(+), 178 deletions(-) create mode 100644 docs/theme/assets/pymdownx-extras/extra-835c322b67.css create mode 100644 docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map create mode 100644 docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js create mode 100644 docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map create mode 100644 docs/theme/main.html delete mode 100644 rummage/lib/gui/data/docs/sitemap.html rename mkdocs-internal.yml => zensical-internal.yml (100%) rename mkdocs.yml => zensical.yml (79%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 09ed5e45..6aea54da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ jobs: max-parallel: 4 matrix: platform: [ubuntu-latest, windows-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14] include: - python-version: 3.9 tox-env: py39 @@ -29,6 +29,8 @@ jobs: tox-env: py312 - python-version: '3.13' tox-env: py313 + - python-version: '3.14' + tox-env: py314 env: TOXENV: ${{ matrix.tox-env }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 08eafc4e..6761e425 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -8,43 +8,69 @@ on: jobs: documents: + strategy: + max-parallel: 4 + matrix: + python-version: [3.13] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up Python + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: - python-version: '3.13' + python-version: ${{ matrix.python-version }} - name: Install dependencies run: | - python -m pip install --upgrade pip build setuptools wheel + python -m pip install --upgrade pip build wheel python -m pip install -r requirements/docs.txt - name: Deploy documents run: | - git config user.name facelessuser + git config user.name ${{ secrets.GH_USER }} git config user.email "${{ secrets.GH_EMAIL }}" git remote add gh-token "https://${{ secrets.GH_TOKEN }}@github.com/facelessuser/Rummage.git" git fetch gh-token && git fetch gh-token gh-pages:gh-pages python -m mkdocs gh-deploy -v --clean --remote-name gh-token git push gh-token gh-pages - pypi: + build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.13' - - name: Package + python-version: 3.13 + - name: Build run: | - pip install --upgrade build + pip install --upgrade pip build python -m build -s - - name: Publish + - name: Store the distribution packages + uses: actions/upload-artifact@v4 + with: + name: python-package-distributions + path: dist/ + + pypi-publish: + needs: + - build + runs-on: ubuntu-latest + environment: pypi + permissions: + # IMPORTANT: this permission is mandatory for Trusted Publishing + id-token: write + + steps: + - name: Download all the dists + uses: actions/download-artifact@v4 + with: + name: python-package-distributions + path: dist/ + - name: Publish distribution uses: pypa/gh-action-pypi-publish@release/v1 with: - user: __token__ - password: ${{ secrets.PYPI_PWD }} + print-hash: true + diff --git a/docs/src/dictionary/en-custom.txt b/docs/src/dictionary/en-custom.txt index 5a753521..8ce934c2 100644 --- a/docs/src/dictionary/en-custom.txt +++ b/docs/src/dictionary/en-custom.txt @@ -83,6 +83,7 @@ Wildcard WxFormBuilder XFCE Xcode +Zensical accessor autocomplete backend diff --git a/docs/src/markdown/.snippets/links.md b/docs/src/markdown/.snippets/links.md index 03a4dd71..9a221cb7 100644 --- a/docs/src/markdown/.snippets/links.md +++ b/docs/src/markdown/.snippets/links.md @@ -14,8 +14,6 @@ [fullmatch]: https://docs.python.org/3/library/re.html#re.fullmatch [grepwin]: http://stefanstools.sourceforge.net/grepWin.html [markdown]: https://github.com/Python-Markdown/markdown -[mkdocs]: https://github.com/mkdocs/mkdocs -[mkdocs-material]: https://github.com/squidfunk/mkdocs-material [posix]: https://facelessuser.github.io/wcmatch/fnmatch/#posix-character-classes [pygments]: http://pygments.org/ [pymdown-extensions]: https://github.com/facelessuser/pymdown-extensions @@ -27,3 +25,4 @@ [wcmatch-fnmatch]: https://facelessuser.github.io/wcmatch/fnmatch/#syntax [wxpython]: https://pypi.org/project/wxPython/ [wxpython-prereq]: https://github.com/wxWidgets/Phoenix/blob/master/README.rst#prerequisites +[zensical]: https://github.com/zensical/zensical diff --git a/docs/src/markdown/about/contributing.md b/docs/src/markdown/about/contributing.md index 9ac53eed..a5e4ea36 100644 --- a/docs/src/markdown/about/contributing.md +++ b/docs/src/markdown/about/contributing.md @@ -88,10 +88,10 @@ with documentation is always appreciated and can be done via pull requests. The validation tests if only updating documentation. To build the documentation, you will need the necessary requirements. You can get them by running -`pip install -r requirements/docs.txt`. We currently use a combination of [MkDocs][mkdocs], the -[Material theme][mkdocs-material], and [PyMdown Extensions][pymdown-extensions] to render the docs. You can preview -the docs if you install these packages via the requirements file. The command for previewing the docs is -`mkdocs serve`. It should be run from the root directory. You can then view the documents at `localhost:8000`. +`pip install -r requirements/docs.txt`. We currently use [Zensical][zensical] and [PyMdown Extensions][pymdown-extensions] +to render the docs. You can preview the docs if you install these packages via the requirements file. The command for +previewing the docs is `zensical serve`. It should be run from the root directory. You can then view the documents at +`localhost:8000`. When providing documentation updates, please generate Rummage's internal documentation via `python tools/gen_docs.py`. Pull requests will currently fail if the documentation is not updated along with the requested changes. diff --git a/docs/src/markdown/about/license.md b/docs/src/markdown/about/license.md index 2397f39a..bf8f5b50 100644 --- a/docs/src/markdown/about/license.md +++ b/docs/src/markdown/about/license.md @@ -2,7 +2,7 @@ MIT license. -Copyright (c) 2013 - 2024 Isaac Muse +Copyright (c) 2013 - 2025 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the diff --git a/docs/theme/announce.html b/docs/theme/announce.html index 2bc6d0d9..04a6682f 100644 --- a/docs/theme/announce.html +++ b/docs/theme/announce.html @@ -1,5 +1,6 @@ -Sponsorship +Sponsorship is now available! - + {% set icon = "octicons/heart-fill-16" %} + {% include ".icons/" ~ icon ~ ".svg" %} diff --git a/docs/theme/assets/pymdownx-extras/extra-835c322b67.css b/docs/theme/assets/pymdownx-extras/extra-835c322b67.css new file mode 100644 index 00000000..7d1e51c9 --- /dev/null +++ b/docs/theme/assets/pymdownx-extras/extra-835c322b67.css @@ -0,0 +1,2 @@ +:root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.7);--md-default-bg-color--lighter: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.4);--md-default-bg-color--lightest: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.1);--md-default-bg-color--trans: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1400822885 0.147679243 0.1907286518);--md-default-bg-color--darker: color(srgb 0.1273335013 0.1344339886 0.1746700834);--md-default-bg-color--darkest: color(srgb 0.090174358 0.0958277825 0.1278638548);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(74.4232873346, 59.3464897233%, 65.6529017761%, 0.1);--md-admonition-icon-color--question: hsl(74.4232873346, 59.3464897233%, 65.6529017761%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(331.9938073573, 62.7005462555%, 68.9374611138%, 0.1);--md-admonition-icon-color--bug: hsl(331.9938073573, 62.7005462555%, 68.9374611138%)}:root>*{--md-admonition-bg-color--example: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--example: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.admonition:has(.admonition-title:only-child,.md-typeset details>summary:only-child),.md-typeset details:has(.admonition-title:only-child,.md-typeset details>summary:only-child){padding-bottom:.48em}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,')}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:0 .2941176471em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.1rem;box-shadow:none}.md-typeset pre>code{outline:none}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}} +/*# sourceMappingURL=extra-835c322b67.css.map */ diff --git a/docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map b/docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map new file mode 100644 index 00000000..8a55a240 --- /dev/null +++ b/docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["extra.css","palette/_colors.scss","_general.scss","extensions/_admonition.scss","extensions/_arithmatex.scss","extensions/_critic.scss","extensions/_details.scss","extensions/_highlight.scss","extensions/_keys.scss","extensions/_magiclink.scss","extensions/_mark.scss","extensions/_progressbar.scss","palette/_material_color.scss","extensions/_tabbed.scss","extensions/_tasklist.scss","palette/_dracula.scss","extensions/_toc.scss","extensions/_superfences.scss","extensions/_steps.scss","extensions/_tables.scss","_material.scss","utilities/_break.scss"],"names":[],"mappings":"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,+CACA,CADA,uCACA,CAAA,6BACA,CADA,qBACA,CAAA,yBACA,CADA,iBACA,CAAA,UACA,CAAA,2BAIJ,iBACE,CAAA,cACA,CAAA,iBACA,CAAA,+BAEA,YACE,CAAA,eACA,CAAA,iCAGF,YACE,CAAA,8CAEA,UACE,CAAA,QACA,CAAA,4BACA,CAAA,oDAEA,iBACE,CAAA,YACA,CAAA,kBACA,CAAA,gCACA,CAAA,aACA,CAAA,0CACA,CAAA,6BACA,CADA,qBACA,CAAA,yBACA,CADA,iBACA,CAAA,mBACA,CAAA,cACA,CAAA,UACA,CAAA,0DAEA,0CACE,CAAA,4DAGF,iBACE,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,qBACA,CAAA,YACA,CAAA,aACA,CAAA,2CACA,CAAA,sBACA,CAAA,UACA,CAAA,2DAGF,YACE,CAAA,mEAEA,oDACE,CADF,4CACE,CAAA,qEAGJ,sDACE,CADF,8CACE,CAAA,mEAMJ,cACE,CAAA,qEAGF,YACE,CAAA,4DAGF,kBACE,CAAA,eACA,CAAA,sDAGF,iBACE,CAAA,YACA,CAAA,MACA,CAAA,oBACA,CAAA,2BACA,CAAA,6FACA,CAAA,iCAIA,CAAA,gCACA,CAkBA,qCC9NJ,kBACE,CAAA,WANkB,CAAA,2CAKpB,kBACE,CAAA,WANkB,CAAA,QCL1B,8PACE,CAAA,krBACA,CAAA,gUACA,CAAA,orBACA,CAAA,yTACA,CAAA,4iBACA,CAAA,+wBACA,CAAA,6VACA,CAAA,0zBACA,CAAA,8DAIA,8CACE,CADF,sCACE,CAAA,0XAUA,iBACE,CAAA,oBACA,CAAA,kbAEA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,aACA,CAAA,qBACA,CAAA,YACA,CAAA,aACA,CAAA,0CACA,CAAA,sBACA,CAAA,iCACA,CAAA,6BACA,CADA,qBACA,CAAA,yBACA,CADA,iBACA,CAAA,UACA,CAAA,4dAGF,0CACE,CAAA,6DAgBF,+CACE,CADF,uCACE,CAAA,8DADF,gDACE,CADF,wCACE,CAAA,2DADF,6CACE,CADF,qCACE,CAAA,4DADF,8CACE,CADF,sC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","file":"extra-835c322b67.css","sourcesContent":[":root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.7);--md-default-bg-color--lighter: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.4);--md-default-bg-color--lightest: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.1);--md-default-bg-color--trans: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1400822885 0.147679243 0.1907286518);--md-default-bg-color--darker: color(srgb 0.1273335013 0.1344339886 0.1746700834);--md-default-bg-color--darkest: color(srgb 0.090174358 0.0958277825 0.1278638548);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: svg-load(\"@mdi/svg/svg/cog.svg\");--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: svg-load(\"@mdi/svg/svg/alert-decagram.svg\");--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(74.4232873346, 59.3464897233%, 65.6529017761%, 0.1);--md-admonition-icon-color--question: hsl(74.4232873346, 59.3464897233%, 65.6529017761%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(331.9938073573, 62.7005462555%, 68.9374611138%, 0.1);--md-admonition-icon-color--bug: hsl(331.9938073573, 62.7005462555%, 68.9374611138%)}:root>*{--md-admonition-bg-color--example: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--example: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;mask-image:var(--md-admonition-icon--settings);content:\" \"}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;mask-image:var(--md-admonition-icon--new);content:\" \"}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.admonition:has(.admonition-title:only-child,.md-typeset details>summary:only-child),.md-typeset details:has(.admonition-title:only-child,.md-typeset details>summary:only-child){padding-bottom:.48em}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=\"gray\", Positive=\"true\")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:\"Courier New\",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: svg-load(\"@mdi/svg/svg/console.svg\");--highlight-svg-arrow-expand: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");--highlight-svg-arrow-collapse: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\")}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:0 .2941176471em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.1rem;box-shadow:none}.md-typeset pre>code{outline:none}.md-typeset td code{word-break:normal}.md-typeset .highlight{tab-size:8}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);mask-image:var(--highlight-svg-console);mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);mask-repeat:no-repeat;mask-size:contain;border-radius:.1rem;cursor:pointer;content:\"\"}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:\"\"}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}@media screen and (max-width: 44.9375em){.md-typeset>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code label.collapse{left:.8rem}}.md-typeset .keys .key-power::before{padding-right:.4em;content:\"⏻\"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:\"☝\"}:root>*{--magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");--magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");--magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");--magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");--magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");--magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");--magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");--magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");--magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\")}.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before{mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}@media screen and (max-width: 44.9375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: svg-load(\"@mdi/svg/svg/link.svg\")}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;mask-size:1em;mask-repeat:no-repeat;visibility:visible;mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:\"\"}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}","@use \"sass:color\";\n@use \"../utilities/convert\";\n@use \"../utilities/color_tools\";\n@use \"./material_color\";\n@use \"./dracula\";\n@use \"sass:list\";\n\n:root > * {\n // Custom code colors\n --md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);\n --md-tab-control-bg: var(--md-default-bg-color);\n\n // Code colors\n --md-code-fg-color: #{dracula.$alucard-fg};\n --md-code-bg-color: #{dracula.$alucard-bg};\n --md-code-title-bg-color: #{dracula.$alucard-bg};\n --md-code-inline-bg-color: #{dracula.$alucard-bg};\n --md-code-hl-operator-color: #{dracula.$alucard-pink};\n --md-code-hl-punctuation-color: #{dracula.$alucard-fg};\n --md-code-hl-string-color: #{dracula.$alucard-yellow};\n --md-code-hl-special-color: #{dracula.$alucard-purple};\n --md-code-hl-number-color: #{dracula.$alucard-purple};\n --md-code-hl-keyword-color: #{dracula.$alucard-pink};\n --md-code-hl-name-color: #{dracula.$alucard-fg};\n --md-code-hl-constant-color: #{dracula.$alucard-purple};\n --md-code-hl-function-color: #{dracula.$alucard-green};\n --md-code-hl-comment-color: #{dracula.$alucard-comment};\n --md-code-hl-variable-color: #{dracula.$alucard-orange};\n --md-code-hl-generic-color: #{dracula.$alucard-comment};\n --md-code-hl-color: #{dracula.$alucard-selection};\n --md-code-hl-color--light: #{dracula.$alucard-highlight};\n\n // Custom code colors\n --md-code-hl-entity-color: #{dracula.$alucard-green};\n --md-code-hl-tag-color: #{dracula.$alucard-pink};\n --md-code-hl-namespace-color: #{dracula.$alucard-fg};\n --md-code-hl-builtin-color: #{dracula.$alucard-cyan};\n --md-code-hl-class-color: #{dracula.$alucard-cyan};\n\n --md-code-special-bg-color: #{dracula.$alucard-highlight};\n\n // List steps\n --md-steps-bg-color: var(--md-code-bg-color);\n --md-steps-fg-color: var(--md-code-fg-color);\n --md-steps-border-color: hsla(0, 0%, 75%, 1);\n\n // Various Material related color variables\n --md-typeset-a-color: #{material_color.$clr-cyan-500};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lighter);\n --md-progress-100: #{material_color.$clr-green-a400};\n --md-progress-80: #{material_color.$clr-green-a400};\n --md-progress-60: #{material_color.$clr-yellow-700};\n --md-progress-40: #{material_color.$clr-orange-a400};\n --md-progress-20: #{material_color.$clr-red-a200};\n --md-progress-0: #{material_color.$clr-red-a400};\n\n // Keys colors\n --md-typeset-kbd-color: #{color_tools.shade(hsla(0, 100%, 100%, 1), 8%)};\n --md-typeset-kbd-border-color: #{color_tools.shade(hsla(0, 100%, 100%, 1), 28%)};\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n\n // Dark mode color changes\n &[data-md-color-scheme=\"slate\"] {\n // Default color shades\n --md-default-fg-color: #{color.adjust(dracula.$drac-fg, $alpha: -0.13)};\n --md-default-fg-color--light: #{color.adjust(dracula.$drac-fg, $alpha: -0.46)};\n --md-default-fg-color--lighter: #{color.adjust(dracula.$drac-fg, $alpha: -0.64)};\n --md-default-fg-color--lightest: #{color.adjust(dracula.$drac-fg, $alpha: -0.88)};\n --md-default-autocomplete-fg-color: #{color.adjust(dracula.$drac-fg, $alpha: -0.60)};\n --md-shadow-z2: 0 #{convert.px2rem(4px)} #{convert.px2rem(10px)} hsla(0, 0%, 0%, 0.3),\n 0 0 #{convert.px2rem(1px)} hsla(0, 0%, 0%, 0.2);\n\n --md-footer-fg-color: var(--md-default-fg-color);\n\n --md-default-bg-color: var(--md-default-bg-color--darkest);\n --md-default-bg-color--light: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -0.3)};\n --md-default-bg-color--lighter: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -0.6)};\n --md-default-bg-color--lightest: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -0.9)};\n --md-default-bg-color--trans: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -1)};\n\n --md-tab-control-bg: var(--md-default-bg-color--dark);\n\n // Dark specific colors\n --md-default-bg-color--dark: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 5%, $method: oklab)};\n --md-default-bg-color--darker: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 10%, $method: oklab)};\n --md-default-bg-color--darkest: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab)};\n\n // General text\n --md-text-color: var(--md-default-fg-color);\n --md-typeset-color: var(--md-default-fg-color);\n\n // Admonition colors\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Code colors\n --md-code-fg-color: #{dracula.$drac-fg};\n --md-code-bg-color: #{dracula.$drac-bg};\n --md-code-title-bg-color: #{dracula.$drac-bg};\n --md-code-inline-bg-color: #{dracula.$drac-bg};\n --md-code-hl-operator-color: #{dracula.$drac-pink};\n --md-code-hl-punctuation-color: #{dracula.$drac-fg};\n --md-code-hl-string-color: #{dracula.$drac-yellow};\n --md-code-hl-special-color: #{dracula.$drac-purple};\n --md-code-hl-number-color: #{dracula.$drac-purple};\n --md-code-hl-keyword-color: #{dracula.$drac-pink};\n --md-code-hl-name-color: #{dracula.$drac-fg};\n --md-code-hl-constant-color: #{dracula.$drac-purple};\n --md-code-hl-function-color: #{dracula.$drac-green};\n --md-code-hl-comment-color: #{dracula.$drac-comment};\n --md-code-hl-variable-color: #{dracula.$drac-orange};\n --md-code-hl-generic-color: #{dracula.$drac-comment};\n --md-code-hl-color: #{dracula.$drac-selection};\n --md-code-hl-color--light: #{dracula.$drac-highlight};\n --md-code-bg-color--light: #{color.change(dracula.$drac-bg, $alpha: 0.9)};\n --md-code-bg-color--lighter: #{color.change(dracula.$drac-bg, $alpha: 0.5)};\n\n // Custom code colors\n --md-code-hl-entity-color: #{dracula.$drac-green};\n --md-code-hl-tag-color: #{dracula.$drac-pink};\n --md-code-hl-namespace-color: #{dracula.$drac-fg};\n --md-code-hl-builtin-color: #{dracula.$drac-cyan};\n --md-code-hl-class-color: #{dracula.$drac-cyan};\n\n --md-code-special-bg-color: #{dracula.$drac-highlight};\n\n // List steps\n --md-steps-border-color: #{color.adjust(dracula.$drac-bg, $lightness: 10%, $space: oklab)};\n\n // Various Material related color variables\n --md-typeset-a-color: #{dracula.$drac-cyan};\n --md-typeset-mark-color: #{color.mix(dracula.$drac-yellow, dracula.$drac-bg, 35%, $method: oklab)};\n --md-typeset-del-color: #{color.mix(dracula.$drac-pink, dracula.$drac-bg, 35%, $method: oklab)};\n --md-typeset-ins-color: #{color.mix(dracula.$drac-green, dracula.$drac-bg, 35%, $method: oklab)};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lightest);\n\n --md-progress-100: #{dracula.$drac-green};\n --md-progress-80: #{color.mix(dracula.$drac-green, dracula.$drac-yellow, $method: oklab)};\n --md-progress-60: #{dracula.$drac-yellow};\n --md-progress-40: #{dracula.$drac-orange};\n --md-progress-20: #{dracula.$drac-pink};\n --md-progress-0: #{dracula.$drac-red};\n\n // Keys colors\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: var(--md-default-bg-color--dark);\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: primary colors\n// ----------------------------------------------------------------------------\n\n@each $name, $colors in (\n \"red\": dracula.$drac-red color.adjust(dracula.$drac-red, $lightness: 5%) color.adjust(dracula.$drac-red, $lightness: -5%),\n \"pink\": dracula.$drac-pink color.adjust(dracula.$drac-pink, $lightness: 5%) color.adjust(dracula.$drac-pink, $lightness: -5%),\n \"purple\": dracula.$drac-purple color.adjust(dracula.$drac-purple, $lightness: 5%) color.adjust(dracula.$drac-purple, $lightness: -5%),\n \"deep-purple\": dracula.$drac-purple color.adjust(dracula.$drac-purple, $lightness: 5%) color.adjust(dracula.$drac-purple, $lightness: -5%),\n \"blue\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"indigo\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"light-blue\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"cyan\": dracula.$drac-cyan color.adjust(dracula.$drac-cyan, $lightness: 5%) color.adjust(dracula.$drac-cyan, $lightness: -5%),\n \"teal\": dracula.$drac-cyan color.adjust(dracula.$drac-cyan, $lightness: 5%) color.adjust(dracula.$drac-cyan, $lightness: -5%),\n \"green\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"light-green\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"lime\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"yellow\": dracula.$drac-yellow color.adjust(dracula.$drac-yellow, $lightness: 5%) color.adjust(dracula.$drac-yellow, $lightness: -5%),\n \"amber\": dracula.$drac-yellow color.adjust(dracula.$drac-yellow, $lightness: 5%) color.adjust(dracula.$drac-yellow, $lightness: -5%),\n \"orange\": dracula.$drac-orange color.adjust(dracula.$drac-orange, $lightness: 5%) color.adjust(dracula.$drac-orange, $lightness: -5%),\n \"deep-orange\": dracula.$drac-orange color.adjust(dracula.$drac-orange, $lightness: 5%) color.adjust(dracula.$drac-orange, $lightness: -5%)\n) {\n\n // Color palette\n [data-md-color-scheme=\"slate\"][data-md-color-primary=\"#{$name}\"],\n [data-md-color-scheme=\"slate\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"]\n {\n\n --md-primary-code-bg-color: #{color.mix(dracula.$drac-bg, list.nth($colors, 1), 85%, $method: oklab)};\n --md-primary-fg-color: hsla(#{convert.hex2hsl(list.nth($colors, 1))}, 1);\n --md-primary-fg-color--transparent: hsla(#{convert.hex2hsl(list.nth($colors, 1))}, 0.2);\n --md-primary-fg-color--light: hsla(#{convert.hex2hsl(list.nth($colors, 2))}, 1);\n --md-primary-fg-color--dark: hsla(#{convert.hex2hsl(list.nth($colors, 3))}, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: accent colors\n// ----------------------------------------------------------------------------\n\n@each $name, $color in (\n \"red\": dracula.$drac-red,\n \"pink\": dracula.$drac-pink,\n \"purple\": dracula.$drac-purple,\n \"deep-purple\": dracula.$drac-purple,\n \"blue\": dracula.$drac-blue,\n \"indigo\": dracula.$drac-blue,\n \"light-blue\": dracula.$drac-blue,\n \"cyan\": dracula.$drac-cyan,\n \"teal\": dracula.$drac-cyan,\n \"green\": dracula.$drac-green,\n \"light-green\": dracula.$drac-green,\n \"lime\": dracula.$drac-green,\n \"yellow\": dracula.$drac-yellow,\n \"amber\": dracula.$drac-yellow,\n \"orange\": dracula.$drac-orange,\n \"deep-orange\": dracula.$drac-orange\n) {\n\n // Color palette\n [data-md-color-scheme=\"slate\"][data-md-color-accent=\"#{$name}\"],\n [data-md-color-scheme=\"slate\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"] {\n --md-code-link-accent-bg-color: #{color.mix($color, dracula.$drac-bg, 15%, $method: oklab)};\n --md-accent-fg-color: hsla(#{convert.hex2hsl($color)}, 1);\n --md-accent-fg-color--transparent: hsla(#{convert.hex2hsl($color)}, 0.2);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n","@use \"palette/material_color\";\n@use \"palette/dracula\";\n@use \"utilities/break\";\n@use \"utilities/convert\";\n\n/* Normal colors */\n:root {\n --md-heart: #{material_color.$clr-red-a200};\n --md-heart-big: #{material_color.$clr-red-a400};\n\n /* Dark mode colors */\n [data-md-color-scheme=\"slate\"] {\n --md-heart: #{dracula.$drac-red};\n --md-heart-big: #{dracula.$drac-pink};\n }\n}\n\n.md-typeset {\n\n a.source-link {\n position: relative;\n top: convert.px2rem(-12px);\n float: right;\n color: var(--md-default-fg-color--lighter);\n transition: color 125ms;\n\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n .twemoji {\n height: convert.px2rem(24px);\n\n svg {\n width: convert.px2rem(24px);\n height: convert.px2rem(24px);\n }\n }\n }\n\n div.highlight.md-max-height pre > code {\n max-height: convert.px2rem(300px);\n }\n}\n\n.twemoji {\n &.heart-throb, &.heart-throb-hover {\n svg {\n position: relative;\n color: var(--md-heart);\n animation: pulse 1.5s ease infinite;\n }\n }\n}\n\n@keyframes pulse {\n 0% { transform: scale(1); }\n 40% { color: var(--md-heart-big); transform: scale(1.3); }\n 50% { transform: scale(1.2); }\n 60% { color: var(--md-heart-big); transform: scale(1.3); }\n 100% { transform: scale(1); }\n}\n\nfooter.sponsorship {\n text-align: center;\n\n .twemoji {\n padding: convert.px2rem(1px);\n }\n\n a {\n text-decoration: none;\n }\n\n hr {\n display: inline-block;\n width: convert.px2rem(32px);\n margin: 0 convert.px2rem(14px);\n vertical-align: middle;\n border-bottom: 2px solid var(--md-default-fg-color--lighter);\n }\n\n &:hover {\n hr {\n border-color: var(--md-accent-fg-color);\n }\n }\n\n &:not(:hover) {\n .twemoji.heart-throb-hover svg{\n color: var(--md-default-fg-color--lighter) !important;\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"../utilities/convert\";\n@use \"../palette/material_color\";\n@use \"../palette/dracula\";\n\n$new-admonitions: (\n settings config: dracula.$drac-pink material_color.$clr-purple-a700 \"@mdi/svg/svg/cog.svg\",\n new: dracula.$drac-yellow material_color.$clr-yellow-a700 \"@mdi/svg/svg/alert-decagram.svg\"\n) !default;\n\n$old-admonitions: (\n note: dracula.$drac-blue material_color.$clr-blue-a200,\n abstract: color.mix(dracula.$drac-blue, dracula.$drac-cyan, $method: oklab) material_color.$clr-light-blue-a400,\n info: dracula.$drac-cyan material_color.$clr-cyan-a700,\n tip: color.mix(dracula.$drac-cyan, dracula.$drac-green, $method: oklab) material_color.$clr-teal-a700,\n success: dracula.$drac-green material_color.$clr-green-a700,\n question: color.mix(dracula.$drac-green, dracula.$drac-orange, $method: oklab) material_color.$clr-light-green-a700,\n warning: dracula.$drac-orange material_color.$clr-orange-a400,\n failure: color.mix(dracula.$drac-orange, dracula.$drac-red, $method: oklab) material_color.$clr-red-a200,\n danger: dracula.$drac-red material_color.$clr-red-a400,\n bug: color.mix(dracula.$drac-red, dracula.$drac-purple, $method: oklab) material_color.$clr-pink-a400,\n example: dracula.$drac-purple material_color.$clr-deep-purple-a200,\n quote: dracula.$drac-grey material_color.$clr-grey\n) !default;\n\n/* Style new admonitions with dark or light colors */\n:root > * {\n --md-admonition-icon-color: #{dracula.$alucard-blue};\n --md-admonition-bg-color: #{color.adjust(dracula.$alucard-blue, $alpha: -0.9)};\n // --md-admonition-bg-color: #{color.mix(dracula.$alucard-blue, dracula.$alucard-bg, $weight: 12%, $method: oklab)};\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-icon-color: #{dracula.$drac-blue};\n --md-admonition-bg-color: #{color.adjust(dracula.$drac-blue, $alpha: -0.9)};\n }\n\n @each $names, $prop in $new-admonitions {\n $tint: list.nth($prop, 1);\n $tint2: list.nth($prop, 2);\n $name: list.nth($names, 1);\n\n & {\n --md-admonition-icon--#{$name}: svg-load(\"#{list.nth($prop, 3)}\");\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint2, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n }\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint};\n }\n }\n\n @each $names, $prop in $old-admonitions {\n $tint: list.nth($prop, 1);\n $tint2: list.nth($prop, 2);\n $name: list.nth($names, 1);\n\n & {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint2, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n }\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint};\n }\n }\n}\n\n/* Dark mode changes */\n.md-typeset .admonition {\n background: var(--md-admonition-bg-color--note);\n border-width: 0;\n border-left-width: 4px;\n\n > .admonition-title {\n &::before {\n background-color: var(--md-admonition-icon-color--note);\n }\n &::after {\n color: var(--md-admonition-icon-color--note);\n }\n }\n}\n\n/* Style existing admonitions with dark mode colors */\n@each $names, $prop in $old-admonitions {\n\n $name: list.nth($names, 1);\n $tint: list.nth($prop, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n background: var(--md-admonition-bg-color--#{$name});\n\n // Define base class\n > .admonition-title {\n\n // Icon\n &::before {\n background-color: var(--md-admonition-icon-color--#{$name});\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n}\n\n@each $names, $prop in $new-admonitions {\n $name: list.nth($names, 1);\n $tint: list.nth($prop, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n background: var(--md-admonition-bg-color--#{$name});\n\n > .admonition-title {\n // Icon\n &::before {\n width: convert.px2rem(20px);\n height: convert.px2rem(20px);\n background-color: var(--md-admonition-icon-color--#{$name});\n background-size: convert.px2rem(20px);\n mask-image: var(--md-admonition-icon--#{$name});\n content: \"\\a0\";\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n}\n\n.admonition:has(.admonition-title:only-child) {\n padding-bottom: convert.px2em(7.68px);\n}\n","mjx-container[display=true] {\n font-size: 120% !important;\n}\n\nmjx-container:not([display]) {\n font-size: 100% !important;\n}\n\n.md-typeset .arithmatex {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n}\n\n// Fix tag overlap in `KaTeX`\n.katex-display {\n .katex-html {\n display: flex !important;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: baseline;\n justify-content: space-between;\n // overflow-x: auto;\n\n .base {\n display: inline !important;\n }\n\n .tag {\n position: relative !important;\n display: inline !important;\n margin-left: var(--margin-small);\n }\n }\n}\n\n/* Instant mode in the Material theme wipes out menu CSS and MathJax has no easy way of reinserting it */\n\n/* stylelint-disable */\n.CtxtMenu_InfoClose { top:.2em; right:.2em;}\n.CtxtMenu_InfoContent { overflow:auto; text-align:left; font-size:80%; padding:.4em .6em; border:1px inset; margin:1em 0px; max-height:20em; max-width:30em; background-color:#EEEEEE; white-space:normal;}\n.CtxtMenu_Info.CtxtMenu_MousePost {outline:none;}\n.CtxtMenu_Info { position:fixed; left:50%; width:auto; text-align:center; border:3px outset; padding:1em 2em; background-color:#DDDDDD; color:black; cursor:default; font-family:message-box; font-size:120%; font-style:normal; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 15px; /* Opera 10.5 and IE9 */ -webkit-border-radius:15px; /* Safari and Chrome */ -moz-border-radius:15px; /* Firefox */ -khtml-border-radius:15px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */ filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=\"gray\", Positive=\"true\"); /* IE */}\n\n.CtxtMenu_MenuClose { position:absolute; cursor:pointer; display:inline-block; border:2px solid #AAA; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ font-family: \"Courier New\", Courier; font-size:24px; color:#F0F0F0}\n.CtxtMenu_MenuClose span { display:block; background-color:#AAA; border:1.5px solid; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ line-height:0; padding:8px 0 6px /* may need to be browser-specific */}\n.CtxtMenu_MenuClose:hover { color:white!important; border:2px solid #CCC!important}\n.CtxtMenu_MenuClose:hover span { background-color:#CCC!important}\n.CtxtMenu_MenuClose:hover:focus { outline:none}\n\n.CtxtMenu_Menu { position:absolute; background-color:white; color:black; width:auto; padding:5px 0px; border:1px solid #CCCCCC; margin:0; cursor:default; font: menu; text-align:left; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 5px; /* Opera 10.5 and IE9 */ -webkit-border-radius: 5px; /* Safari and Chrome */ -moz-border-radius: 5px; /* Firefox */ -khtml-border-radius: 5px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */}\n.CtxtMenu_MenuItem { padding: 1px 2em; background:transparent;}\n.CtxtMenu_MenuArrow { position:absolute; right:.5em; padding-top:.25em; color:#666666; font-family: null; font-size: .75em}\n.CtxtMenu_MenuActive .CtxtMenu_MenuArrow {color:white}\n.CtxtMenu_MenuArrow.CtxtMenu_RTL {left:.5em; right:auto}\n.CtxtMenu_MenuCheck { position:absolute; left:.7em; font-family: null}\n.CtxtMenu_MenuCheck.CtxtMenu_RTL { right:.7em; left:auto }\n.CtxtMenu_MenuRadioCheck { position:absolute; left: .7em;}\n.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL { right: .7em; left:auto}\n.CtxtMenu_MenuInputBox { padding-left: 1em; right:.5em; color:#666666; font-family: null;}\n.CtxtMenu_MenuInputBox.CtxtMenu_RTL { left: .1em;}\n.CtxtMenu_MenuComboBox { left:.1em; padding-bottom:.5em;}\n.CtxtMenu_MenuSlider { left: .1em;}\n.CtxtMenu_SliderValue { position:absolute; right:.1em; padding-top:.25em; color:#333333; font-size: .75em}\n.CtxtMenu_SliderBar { outline: none; background: #d3d3d3}\n.CtxtMenu_MenuLabel { padding: 1px 2em 3px 1.33em; font-style:italic}\n.CtxtMenu_MenuRule { border-top: 1px solid #DDDDDD; margin: 4px 3px;}\n.CtxtMenu_MenuDisabled { color:GrayText}\n.CtxtMenu_MenuActive { background-color: #606872; color: white;}\n.CtxtMenu_MenuDisabled:focus { background-color: #E8E8E8}\n.CtxtMenu_MenuLabel:focus { background-color: #E8E8E8}\n.CtxtMenu_ContextMenu:focus { outline:none}\n.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus { outline:none}\n.CtxtMenu_SelectionMenu { position:relative; float:left; border-bottom: none; -webkit-box-shadow:none; -webkit-border-radius:0px; }\n.CtxtMenu_SelectionItem { padding-right: 1em;}\n.CtxtMenu_Selection { right: 40%; width:50%; }\n.CtxtMenu_SelectionBox { padding: 0em; max-height:20em; max-width: none; background-color:#FFFFFF;}\n.CtxtMenu_SelectionDivider { clear: both; border-top: 2px solid #000000;}\n.CtxtMenu_Menu .CtxtMenu_MenuClose { top:-10px; left:-10px}\n\n[data-md-color-scheme=\"slate\"] {\n .CtxtMenu_InfoSignature input,\n .CtxtMenu_InfoContent pre {\n color: rgb(0, 0, 0);\n }\n .CtxtMenu_Info,\n .CtxtMenu_Menu {\n box-shadow: 0px 10px 20px rgb(0 0 0 / 0.5);\n }\n}\n/* stylelint-enable */\n","@use \"../utilities/convert\";\n\n/* Don't use box shadows */\n.md-typeset {\n del,\n ins,\n mark {\n &.critic {\n padding: 0 convert.px2em(4px, 16px);\n color: unset;\n box-shadow: none;\n }\n }\n\n .critic.break {\n margin: 0;\n }\n}\n","@use \"./admonition\";\n\n/* Inherit admonition style */\n.md-typeset {\n details {\n @extend .admonition;\n\n overflow: hidden;\n\n // Title\n > summary {\n @extend .admonition-title;\n\n // Disable accessibility focus\n &:focus {\n outline-style: none;\n }\n }\n }\n}\n","@use \"../utilities/break\";\n@use \"../utilities/convert\";\n\n:root > * {\n --highlight-svg-console: svg-load(\"@mdi/svg/svg/console.svg\");\n --highlight-svg-arrow-expand: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");\n --highlight-svg-arrow-collapse: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\");\n}\n\n.highlight {\n .kc { // Keyword constant\n color: var(--md-code-hl-constant-color);\n }\n\n .nc, // Name, class\n .ne, // Name, exception\n {\n color: var(--md-code-hl-class-color);\n }\n\n .mb {\n color: var(--md-code-hl-number-color);\n }\n\n .nb, // Name, builtin\n .bp { // Name, builtin pseudo\n color: var(--md-code-hl-builtin-color);\n }\n\n .nn { // Name, namespace Name, namespace Name, namespace Name, namespace\n color: var(--md-code-hl-namespace-color);\n }\n\n .na, // Name, attribute\n .nd, // Name, decorator\n .ni { // Name, entity\n color: var(--md-code-hl-entity-color);\n }\n .nl, // Name, label\n .nt { // Name, tag\n color: var(--md-code-hl-tag-color);\n }\n}\n\n.md-typeset {\n\n /* Allow code to look like code everywhere despite Material's current preference */\n *:not(pre) > code {\n margin: 0;\n padding: 0 convert.px2em( 4px, 13.6px);\n color: var(--md-code-fg-color);\n background-color: var(--md-code-inline-bg-color);\n border-radius: convert.px2rem(2px);\n box-shadow: none;\n }\n\n pre > code {\n outline: none;\n }\n\n /* Don't always like code breaking in table cells */\n td code {\n word-break: normal;\n }\n\n .highlight {\n\n /* Needed for tab preserving mode */\n tab-size: 8;\n\n /* `pymdownx-inline` mode */\n [data-linenos] {\n\n /* Special line mode coloring */\n &.special::before {\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n /* Special line number coloring for tables */\n .highlighttable {\n .linenodiv {\n .special {\n margin-right: convert.px2em(-8px, 13.6px);\n margin-left: convert.px2em(-16px, 13.6px);\n padding-right: convert.px2em(8px, 13.6px);\n padding-left: convert.px2em(16px, 13.6px);\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n // Filename span\n .highlight span.filename {\n\n // Style the filename banner\n position: relative;\n display: block;\n margin-top: 1em;\n padding: convert.px2em(8px) convert.px2em(16px, 13.6px) convert.px2em(8px) convert.px2em(40px, 13.6px);\n font-weight: 700;\n font-size: convert.px2rem(13.6px);\n background-color: var(--md-code-title-bg-color);\n border-top-left-radius: convert.px2rem(9.6px);\n border-top-right-radius: convert.px2rem(9.6px);\n\n // Adjust margins and and general container look of code block\n + pre {\n margin-top: 0;\n\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Add code icon\n &::before {\n position: absolute;\n left: convert.px2em(12px, 13.6px);\n width: convert.px2em(20px, 13.6px);\n height: convert.px2em(20px, 13.6px);\n background-color: var(--md-default-fg-color);\n mask-image: var(--highlight-svg-console);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n\n .collapse-code {\n position: relative;\n margin-top: 1em;\n margin-bottom: 1em;\n\n pre {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n input{\n display: none;\n\n ~ .code-footer {\n width: 100%;\n margin: 0;\n padding: convert.px2em(4px) convert.px2em(8px) convert.px2em(4px) convert.px2em(0px);\n\n label {\n position: relative;\n margin: 0.05em;\n padding: 0.15em 0.8em;\n color: var(--md-primary-bg-color);\n font-size: 90%;\n background-color: var(--md-accent-fg-color);\n mask-repeat: no-repeat;\n mask-size: contain;\n border-radius: convert.px2rem(2px);\n cursor: pointer;\n content: \"\";\n\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n\n &::before {\n position: absolute;\n top: 0.15em;\n left: 0.15em;\n display: block;\n box-sizing: border-box;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-primary-bg-color);\n background-size: 1.25em;\n content: \"\";\n }\n\n &.expand {\n display: none;\n\n &::before {\n mask-image: var(--highlight-svg-arrow-expand);\n }\n }\n &.collapse::before {\n mask-image: var(--highlight-svg-arrow-collapse);\n }\n }\n }\n\n &:checked {\n ~ .code-footer label.expand {\n display: inline;\n }\n\n ~ .code-footer label.collapse {\n display: none;\n }\n\n + div.highlight code {\n max-height: convert.px2em(150px);\n overflow: hidden;\n }\n\n ~ .code-footer {\n position: relative;\n bottom: 4.3em;\n left: 0;\n margin-bottom: -4.3em;\n padding: convert.px2em(32px) convert.px2em(8px) convert.px2em(8px) convert.px2rem(16px);\n background-image: linear-gradient(to bottom,\n transparent,\n var(--md-default-bg-color) 80%\n 100%);\n border-bottom-right-radius: convert.px2rem(9.6px);\n border-bottom-left-radius: convert.px2rem(9.6px);\n }\n }\n }\n }\n\n @include break.break-to-device(mobile) {\n\n > {\n diagram-div {\n margin-right: convert.px2rem(-16px);\n margin-left: convert.px2rem(-16px);\n }\n .collapse-code {\n margin-right: convert.px2rem(-16px);\n margin-left: convert.px2rem(-16px);\n\n label.collapse {\n left: convert.px2rem(16px);\n }\n }\n }\n }\n}\n","@use \"../utilities/convert\";\n\n.md-typeset {\n\n // Keyboard key\n .keys {\n\n // Define keyboard keys with left icon\n @each $name, $code in (\n // Extra Keys\n \"power\": \"\\23FB\",\n \"fingerprint\": \"\\261D\",\n ) {\n .key-#{$name}::before {\n padding-right: convert.px2em(6.4px);\n content: $code;\n }\n }\n\n // Define keyboard keys with right icon\n @each $name, $code in (\n // Extra Keys\n ) {\n .key-#{$name}::after {\n padding-left: convert.px2em(6.4px);\n content: $code;\n }\n }\n }\n}\n","@use \"../utilities/convert\";\n\n// General styling for repository link icons\n:root > * {\n --magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");\n --magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");\n --magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");\n --magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");\n --magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");\n --magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");\n --magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");\n --magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");\n --magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\");\n}\n\n.md-typeset {\n a[href^=\"mailto:\"]:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-email-icon);\n }\n\n .magiclink-repository,\n .magiclink-compare,\n .magiclink-commit,\n .magiclink-pull,\n .magiclink-issue,\n .magiclink-discussion,\n a[href^=\"mailto:\"] {\n &:not(.magiclink-ignore) {\n position: relative;\n padding-left: convert.px2em(22px);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n width: convert.px2em(20px);\n height: convert.px2em(20px);\n background-color: var(--md-typeset-a-color);\n background-size: convert.px2em(20px);\n transition: background-color 125ms;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n &:hover::before {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"commit\": \"commit\",\n \"compare\": \"compare\",\n \"pull\": \"pull\",\n \"issue\": \"issue\",\n \"discussion\": \"discussion\"\n) {\n .md-typeset {\n .magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"github\": \"github\",\n \"gitlab\": \"gitlab\",\n \"bitbucket\": \"bitbucket\"\n) {\n .md-typeset {\n .magiclink-repository.magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n","/* Shadow boxes sometimes give issues, so just pad. */\n.md-typeset mark:not(.critic) {\n box-shadow: none;\n}\n","@use \"../palette/material_color\";\n@use \"../utilities/convert\";\n\n.md-typeset {\n\n /* Progress Bars */\n .progress-label {\n position: absolute;\n width: 100%;\n margin: 0;\n color: var(--md-text-color);\n font-weight: 700;\n line-height: convert.px2rem(28px);\n white-space: nowrap;\n text-align: center;\n text-shadow:\n convert.px2em(-1px) convert.px2em(-1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(1px) convert.px2em(-1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(-1px) convert.px2em(1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(1px) convert.px2em(1px) convert.px2em(6px) var(--md-default-bg-color--light);\n }\n\n .progress-bar {\n float: left;\n height: convert.px2rem(24px);\n background-color: material_color.$clr-blue-a400;\n }\n\n /* Stripe animation */\n .candystripe-animate {\n .progress-bar{\n animation: animate-stripes 3s linear infinite;\n }\n }\n\n .progress {\n position: relative;\n display: block;\n width: 100%;\n height: convert.px2rem(24px);\n margin: convert.px2rem(10px) 0;\n background-color: var(--md-default-fg-color--lightest);\n\n &.thin {\n height: convert.px2rem(8px);\n margin-top: convert.px2rem(18px);\n\n .progress-label {\n margin-top: convert.px2rem(-8px);\n }\n\n .progress-bar {\n height: convert.px2rem(8px);\n }\n }\n\n &.candystripe .progress-bar {\n background-image:\n linear-gradient(\n 135deg,\n var(--md-progress-stripe) 27%,\n transparent 27%,\n transparent 52%,\n var(--md-progress-stripe) 52%,\n var(--md-progress-stripe) 77%,\n transparent 77%,\n transparent\n );\n background-size: convert.px2rem(40px) convert.px2rem(40px);\n }\n }\n\n @each $percent, $color in (\n \"100\": var(--md-progress-100),\n \"80\": var(--md-progress-80),\n \"60\": var(--md-progress-60),\n \"40\": var(--md-progress-40),\n \"20\": var(--md-progress-20),\n \"0\": var(--md-progress-0)\n ) {\n .progress-#{$percent}plus {\n .progress-bar {\n background-color: $color;\n }\n }\n }\n\n @keyframes animate-stripes {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: convert.px2rem(120px) 0;\n }\n }\n}\n","// Material Colors\n// https://materialui.co/colors\n\n$clr-red: #f44336;\n$clr-red-50: #ffebee;\n$clr-red-100: #ffcdd2;\n$clr-red-200: #ef9a9a;\n$clr-red-300: #e57373;\n$clr-red-400: #ef5350;\n$clr-red-500: #f44336;\n$clr-red-600: #e53935;\n$clr-red-700: #d32f2f;\n$clr-red-800: #c62828;\n$clr-red-900: #b71c1c;\n$clr-red-a100: #ff8a80;\n$clr-red-a200: #ff5252;\n$clr-red-a400: #ff1744;\n$clr-red-a700: #d50000;\n\n$clr-pink: #e91e63;\n$clr-pink-50: #fce4ec;\n$clr-pink-100: #f8bbd0;\n$clr-pink-200: #f48fb1;\n$clr-pink-300: #f06292;\n$clr-pink-400: #ec407a;\n$clr-pink-500: #e91e63;\n$clr-pink-600: #d81b60;\n$clr-pink-700: #c2185b;\n$clr-pink-800: #ad1457;\n$clr-pink-900: #880e4f;\n$clr-pink-a100: #ff80ab;\n$clr-pink-a200: #ff4081;\n$clr-pink-a400: #f50057;\n$clr-pink-a700: #c51162;\n\n$clr-purple: #9c27b0;\n$clr-purple-50: #f3e5f5;\n$clr-purple-100: #e1bee7;\n$clr-purple-200: #ce93d8;\n$clr-purple-300: #ba68c8;\n$clr-purple-400: #ab47bc;\n$clr-purple-500: #9c27b0;\n$clr-purple-600: #8e24aa;\n$clr-purple-700: #7b1fa2;\n$clr-purple-800: #6a1b9a;\n$clr-purple-900: #4a148c;\n$clr-purple-a100: #ea80fc;\n$clr-purple-a200: #e040fb;\n$clr-purple-a400: #d500f9;\n$clr-purple-a700: #aa00ff;\n\n$clr-deep-purple: #673ab7;\n$clr-deep-purple-50: #ede7f6;\n$clr-deep-purple-100: #d1c4e9;\n$clr-deep-purple-200: #b39ddb;\n$clr-deep-purple-300: #9575cd;\n$clr-deep-purple-400: #7e57c2;\n$clr-deep-purple-500: #673ab7;\n$clr-deep-purple-600: #5e35b1;\n$clr-deep-purple-700: #512da8;\n$clr-deep-purple-800: #4527a0;\n$clr-deep-purple-900: #311b92;\n$clr-deep-purple-a100: #b388ff;\n$clr-deep-purple-a200: #7c4dff;\n$clr-deep-purple-a400: #651fff;\n$clr-deep-purple-a700: #6200ea;\n\n$clr-indigo: #3f51b5;\n$clr-indigo-50: #e8eaf6;\n$clr-indigo-100: #c5cae9;\n$clr-indigo-200: #9fa8da;\n$clr-indigo-300: #7986cb;\n$clr-indigo-400: #5c6bc0;\n$clr-indigo-500: #3f51b5;\n$clr-indigo-600: #3949ab;\n$clr-indigo-700: #303f9f;\n$clr-indigo-800: #283593;\n$clr-indigo-900: #1a237e;\n$clr-indigo-a100: #8c9eff;\n$clr-indigo-a200: #536dfe;\n$clr-indigo-a400: #3d5afe;\n$clr-indigo-a700: #304ffe;\n\n$clr-blue: #2196f3;\n$clr-blue-50: #e3f2fd;\n$clr-blue-100: #bbdefb;\n$clr-blue-200: #90caf9;\n$clr-blue-300: #64b5f6;\n$clr-blue-400: #42a5f5;\n$clr-blue-500: #2196f3;\n$clr-blue-600: #1e88e5;\n$clr-blue-700: #1976d2;\n$clr-blue-800: #1565c0;\n$clr-blue-900: #0d47a1;\n$clr-blue-a100: #82b1ff;\n$clr-blue-a200: #448aff;\n$clr-blue-a400: #2979ff;\n$clr-blue-a700: #2962ff;\n\n$clr-light-blue: #03a9f4;\n$clr-light-blue-50: #e1f5fe;\n$clr-light-blue-100: #b3e5fc;\n$clr-light-blue-200: #81d4fa;\n$clr-light-blue-300: #4fc3f7;\n$clr-light-blue-400: #29b6f6;\n$clr-light-blue-500: #03a9f4;\n$clr-light-blue-600: #039be5;\n$clr-light-blue-700: #0288d1;\n$clr-light-blue-800: #0277bd;\n$clr-light-blue-900: #01579b;\n$clr-light-blue-a100: #80d8ff;\n$clr-light-blue-a200: #40c4ff;\n$clr-light-blue-a400: #00b0ff;\n$clr-light-blue-a700: #0091ea;\n\n$clr-cyan: #00bcd4;\n$clr-cyan-50: #e0f7fa;\n$clr-cyan-100: #b2ebf2;\n$clr-cyan-200: #80deea;\n$clr-cyan-300: #4dd0e1;\n$clr-cyan-400: #26c6da;\n$clr-cyan-500: #00bcd4;\n$clr-cyan-600: #00acc1;\n$clr-cyan-700: #0097a7;\n$clr-cyan-800: #00838f;\n$clr-cyan-900: #006064;\n$clr-cyan-a100: #84ffff;\n$clr-cyan-a200: #18ffff;\n$clr-cyan-a400: #00e5ff;\n$clr-cyan-a700: #00b8d4;\n\n$clr-teal: #009688;\n$clr-teal-50: #e0f2f1;\n$clr-teal-100: #b2dfdb;\n$clr-teal-200: #80cbc4;\n$clr-teal-300: #4db6ac;\n$clr-teal-400: #26a69a;\n$clr-teal-500: #009688;\n$clr-teal-600: #00897b;\n$clr-teal-700: #00796b;\n$clr-teal-800: #00695c;\n$clr-teal-900: #004d40;\n$clr-teal-a100: #a7ffeb;\n$clr-teal-a200: #64ffda;\n$clr-teal-a400: #1de9b6;\n$clr-teal-a700: #00bfa5;\n\n$clr-green: #4caf50;\n$clr-green-50: #e8f5e9;\n$clr-green-100: #c8e6c9;\n$clr-green-200: #a5d6a7;\n$clr-green-300: #81c784;\n$clr-green-400: #66bb6a;\n$clr-green-500: #4caf50;\n$clr-green-600: #43a047;\n$clr-green-700: #388e3c;\n$clr-green-800: #2e7d32;\n$clr-green-900: #1b5e20;\n$clr-green-a100: #b9f6ca;\n$clr-green-a200: #69f0ae;\n$clr-green-a400: #00e676;\n$clr-green-a700: #00c853;\n\n$clr-light-green: #8bc34a;\n$clr-light-green-50: #f1f8e9;\n$clr-light-green-100: #dcedc8;\n$clr-light-green-200: #c5e1a5;\n$clr-light-green-300: #aed581;\n$clr-light-green-400: #9ccc65;\n$clr-light-green-500: #8bc34a;\n$clr-light-green-600: #7cb342;\n$clr-light-green-700: #689f38;\n$clr-light-green-800: #558b2f;\n$clr-light-green-900: #33691e;\n$clr-light-green-a100: #ccff90;\n$clr-light-green-a200: #b2ff59;\n$clr-light-green-a400: #76ff03;\n$clr-light-green-a700: #64dd17;\n\n$clr-lime: #cddc39;\n$clr-lime-50: #f9fbe7;\n$clr-lime-100: #f0f4c3;\n$clr-lime-200: #e6ee9c;\n$clr-lime-300: #dce775;\n$clr-lime-400: #d4e157;\n$clr-lime-500: #cddc39;\n$clr-lime-600: #c0ca33;\n$clr-lime-700: #afb42b;\n$clr-lime-800: #9e9d24;\n$clr-lime-900: #827717;\n$clr-lime-a100: #f4ff81;\n$clr-lime-a200: #eeff41;\n$clr-lime-a400: #c6ff00;\n$clr-lime-a700: #aeea00;\n\n$clr-yellow: #ffeb3b;\n$clr-yellow-50: #fffde7;\n$clr-yellow-100: #fff9c4;\n$clr-yellow-200: #fff59d;\n$clr-yellow-300: #fff176;\n$clr-yellow-400: #ffee58;\n$clr-yellow-500: #ffeb3b;\n$clr-yellow-600: #fdd835;\n$clr-yellow-700: #fbc02d;\n$clr-yellow-800: #f9a825;\n$clr-yellow-900: #f57f17;\n$clr-yellow-a100: #ffff8d;\n$clr-yellow-a200: #ffff00;\n$clr-yellow-a400: #ffea00;\n$clr-yellow-a700: #ffd600;\n\n$clr-amber: #ffc107;\n$clr-amber-50: #fff8e1;\n$clr-amber-100: #ffecb3;\n$clr-amber-200: #ffe082;\n$clr-amber-300: #ffd54f;\n$clr-amber-400: #ffca28;\n$clr-amber-500: #ffc107;\n$clr-amber-600: #ffb300;\n$clr-amber-700: #ffa000;\n$clr-amber-800: #ff8f00;\n$clr-amber-900: #ff6f00;\n$clr-amber-a100: #ffe57f;\n$clr-amber-a200: #ffd740;\n$clr-amber-a400: #ffc400;\n$clr-amber-a700: #ffab00;\n\n$clr-orange: #ff9800;\n$clr-orange-50: #fff3e0;\n$clr-orange-100: #ffe0b2;\n$clr-orange-200: #ffcc80;\n$clr-orange-300: #ffb74d;\n$clr-orange-400: #ffa726;\n$clr-orange-500: #ff9800;\n$clr-orange-600: #fb8c00;\n$clr-orange-700: #f57c00;\n$clr-orange-800: #ef6c00;\n$clr-orange-900: #e65100;\n$clr-orange-a100: #ffd180;\n$clr-orange-a200: #ffab40;\n$clr-orange-a400: #ff9100;\n$clr-orange-a700: #ff6d00;\n\n$clr-deep-orange: #ff5722;\n$clr-deep-orange-50: #fbe9e7;\n$clr-deep-orange-100: #ffccbc;\n$clr-deep-orange-200: #ffab91;\n$clr-deep-orange-300: #ff8a65;\n$clr-deep-orange-400: #ff7043;\n$clr-deep-orange-500: #ff5722;\n$clr-deep-orange-600: #f4511e;\n$clr-deep-orange-700: #e64a19;\n$clr-deep-orange-800: #d84315;\n$clr-deep-orange-900: #bf360c;\n$clr-deep-orange-a100: #ff9e80;\n$clr-deep-orange-a200: #ff6e40;\n$clr-deep-orange-a400: #ff3d00;\n$clr-deep-orange-a700: #dd2c00;\n\n$clr-brown: #795548;\n$clr-brown-50: #efebe9;\n$clr-brown-100: #d7ccc8;\n$clr-brown-200: #bcaaa4;\n$clr-brown-300: #a1887f;\n$clr-brown-400: #8d6e63;\n$clr-brown-500: #795548;\n$clr-brown-600: #6d4c41;\n$clr-brown-700: #5d4037;\n$clr-brown-800: #4e342e;\n$clr-brown-900: #3e2723;\n\n$clr-grey: #9e9e9e;\n$clr-grey-50: #fafafa;\n$clr-grey-100: #f5f5f5;\n$clr-grey-200: #eeeeee;\n$clr-grey-300: #e0e0e0;\n$clr-grey-400: #bdbdbd;\n$clr-grey-500: #9e9e9e;\n$clr-grey-600: #757575;\n$clr-grey-700: #616161;\n$clr-grey-800: #424242;\n$clr-grey-900: #212121;\n\n$clr-blue-grey: #607d8b;\n$clr-blue-grey-50: #eceff1;\n$clr-blue-grey-100: #cfd8dc;\n$clr-blue-grey-200: #b0bec5;\n$clr-blue-grey-300: #90a4ae;\n$clr-blue-grey-400: #78909c;\n$clr-blue-grey-500: #607d8b;\n$clr-blue-grey-600: #546e7a;\n$clr-blue-grey-700: #455a64;\n$clr-blue-grey-800: #37474f;\n$clr-blue-grey-900: #263238;\n\n$clr-white: #FFFFFF;\n$clr-black: #000000;\n","@use \"../utilities/break\";\n@use \"../utilities/convert\";\n\n.md-typeset .tabbed-control button{\n &:hover {\n color: var(--md-default-bg-color);\n background: var(--md-accent-fg-color);\n }\n}\n\n.md-typeset .tabbed-control--next button {\n &:hover {\n color: var(--md-default-bg-color);\n background: var(--md-accent-fg-color);\n }\n}\n\n.js .md-typeset .tabbed-labels::before {\n background-color: var(--md-accent-fg-color);\n}\n\n/* Style code blocks to fill full tab,\n but otherwise, pad content. */\n.md-typeset {\n .tabbed-alternate {\n &.tabbed-set .tabbed-control {\n width: convert.px2rem(40px);\n\n &[hidden] {\n width: convert.px2rem(24px);\n opacity: 0;\n }\n }\n\n &.tabbed-set > .tabbed-content > .tabbed-block {\n padding: 0 convert.px2rem(12px);\n\n > {\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n\n &:first-child {\n margin-top: convert.px2em(15px);\n\n code {\n border-top-left-radius: convert.px2rem(9.6px);\n border-top-right-radius: convert.px2rem(9.6px);\n }\n }\n\n &:only-child {\n margin-top: 0;\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n span.filename {\n margin-top: 0;\n }\n }\n }\n\n .collapse-code:only-child {\n margin-top: 0;\n\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n }\n\n diagram-div:only-child {\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n }\n }\n }\n }\n}\n\n/* Ignore mobile overflow styling that extends the tab bar */\n@include break.break-to-device(mobile) {\n [dir=ltr] .md-content__inner > .tabbed-set .tabbed-labels {\n padding-left: 0;\n }\n\n .md-content__inner > .tabbed-set .tabbed-labels {\n max-width: 100%;\n margin: 0;\n padding-inline-start: 0;\n scroll-padding-inline-start: 0;\n\n &::after {\n padding-inline-end: 0;\n content: none;\n }\n\n // Tabbed control previous\n ~ .tabbed-control--prev {\n margin-inline-start: 0;\n padding-inline-start: 0;\n }\n\n // Tabbed control next\n ~ .tabbed-control--next {\n margin-inline-end: 0;\n padding-inline-end: 0;\n }\n }\n}\n","@use \"palette/dracula\";\n\n/* Dark mode changes */\n[data-md-color-scheme=\"slate\"] {\n .md-typeset .task-list-control {\n .task-list-indicator::before {\n \tbackground-color: var(--md-default-fg-color--lighter);\n }\n\n [type=checkbox]:checked + .task-list-indicator::before {\n \tbackground-color: dracula.$drac-green;\n }\n }\n}\n","@use \"sass:color\";\n\n$drac-fg: hsl(60 30% 96.078%);\n$drac-bg: hsl(231 15% 18%);\n$drac-comment: hsl(225 27% 51%);\n$drac-highlight: hsl(231 25% 25%) ;\n$drac-selection: hsl(231 15% 30%);\n$drac-blue: hsl(225 100% 75%);\n$drac-cyan: hsl(191 97% 77%);\n$drac-green: hsl(135 94% 65%);\n$drac-orange: hsl(31 100% 71%);\n$drac-pink: hsl(326 100% 74%);\n$drac-purple: hsl(265 89% 78%);\n$drac-red: hsl(0 100% 67%);\n$drac-yellow: hsl(65 92% 76%);\n\n$drac-grey: hsl(225 8% 51%);\n\n// An approximation of the Alucard theme\n$alucard-fg: #1F1F1F;\n$alucard-bg: #F5F5F5;\n$alucard-comment: #635D97;\n$alucard-highlight: #DCDEEF;\n$alucard-selection: #CFCFDE;\n$alucard-blue: #3654c2;\n$alucard-cyan: #036A96;\n$alucard-green: #14720A;\n$alucard-orange: #A34D14;\n$alucard-pink: #A3134D;\n$alucard-purple: #644AC9;\n$alucard-red: #CB3A2A;\n$alucard-yellow: #836E15;\n","@use \"../utilities/convert\";\n\n:root > * {\n --toc-svg-link: svg-load(\"@mdi/svg/svg/link.svg\");\n}\n\n// Header anchors\n.md-typeset {\n .headerlink {\n width: convert.px2em(16px);\n height: convert.px2em(16px);\n vertical-align: middle;\n background-color: var(--md-default-fg-color--lighter);\n background-size: convert.px2em(16px);\n mask-size: convert.px2em(16px);\n mask-repeat: no-repeat;\n visibility: visible;\n mask-image: var(--toc-svg-link);\n }\n\n .headerlink:hover,\n [id]:target .headerlink {\n background-color: var(--md-accent-fg-color);\n }\n}\n","/* Special handling of Mermaid content. */\ndiagram-div {\n overflow: auto;\n}\n",".md-typeset div.steps > ol {\n counter-reset: item;\n\n > li {\n position: relative;\n padding-left: 1em;\n list-style: none;\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n display: block;\n width: 1.75em;\n height: 1.75em;\n margin-left: -1.25em;\n color: var(--md-steps-fg-color);\n font-weight: 600;\n font-size: 0.9em;\n text-align: center;\n background-color: var(--md-steps-bg-color);\n border: 1px solid var(--md-steps-border-color);\n border-radius: 100px;\n content: counter(item);\n counter-increment: item;\n }\n\n &::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: -0.36em;\n display: block;\n width: 1px;\n margin-top: 2em;\n border-left: 1px solid var(--md-steps-border-color);\n content: '';\n }\n }\n}\n","@use \"../utilities/convert\";\n\n.md-typeset table:not([class]) {\n th {\n border-bottom: convert.px2rem(2px) solid var(--md-accent-fg-color);\n }\n}\n","@use \"utilities/break\";\n@use \"utilities/convert\";\n\nhtml {\n background-color: transparent;\n}\n\n[data-md-component=\"announce\"] .twemoji {\n color: var(--md-primary-fg-color);\n}\n\n.md-container .md-tabs {\n .md-tabs__item--active {\n border-bottom: convert.px2rem(2px) solid var(--md-accent-fg-color);\n }\n}\n\n// Navigation\n.md-nav--secondary {\n > ul {\n border-left: convert.px2rem(2px) solid var(--md-default-fg-color--lightest);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-2px);\n padding-left: convert.px2rem(16px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-14px);\n padding-left: convert.px2rem(28px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-26px);\n padding-left: convert.px2rem(40px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-38px);\n padding-left: convert.px2rem(52px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-50px);\n padding-left: convert.px2rem(64px);\n }\n }\n }\n }\n }\n }\n\n .md-nav__item {\n color: var(--md-default-fg-color--light);\n\n .md-nav__link--active {\n color: var(--md-default-fg-color);\n border-left: convert.px2rem(2px) solid var(--md-accent-fg-color);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .md-nav__link {\n &:focus,\n &:hover {\n color: var(--md-default-fg-color);\n }\n }\n }\n}\n\n.md-nav--primary {\n .md-nav__item {\n color: var(--md-default-fg-color--light);\n }\n}\n\n// Navigation\n.md-nav__source {\n color: var(--md-text-color);\n}\n\n.md-nav__link[data-md-state=blur] {\n color: var(--md-default-fg-color--light);\n}\n\n.md-typeset {\n\n /* Don't force capitalization of `H5` elements. */\n h5 {\n color: var(--md-text-color);\n text-transform: none;\n }\n}\n\n.md-typeset__scrollwrap,\n.md-sidebar__scrollwrap,\n.md-search__scrollwrap,\n.md-typeset pre > code,\n.md-typeset div.mermaid,\n.md-typeset div.diagram,\n.md-typeset mermaid-div,\n.md-typeset diagram-div,\n.md-typeset pre.arithmatex,\n.md-typeset div.arithmatex {\n // Firefox scrollbar and thumb\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n scrollbar-width: thin;\n\n // Firefox hovered scrollbar and thumb\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: convert.px2rem(4px);\n height: convert.px2rem(4px);\n }\n\n &::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Variables\n// ----------------------------------------------------------------------------\n\n///\n/// Device-specific breakpoints\n///\n/// @example\n/// $break-devices: (\n/// mobile: (\n/// portrait: 220px 479px,\n/// landscape: 480px 719px\n/// ),\n/// tablet: (\n/// portrait: 720px 959px,\n/// landscape: 960px 1219px\n/// ),\n/// screen: (\n/// small: 1220px 1599px,\n/// medium: 1600px 1999px,\n/// large: 2000px\n/// )\n/// );\n///\n@use \"sass:map\";\n@use \"sass:list\";\n@use \"sass:meta\";\n@use \"./convert\";\n\n$break-devices: (\n mobile: (\n portrait: convert.px2em(220px) convert.px2em(479px),\n landscape: convert.px2em(480px) convert.px2em(719px)\n ),\n tablet: (\n portrait: convert.px2em(720px) convert.px2em(959px),\n landscape: convert.px2em(960px) convert.px2em(1219px)\n ),\n screen: (\n small: convert.px2em(1220px) convert.px2em(1599px),\n medium: convert.px2em(1600px) convert.px2em(1999px),\n large: convert.px2em(2000px)\n )\n) !default;\n\n// ----------------------------------------------------------------------------\n// Helpers\n// ----------------------------------------------------------------------------\n\n///\n/// Choose minimum and maximum device widths\n///\n@function break-select-min-max($devices) {\n $min: 1000000;\n $max: 0;\n @each $key, $value in $devices {\n @while meta.type-of($value) == map {\n $value: break-select-min-max($value);\n }\n @if meta.type-of($value) == list {\n @each $number in $value {\n @if meta.type-of($number) == number {\n $min: min($number, $min);\n @if $max != null {\n $max: max($number, $max);\n }\n } @else {\n @error \"Invalid number: #{$number}\";\n }\n }\n } @else if meta.type-of($value) == number {\n $min: min($value, $min);\n $max: null;\n } @else {\n @error \"Invalid value: #{$value}\";\n }\n }\n @return $min, $max;\n}\n\n///\n/// Select minimum and maximum widths for a device breakpoint\n///\n@function break-select-device($device) {\n $current: $break-devices;\n @for $n from 1 through list.length($device) {\n @if meta.type-of($current) == map {\n $current: map.get($current, list.nth($device, $n));\n } @else {\n @error \"Invalid device map: #{$devices}\";\n }\n }\n @if meta.type-of($current) == list or meta.type-of($current) == number {\n $current: (default: $current);\n }\n @return break-select-min-max($current);\n}\n\n// ----------------------------------------------------------------------------\n// Mixins\n// ----------------------------------------------------------------------------\n\n///\n/// A minimum-maximum media query breakpoint\n///\n@mixin break-at($breakpoint) {\n @if meta.type-of($breakpoint) == number {\n @media screen and (min-width: $breakpoint) {\n @content;\n }\n } @else if meta.type-of($breakpoint) == list {\n $min: list.nth($breakpoint, 1);\n $max: list.nth($breakpoint, 2);\n @if meta.type-of($min) == number and meta.type-of($max) == number {\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// An orientation media query breakpoint\n///\n@mixin break-at-orientation($breakpoint) {\n @if meta.type-of($breakpoint) == string {\n @media screen and (orientation: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A maximum-aspect-ratio media query breakpoint\n///\n@mixin break-at-ratio($breakpoint) {\n @if meta.type-of($breakpoint) == number {\n @media screen and (max-aspect-ratio: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A minimum-maximum media query device breakpoint\n///\n@mixin break-at-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n @if list.nth($breakpoint, 2) != null {\n $min: list.nth($breakpoint, 1);\n $max: list.nth($breakpoint, 2);\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A minimum media query device breakpoint\n///\n@mixin break-from-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n $min: list.nth($breakpoint, 1);\n @media screen and (min-width: $min) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A maximum media query device breakpoint\n///\n@mixin break-to-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n $max: list.nth($breakpoint, 2);\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n"]} \ No newline at end of file diff --git a/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js b/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js new file mode 100644 index 00000000..36a3bebb --- /dev/null +++ b/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js @@ -0,0 +1,4 @@ +function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}!function(){"use strict";function t(t,e,r,o,a,n,i){try{var c=t[n](i),l=c.value}catch(t){return void r(t)}c.done?e(l):Promise.resolve(l).then(o,a)}function e(t,e,r){return e=o(e),function(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,n()?Reflect.construct(e,[],o(t).constructor):e.apply(t,r))}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},o(t)}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&l(t,e)}function n(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(n=function(){return!!t})()}function i(){ +/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ +var t,e,r="function"==typeof Symbol?Symbol:{},o=r.iterator||"@@iterator",a=r.toStringTag||"@@toStringTag";function n(r,o,a,n){var i=o&&o.prototype instanceof f?o:f,d=Object.create(i.prototype);return c(d,"_invoke",function(r,o,a){var n,i,c,f=0,d=a||[],u=!1,p={p:0,n:0,v:t,a:s,f:s.bind(t,4),d:function(e,r){return n=e,i=0,c=t,p.n=r,l}};function s(r,o){for(i=r,c=o,e=0;!u&&f&&!a&&e3?(a=m===o)&&(c=n[(i=n[4])?5:(i=3,3)],n[4]=n[5]=t):n[0]<=s&&((a=r<2&&so||o>m)&&(n[4]=r,n[5]=o,p.n=m,i=0))}if(a||r>1)return l;throw u=!0,o}return function(a,d,m){if(f>1)throw TypeError("Generator is already running");for(u&&1===d&&s(d,m),i=d,c=m;(e=i<2?t:c)||!u;){n||(i?i<3?(i>1&&(p.n=-1),s(i,c)):p.n=c:p.v=c);try{if(f=2,n){if(i||(a="next"),e=n[a]){if(!(e=e.call(n,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,i<2&&(i=0)}else 1===i&&(e=n.return)&&e.call(n),i<2&&(c=TypeError("The iterator does not provide a '"+a+"' method"),i=1);n=t}else if((e=(u=p.n<0)?c:r.call(o,p))!==l)break}catch(e){n=t,i=1,c=e}finally{f=1}}return{value:e,done:u}}}(r,a,n),!0),d}var l={};function f(){}function d(){}function u(){}e=Object.getPrototypeOf;var p=[][o]?e(e([][o]())):(c(e={},o,function(){return this}),e),s=u.prototype=f.prototype=Object.create(p);function m(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,u):(t.__proto__=u,c(t,a,"GeneratorFunction")),t.prototype=Object.create(s),t}return d.prototype=u,c(s,"constructor",u),c(u,"constructor",d),d.displayName="GeneratorFunction",c(u,a,"GeneratorFunction"),c(s),c(s,a,"Generator"),c(s,o,function(){return this}),c(s,"toString",function(){return"[object Generator]"}),(i=function(){return{w:n,m:m}})()}function c(t,e,r,o){var a=Object.defineProperty;try{a({},"",{})}catch(t){a=0}c=function(t,e,r,o){function n(e,r){c(t,e,function(t){return this._invoke(e,r,t)})}e?a?a(t,e,{value:r,enumerable:!o,configurable:!o,writable:!o}):t[e]=r:(n("next",0),n("throw",1),n("return",2))},c(t,e,r,o)}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return function(t,e,r){if(n())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,e);var a=new(t.bind.apply(t,o));return r&&l(a,r.prototype),a}(t,arguments,o(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),l(r,t)},f(t)}var d,u,p,s=function(){var o,n=(o=i().m(function t(o){var n,c,l,d,u,p,s,m,g,h,b,y,v,x,k,O;return i().w(function(t){for(;;)switch(t.p=t.n){case 0:n=function(t){function o(){var t;r(this,o);var a=(t=e(this,o)).attachShadow({mode:"open"}),n=document.createElement("style");return n.textContent="\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }",a.appendChild(n),t}return a(o,t),n=o,Object.defineProperty(n,"prototype",{writable:!1}),n;var n}(f(HTMLElement)),void 0===customElements.get("diagram-div")&&customElements.define("diagram-div",n),c=function(t){for(var e="",r=0;r .label text { fill: var(--drac-purple-fg); } .edgeLabel text { fill: var(--drac-purple-fg) !important; } .edgeLabel rect { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } .grey rect.label-container { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } /* Sequence */ line[id^='actor'] { stroke: var(--drac-blue-fg); } .noteText { fill: var(--drac-yellow-fg); } /* Gantt */ .sectionTitle { fill: var(--drac-purple-fg) !important; } .grid .tick line { stroke: var(--drac-blue-fg) !important; } .grid .tick text { fill: var(--drac-purple-fg); } /* Class Diagram */ .statediagram-state rect.divider { fill: transparent !important; } /* State Diagram */ .stateGroup circle[style$=\"fill: black;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-bg) !important; } .stateGroup circle[style$=\"fill: white;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } .stateGroup .composit { fill: var(--drac-page-bg); } /* Pie */ text.slice { fill: var(--drac-white-fg) !important; } /* Git Graph */ .commit-bullets .commit-reverse, .commit-bullets .commit-merge, .commit-bullets .commit-highlight-inner { fill: var(--drac-page-bg) !important; stroke: var(--drac-page-bg) !important; } ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}}),d=Promise.resolve(),u=Promise.resolve(),p=new MutationObserver(function(t){t.forEach(function(t){"attributes"===t.type&&(t.target.getAttribute("data-md-color-scheme"),"undefined"!=typeof mermaid&&s("diagram"))})}),window.document$.subscribe(function(){p.observe(document.querySelector("body"),{attributeFilter:["data-md-color-scheme"]}),"undefined"!=typeof mermaid&&(d=d.then(function(){s("diagram")}).catch(function(t){console.log("UML loading failed...".concat(t))})),"undefined"!=typeof katex?u=u.then(function(){m("arithmatex","katex")}).catch(function(t){console.log("Math loading failed...".concat(t))}):"undefined"!=typeof MathJax&&"typesetPromise"in MathJax&&(u=u.then(function(){m("arithmatex","mathjax")}).catch(function(t){console.log("Math loading failed...".concat(t))}))})}(); +//# sourceMappingURL=extra-loader-Ccztcqfq.js.map diff --git a/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map b/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map new file mode 100644 index 00000000..9081580a --- /dev/null +++ b/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map @@ -0,0 +1 @@ +{"version":3,"file":"extra-loader-Ccztcqfq.js","sources":["uml.js","extra-loader.js","arithmatex.js","material-extra-3rdparty.js"],"sourcesContent":["/* Notes (as of Mermaid 8.7.0):\n * - Gantt: width is always relative to the parent, if you have a small parent, the chart will be squashed.\n * Can't help it.\n * - Journey: Suffers from the same issues that Gantt does.\n * - Pie: These charts have no default height or width. Good luck pinning them down to a reasonable size.\n * - Git: The render portion is agnostic to the size of the parent element. But padding of the SVG is relative\n * to the parent element. You will never find a happy size.\n */\n\n/**\n * Targets special code or div blocks and converts them to UML.\n * @param {string} className is the name of the class to target.\n * @return {void}\n */\nexport default async className => {\n\n // Custom element to encapsulate Mermaid content.\n class MermaidDiv extends HTMLElement {\n\n /**\n * Creates a special Mermaid div shadow DOM.\n * Works around issues of shared IDs.\n * @return {void}\n */\n constructor() {\n super()\n\n // Create the Shadow DOM and attach style\n const shadow = this.attachShadow({mode: \"open\"})\n const style = document.createElement(\"style\")\n style.textContent = `\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }`\n shadow.appendChild(style)\n }\n }\n\n if (typeof customElements.get(\"diagram-div\") === \"undefined\") {\n customElements.define(\"diagram-div\", MermaidDiv)\n }\n\n const getFromCode = parent => {\n // Handles
 text extraction.\n    let text = \"\"\n    for (let j = 0; j < parent.childNodes.length; j++) {\n      const subEl = parent.childNodes[j]\n      if (subEl.tagName.toLowerCase() === \"code\") {\n        for (let k = 0; k < subEl.childNodes.length; k++) {\n          const child = subEl.childNodes[k]\n          const whitespace = /^\\s*$/\n          if (child.nodeName === \"#text\" && !(whitespace.test(child.nodeValue))) {\n            text = child.nodeValue\n            break\n          }\n        }\n      }\n    }\n    return text\n  }\n\n  // We use this to determine if we want the dark or light theme.\n  // This is specific for our MkDocs Material environment.\n  // You should load your configs based on your own environment's needs.\n  const defaultConfig = {\n    startOnLoad: false,\n    theme: \"default\",\n    flowchart: {\n      useMaxWidth: false\n    },\n    er: {\n      useMaxWidth: false\n    },\n    sequence: {\n      useMaxWidth: false,\n      noteFontWeight: \"14px\",\n      actorFontSize: \"14px\",\n      messageFontSize: \"16px\"\n    }\n  }\n  mermaid.mermaidAPI.globalReset()\n  // Non Material themes should just use \"default\"\n  let scheme = null\n  try {\n    scheme = document.querySelector(\"[data-md-color-scheme]\").getAttribute(\"data-md-color-scheme\")\n  } catch (err) {\n    scheme = \"slate\"\n  }\n  const config = (typeof mermaidConfig === \"undefined\") ?\n    defaultConfig :\n    mermaidConfig[scheme] || (mermaidConfig.default || defaultConfig)\n  mermaid.initialize(config)\n\n  // Find all of our Mermaid sources and render them.\n  const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)\n  const surrogate = document.querySelector(\"html body\")\n  for (let i = 0; i < blocks.length; i++) {\n    const block = blocks[i]\n    const parentEl = (block.tagName.toLowerCase() === \"diagram-div\") ?\n      block.shadowRoot.querySelector(`pre.${className}`) :\n      block\n\n    // Create a temporary element with the typeset and size we desire.\n    // Insert it at the end of our parent to render the SVG.\n    const temp = document.createElement(\"div\")\n    temp.style.visibility = \"hidden\"\n    temp.style.display = \"display\"\n    temp.style.padding = \"0\"\n    temp.style.margin = \"0\"\n    temp.style.lineHeight = \"initial\"\n    temp.style.fontSize = \"16px\"\n    surrogate.appendChild(temp)\n\n    try {\n      const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)\n      const content = res.svg\n      const fn = res.bindFunctions\n      const el = document.createElement(\"div\")\n      el.className = className\n      el.innerHTML = content\n      if (fn) {\n        fn(el)\n      }\n\n      // Insert the render where we want it and remove the original text source.\n      // Mermaid will clean up the temporary element.\n      const shadow = document.createElement(\"diagram-div\")\n      shadow.shadowRoot.appendChild(el)\n      block.parentNode.insertBefore(shadow, block)\n      parentEl.style.display = \"none\"\n      shadow.shadowRoot.appendChild(parentEl)\n      if (parentEl !== block) {\n        block.parentNode.removeChild(block)\n      }\n    } catch (err) {} // eslint-disable-line no-empty\n\n    if (surrogate.contains(temp)) {\n      surrogate.removeChild(temp)\n    }\n  }\n}\n","import uml from \"./uml\"\nimport arithmatex from \"./arithmatex\"\nimport \"./material-extra-3rdparty\"\n\n// Main function\n(() => {\n  let umlPromise = Promise.resolve()\n  let mathPromise = Promise.resolve()\n\n  const observer = new MutationObserver(mutations => {\n    mutations.forEach(mutation => {\n      if (mutation.type === \"attributes\") {\n        let scheme = mutation.target.getAttribute(\"data-md-color-scheme\")\n        if (!scheme) {\n          scheme = \"slate\"\n        }\n        if (typeof mermaid !== \"undefined\") {\n          uml(\"diagram\")\n        }\n      }\n    })\n  })\n\n  const main = () => {\n    observer.observe(document.querySelector(\"body\"), {attributeFilter: [\"data-md-color-scheme\"]})\n\n    if (typeof mermaid !== \"undefined\") {\n      umlPromise = umlPromise.then(() => {\n        uml(\"diagram\")\n      }).catch(err => {\n        console.log(`UML loading failed...${err}`) // eslint-disable-line no-console\n      })\n    }\n\n    if (typeof katex !== \"undefined\") {\n      mathPromise = mathPromise.then(() => {\n        arithmatex(\"arithmatex\", \"katex\")\n      }).catch(err => {\n        console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n      })\n    } else if (typeof MathJax !== \"undefined\" && 'typesetPromise' in MathJax) {\n      mathPromise = mathPromise.then(() => {\n        arithmatex(\"arithmatex\", \"mathjax\")\n      }).catch(err => {\n        console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n      })\n    }\n  }\n\n  window.document$.subscribe(main)\n})()\n","export default (className, mode) => {\n  if (mode === 'katex') {\n    const maths = document.querySelectorAll(`.${className}`)\n\n    for (let i = 0; i < maths.length; i++) {\n      const tex = maths[i].textContent || maths[i].innerText\n\n      if (tex.startsWith('\\\\(') && tex.endsWith('\\\\)')) {\n        katex.render(tex.slice(2, -2), maths[i], {'displayMode': false})\n      } else if (tex.startsWith('\\\\[') && tex.endsWith('\\\\]')) {\n        katex.render(tex.slice(2, -2), maths[i], {'displayMode': true})\n      }\n    }\n  } else if (mode === 'mathjax') {\n    if (typeof  MathJax.startup.output.clearCache !== \"undefined\") {\n      MathJax.startup.output.clearCache()\n    }\n    MathJax.typesetClear()\n    MathJax.texReset()\n    MathJax.typesetPromise()\n  }\n}\n","// MathJax configuration\n\nif (!('mathjaxConfig' in window)) {\n  window.MathJax = {\n    tex: {\n      inlineMath: [[\"\\\\(\", \"\\\\)\"]],\n      displayMath: [[\"\\\\[\", \"\\\\]\"]],\n      processEscapes: true,\n      processEnvironments: true,\n      tagSide: \"right\",\n      tagIndent: \".8em\",\n      multlineWidth: \"85%\",\n      tags: \"ams\"\n    },\n    options: {\n      ignoreHtmlClass: \".*\",\n      processHtmlClass: \"arithmatex\"\n    }\n  }\n}\n\nif (!('mermaidConfig' in window)) {\n  // Our loader looks for `mermaidConfig` and will load the the appropriate\n  // configuration based on our current scheme: light, dark, etc.\n  window.mermaidConfig = {\n    slate: {\n      startOnLoad: false,\n      theme: \"base\",\n      themeCSS: \"\\\n        * {\\\n          --drac-page-bg: hsl(233, 15%, 23%);\\\n          --drac-white-fg: hsl(60, 30%, 96%);\\\n          --drac-purple-fg: hsl(265, 89%, 78%);\\\n          --drac-purple-bg: hsl(265, 25%, 39%);\\\n          --drac-yellow-fg: hsl(65, 92%, 76%);\\\n          --drac-blue-fg: hsl(225, 27%, 51%);\\\n        }\\\n        \\\n        /* General */\\\n        [id^='_diagram'] {\\\n          background-color: var(--drac-page-bg);\\\n        }\\\n        \\\n        /* Entity Relationship */\\\n        rect.relationshipLabelBox {\\\n          opacity: 0.75 !important;\\\n          fill: var(--drac-purple-bg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_END circle {\\\n          fill: var(--drac-page-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_START circle{\\\n          fill: var(--drac-page-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_MORE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONLY_ONE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONLY_ONE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_ONE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ZERO_OR_ONE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONE_OR_MORE_START path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        defs marker#ONE_OR_MORE_END path {\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        \\\n        /* Flowchart */\\\n        .labelText,\\\n        :not(.branchLabel) > .label text {\\\n          fill: var(--drac-purple-fg);\\\n        }\\\n        .edgeLabel text {\\\n          fill: var(--drac-purple-fg) !important;\\\n        }\\\n        .edgeLabel rect {\\\n          opacity: 0.75 !important;\\\n          fill: var(--drac-purple-bg) !important;\\\n        }\\\n        \\\n        .grey rect.label-container { \\\n          fill: var(--drac-purple-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        } \\\n        /* Sequence */\\\n        line[id^='actor'] {\\\n          stroke: var(--drac-blue-fg);\\\n        }\\\n        .noteText {\\\n          fill: var(--drac-yellow-fg);\\\n        }\\\n        \\\n        /* Gantt */\\\n        .sectionTitle {\\\n          fill: var(--drac-purple-fg) !important;\\\n        }\\\n        \\\n        .grid .tick line {\\\n          stroke: var(--drac-blue-fg) !important;\\\n        }\\\n        \\\n        .grid .tick text {\\\n          fill: var(--drac-purple-fg);\\\n        }\\\n        \\\n        /* Class Diagram */\\\n        .statediagram-state rect.divider {\\\n          fill: transparent !important;\\\n        }\\\n        \\\n        /* State Diagram */\\\n        .stateGroup circle[style$=\\\"fill: black;\\\"] {\\\n          fill: var(--drac-purple-bg) !important;\\\n          stroke: var(--drac-purple-bg) !important;\\\n        }\\\n        \\\n        .stateGroup circle[style$=\\\"fill: white;\\\"] {\\\n          fill: var(--drac-purple-bg) !important;\\\n          stroke: var(--drac-purple-fg) !important;\\\n        }\\\n        \\\n        .stateGroup .composit {\\\n          fill: var(--drac-page-bg);\\\n        }\\\n        /* Pie */\\\n        text.slice {\\\n          fill: var(--drac-white-fg) !important;\\\n        }\\\n        /* Git Graph */\\\n        .commit-bullets .commit-reverse,\\\n        .commit-bullets .commit-merge, \\\n        .commit-bullets .commit-highlight-inner {\\\n          fill: var(--drac-page-bg) !important;\\\n          stroke: var(--drac-page-bg) !important;\\\n        }\\\n        \",\n      themeVariables: {\n        darkMode: true,\n        background: \"#323443\",\n        mainBkg: \"#604b7d\",\n        textColor: \"#bf95f9\",\n        lineColor: \"#bf95f9\",\n        errorBkgColor: \"#802c2c\",\n        errorTextColor: \"#ff5757\",\n        primaryColor: \"#604b7d\",\n        primaryTextColor: \"#bf95f9\",\n        primaryBorderColor: \"#bf95f9\",\n        secondaryColor: \"#297d3e\",\n        secondaryTextColor: \"#52fa7c\",\n        secondaryBorderColor: \"#52fa7c\",\n        tertiaryColor: \"#303952\",\n        tertiaryTextColor: \"#6071a4\",\n        tertiaryBorderColor: \"#6071a4\",\n        noteBkgColor: \"#797d45\",\n        noteTextColor: \"#f1fa89\",\n        noteBorderColor: \"#f1fa89\",\n        edgeLabelBackground: \"#604b7d\",\n        edgeLabelText: \"#604b7d\",\n\n        actorLineColor: \"#6071a4\",\n\n        activeTaskBkgColor: \"#803d63\",\n        activeTaskBorderColor: \"#ff7ac6\",\n        doneTaskBkgColor: \"#297d3e\",\n        doneTaskBorderColor: \"#52fa7c\",\n        critBkgColor: \"#802c2c\",\n        critBorderColor: \"#ff5757\",\n        taskTextColor: \"#bf95f9\",\n        taskTextOutsideColor: \"#bf95f9\",\n        taskTextLightColor: \"#bf95f9\",\n        sectionBkgColor: \"#bf95f9b3\",\n        sectionBkgColor2: \"#bf95f966\",\n        altSectionBkgColor: \"#323443\",\n        todayLineColor: \"#ff7ac6\",\n        gridColor: \"#6071a4\",\n        defaultLinkColor: \"#8be8fd\",\n\n        altBackground: \"#bf95f9\",\n\n        classText: \"#bf95f9\",\n\n        fillType0: \"#406080\",\n        fillType1: \"#46747f\",\n        fillType2: \"#297d3e\",\n        fillType3: \"#805c36\",\n        fillType4: \"#803d63\",\n        fillType5: \"#604b7d\",\n        fillType6: \"#802c2c\",\n        fillType7: \"#797d45\",\n        fillType8: \"#7c7c79\",\n\n        git0: \"#ff5555\",\n        git1: \"#ffb86c\",\n        git2: \"#f1fa8c\",\n        git3: \"#50fa7b\",\n        git4: \"#8be9fd\",\n        git5: \"#809fff\",\n        git6: \"#ff79c6\",\n        git7: \"#bd93f9\",\n\n        gitInv0: \"#ff5555\",\n        gitInv1: \"#ffb86c\",\n        gitInv2: \"#f1fa8c\",\n        gitInv3: \"#50fa7b\",\n        gitInv4: \"#8be9fd\",\n        gitInv5: \"#809fff\",\n        gitInv6: \"#ff79c6\",\n        gitInv7: \"#bd93f9\",\n\n        gitBranchLabel0: \"#323443\",\n        gitBranchLabel1: \"#323443\",\n        gitBranchLabel2: \"#323443\",\n        gitBranchLabel3: \"#323443\",\n        gitBranchLabel4: \"#323443\",\n        gitBranchLabel5: \"#323443\",\n        gitBranchLabel6: \"#323443\",\n        gitBranchLabel7: \"#323443\",\n\n        commitLabelColor: '#52fa7c',\n        commitLabelBackground: '#297d3e'\n      },\n      flowchart: {\n        useMaxWidth: false\n      },\n      er: {\n        useMaxWidth: false\n      },\n      sequence: {\n        useMaxWidth: false,\n        // Mermaid handles Firefox a little different.\n        // For some reason, it doesn't attach font sizes to the labels in Firefox.\n        // If we specify the documented defaults, font sizes are written to the labels in Firefox.\n        noteFontWeight: \"14px\",\n        actorFontSize: \"14px\",\n        messageFontSize: \"16px\"\n      },\n      journey: {\n        useMaxWidth: false\n      },\n      pie: {\n        useMaxWidth: false\n      },\n      gantt: {\n        useMaxWidth: false\n      },\n      gitGraph: {\n        useMaxWidth: false\n      }\n    },\n\n    default: {\n      startOnLoad: false,\n      theme: \"default\",\n      flowchart: {\n        useMaxWidth: false\n      },\n      er: {\n        useMaxWidth: false\n      },\n      sequence: {\n        useMaxWidth: false,\n        noteFontWeight: \"14px\",\n        actorFontSize: \"14px\",\n        messageFontSize: \"16px\"\n      },\n      journey: {\n        useMaxWidth: false\n      },\n      pie: {\n        useMaxWidth: false\n      },\n      gantt: {\n        useMaxWidth: false\n      },\n      gitGraph: {\n        useMaxWidth: false\n      }\n    }\n  }\n}\n"],"names":["umlPromise","mathPromise","observer","uml","_ref","_regenerator","m","_callee","className","MermaidDiv","getFromCode","defaultConfig","scheme","config","blocks","surrogate","i","block","parentEl","temp","res","content","fn","el","shadow","w","_context","p","n","_HTMLElement","_this","_classCallCheck","_callSuper","this","attachShadow","mode","style","document","createElement","textContent","appendChild","_inherits","_wrapNativeSuper","HTMLElement","customElements","get","define","parent","text","j","childNodes","length","subEl","tagName","toLowerCase","k","child","nodeName","test","nodeValue","startOnLoad","theme","flowchart","useMaxWidth","er","sequence","noteFontWeight","actorFontSize","messageFontSize","mermaid","mermaidAPI","globalReset","querySelector","getAttribute","err","mermaidConfig","initialize","querySelectorAll","concat","shadowRoot","visibility","display","padding","margin","lineHeight","fontSize","render","v","svg","bindFunctions","innerHTML","parentNode","insertBefore","removeChild","contains","a","_x","apply","arguments","arithmatex","maths","tex","innerText","startsWith","endsWith","katex","slice","displayMode","MathJax","startup","output","clearCache","typesetClear","texReset","typesetPromise","window","inlineMath","displayMath","processEscapes","processEnvironments","tagSide","tagIndent","multlineWidth","tags","options","ignoreHtmlClass","processHtmlClass","slate","themeCSS","themeVariables","darkMode","background","mainBkg","textColor","lineColor","errorBkgColor","errorTextColor","primaryColor","primaryTextColor","primaryBorderColor","secondaryColor","secondaryTextColor","secondaryBorderColor","tertiaryColor","tertiaryTextColor","tertiaryBorderColor","noteBkgColor","noteTextColor","noteBorderColor","edgeLabelBackground","edgeLabelText","actorLineColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBkgColor","doneTaskBorderColor","critBkgColor","critBorderColor","taskTextColor","taskTextOutsideColor","taskTextLightColor","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","todayLineColor","gridColor","defaultLinkColor","altBackground","classText","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","fillType8","git0","git1","git2","git3","git4","git5","git6","git7","gitInv0","gitInv1","gitInv2","gitInv3","gitInv4","gitInv5","gitInv6","gitInv7","gitBranchLabel0","gitBranchLabel1","gitBranchLabel2","gitBranchLabel3","gitBranchLabel4","gitBranchLabel5","gitBranchLabel6","gitBranchLabel7","commitLabelColor","commitLabelBackground","journey","pie","gantt","gitGraph","default","Promise","resolve","MutationObserver","mutations","forEach","mutation","type","target","document$","subscribe","observe","attributeFilter","then","console","log"],"mappings":"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"}
\ No newline at end of file
diff --git a/docs/theme/main.html b/docs/theme/main.html
new file mode 100644
index 00000000..ad250137
--- /dev/null
+++ b/docs/theme/main.html
@@ -0,0 +1,17 @@
+{% extends "base.html" %}
+
+{% block announce %}{% include "announce.html" ignore missing %}{% endblock %}
+
+{% block content %}
+  {{ super() }}
+  
+{% endblock %}
diff --git a/hatch_build.py b/hatch_build.py
index a9623d9b..3e4fc028 100644
--- a/hatch_build.py
+++ b/hatch_build.py
@@ -48,6 +48,7 @@ def update(self, metadata):
             "Programming Language :: Python :: 3.11",
             "Programming Language :: Python :: 3.12",
             "Programming Language :: Python :: 3.13",
+            "Programming Language :: Python :: 3.14",
             "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
             "Topic :: Software Development :: Libraries :: Python Modules",
             "Topic :: Text Processing :: Filters",
diff --git a/pyproject.toml b/pyproject.toml
index f0b2ccde..1ee2d452 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -153,7 +153,7 @@ legacy_tox_ini = """
 [tox]
 skipsdist=true
 envlist=
-    {py39,py310,py311,py312,py313},
+    {py39,py310,py311,py312,py313,py314},
     lint
 
 [testenv]
@@ -177,10 +177,10 @@ commands=
 
 [testenv:documents]
 passenv = *
-deps=
-    -r requirements/docs.txt
-commands=
-    {envpython} -m mkdocs build --clean --verbose --strict
-    {envpython} -m pyspelling
+deps =
+    -rrequirements/docs.txt
+commands =
+    {envbindir}/zensical build -f zensical.yml --clean --strict
+    pyspelling -j 0
     {envpython} {toxinidir}/tools/gen_docs.py --verbose --test
 """
diff --git a/requirements/docs.txt b/requirements/docs.txt
index da942b50..feee4a13 100644
--- a/requirements/docs.txt
+++ b/requirements/docs.txt
@@ -1,4 +1,4 @@
-mkdocs_pymdownx_material_extras>=2.0
-mkdocs-git-revision-date-localized-plugin
-mkdocs-minify-plugin
+zensical
+markdown
+pymdown-extensions
 pyspelling
diff --git a/rummage/lib/gui/controls/webview.py b/rummage/lib/gui/controls/webview.py
index ebc52ba3..c05cf4a9 100644
--- a/rummage/lib/gui/controls/webview.py
+++ b/rummage/lib/gui/controls/webview.py
@@ -232,7 +232,7 @@ def link_type(link):
 
     link_type = OTHER_LINK
     try:
-        scheme, netloc, path, params, query, fragment, is_url, is_absolute, is_blank = parse_url(link)
+        scheme, _, path, _, _, _, is_url, _, is_blank = parse_url(link)
         if is_url:
             link_type = URL_LINK
         elif is_blank:
diff --git a/rummage/lib/gui/data/docs/.dochash b/rummage/lib/gui/data/docs/.dochash
index 4512812e..87ea1925 100644
--- a/rummage/lib/gui/data/docs/.dochash
+++ b/rummage/lib/gui/data/docs/.dochash
@@ -1 +1 @@
-27006063770f8c91bfb5fdc28ad86a1a
\ No newline at end of file
+6134b8fa5d2a2cb34981261b85d47d04
\ No newline at end of file
diff --git a/rummage/lib/gui/data/docs/about/contributing.html b/rummage/lib/gui/data/docs/about/contributing.html
index 67c9caa0..4db2f45e 100644
--- a/rummage/lib/gui/data/docs/about/contributing.html
+++ b/rummage/lib/gui/data/docs/about/contributing.html
@@ -31,7 +31,7 @@
     
-    

Contributing & Support

+

Contributing & Support

Overview

Contribution from the community is encouraged and can be done in a variety of ways:

    @@ -83,7 +83,7 @@

    Become a Sponsor Open source projects take time and money. Help support the project by becoming a sponsor. You can add your support at any tier you feel comfortable with. No amount is too little. We also accept one time contributions via PayPal.

    GitHub Sponsors - PayPal

    + PayPal

    Bug Reports

    1. @@ -145,10 +145,10 @@

      Documentation Improvements

      with documentation is always appreciated and can be done via pull requests. There shouldn't be any need to run validation tests if only updating documentation.

      To build the documentation, you will need the necessary requirements. You can get them by running -pip install -r requirements/docs.txt. We currently use a combination of MkDocs, the -Material theme, and PyMdown Extensions to render the docs. You can preview -the docs if you install these packages via the requirements file. The command for previewing the docs is -mkdocs serve. It should be run from the root directory. You can then view the documents at localhost:8000.

      +pip install -r requirements/docs.txt. We currently use [Zensical][zensical] and PyMdown Extensions +to render the docs. You can preview the docs if you install these packages via the requirements file. The command for +previewing the docs is zensical serve. It should be run from the root directory. You can then view the documents at +localhost:8000.

      When providing documentation updates, please generate Rummage's internal documentation via python tools/gen_docs.py. Pull requests will currently fail if the documentation is not updated along with the requested changes.

      diff --git a/rummage/lib/gui/data/docs/about/license.html b/rummage/lib/gui/data/docs/about/license.html index 1b1ee1fe..8d8ff24f 100644 --- a/rummage/lib/gui/data/docs/about/license.html +++ b/rummage/lib/gui/data/docs/about/license.html @@ -26,7 +26,7 @@

      License

      MIT license.

      -

      Copyright © 2013 - 2024 Isaac Muse isaacmuse@gmail.com

      +

      Copyright © 2013 - 2025 Isaac Muse isaacmuse@gmail.com

      Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit diff --git a/rummage/lib/gui/data/docs/extras.html b/rummage/lib/gui/data/docs/extras.html index 7d2f1fd5..b7916fb8 100644 --- a/rummage/lib/gui/data/docs/extras.html +++ b/rummage/lib/gui/data/docs/extras.html @@ -236,16 +236,16 @@

      Ubuntu Thunar (XFCE4)

      1. In Thunar, select Edit > Configure Custom Actions.... You will be presented with the custom actions dialog.

        -

        Thunar Custom Actions

        +

        Thunar Custom Actions

      2. Simply press the button with the + to create a new entry. Fill in the inputs as shown below (or modify to your preference):

        -

        Thunar Basic Options

        +

        Thunar Basic Options

      3. Then select the Appearance Conditions tab and fill in the fields as shown below (or modify to your preference):

        -

        Thunar Condition Options

        +

        Thunar Condition Options

      Afterwards, you should have a Rummage context menu on both files and directories in Thunar.

      diff --git a/rummage/lib/gui/data/docs/preferences.html b/rummage/lib/gui/data/docs/preferences.html index 59a1f481..c453dfa9 100644 --- a/rummage/lib/gui/data/docs/preferences.html +++ b/rummage/lib/gui/data/docs/preferences.html @@ -88,7 +88,7 @@

      General

      a window.
      Language
      Rummage has internal support to display dialog labels in different languages. Currently Rummage has English. Russian - is outdated but includes a fair bit of the needed translations. See Localization to + is outdated but includes a fair bit of the needed translations. See Localization to learn more about improving current translations or adding additional translations.
      Updates
      @@ -123,7 +123,7 @@

      Preferences: Search

      The Regular Expression panel is where the desired regular expression engine that Rummage uses can be selected and configured. By default, Rummage will use Re, but if the Regex module is installed in your Python installation, it can -be selected instead. There is also the option of using Re or Regex with Backrefs (a wrapper +be selected instead. There is also the option of using Re or Regex with Backrefs (a wrapper that adds a couple of special escapes and features).

      If using Regex, you can set it to the version of your choice. V0 tries to be completely compatible with Re patterns with non-breaking additional features, while V1 breaks compatibility with Re and adds even more useful features. @@ -131,15 +131,15 @@

      Under File/Folder Matching are a number options for file and folder matching patterns. Follow the links to learn more about each feature:

      Encoding

      Preferences: Encoding

      @@ -314,52 +314,52 @@

      Import/Export Settings

      i All -Search case-sensitive. +Search case-sensitive. u All -Use Unicode properties. +Use Unicode properties. s All -Dot matches newline. +Dot matches newline. f Regex, Regex + Backrefs -Full case-folding. +Full case-folding. b Regex, Regex + Backrefs -Best fuzzy match. +Best fuzzy match. e Regex, Regex + Backrefs -Improve fuzzy fit. +Improve fuzzy fit. w Regex, Regex + Backrefs -Unicode word breaks. +Unicode word breaks. r Regex, Regex + Backrefs -Search backwards. +Search backwards. p Regex, Regex + Backrefs -Use POSIX matching. +Use POSIX matching. F Regex, Regex + Backrefs, Re + Backrefs -Format style replacements. +Format style replacements. diff --git a/rummage/lib/gui/data/docs/search.html b/rummage/lib/gui/data/docs/search.html index dbc452de..9ffb4756 100644 --- a/rummage/lib/gui/data/docs/search.html +++ b/rummage/lib/gui/data/docs/search.html @@ -204,11 +204,11 @@

      Rummage Options

      Use chain search -Puts Rummage into "search chain" mode. When in "search chain" mode, rummage will only use saved search chains for search and replace. +Puts Rummage into "search chain" mode. When in "search chain" mode, rummage will only use saved search chains for search and replace. Use replace plugin -When enabled, Rummage will use a replace plugin instead of a replace pattern in order to do more advanced replaces. +When enabled, Rummage will use a replace plugin instead of a replace pattern in order to do more advanced replaces. @@ -232,7 +232,7 @@

      Wildcard

      patterns.

      • File patterns are case insensitive by default, even for Linux/Unix systems. Case sensitivity can be enabled in - Preferences.
      • + Preferences.
      • Slashes are generally treated as normal characters, but on windows they will be normalized: / will become \\. There is no need to explicitly use \\ in patterns on Windows, but if you do, it will be handled.
      • . is always matched by *, ?, [], etc. To prevent hidden files from being matched, you should uncheck the @@ -279,7 +279,7 @@

        Basic Wildcard syntax

        - / ! -By default, if - is found at the start of a pattern, it will match the inverse. This can be changed to use ! instead in Preferences. +By default, if - is found at the start of a pattern, it will match the inverse. This can be changed to use ! instead in Preferences. \xhh @@ -346,7 +346,7 @@

        Basic Wildcard syntax

        a sequence as - is also used to specify character ranges: [a-z].

        Extended Match Syntax

        -

        In Preferences, you can also enable extended match patterns. Extended match patterns allow +

        In Preferences, you can also enable extended match patterns. Extended match patterns allow you to provide pattern lists to provide more advanced logic.

        @@ -398,7 +398,7 @@

        Extended Match Syntax

        pattern instead of treating it as the start of an extended match pattern (!(...)).

        Brace Expansion Syntax

        -

        In Preferences, you can enables Bash style brace expansion.

        +

        In Preferences, you can enables Bash style brace expansion.

        Brace expansion is applied before anything else. When applied, a pattern will be expanded into multiple patterns. Each pattern will then be parsed separately.

        This is great for specifying complex combinations of patterns: a{b,{c,d}}ab ac ad. For simple patterns, it may @@ -436,7 +436,7 @@

        Brace Expansion Syntax

        Full Path Matching

        -

        In Preferences, you can enable full path search for either file patterns and/or folder +

        In Preferences, you can enable full path search for either file patterns and/or folder exclude patterns. This will allow for matching against a full path instead of the base file name. While it is referred to as "full path", it is still relative to the provided base path.

        Assuming you Provided a base folder of /My/base/path to search, and as Rummage was crawling directories, it needed to @@ -445,28 +445,28 @@

        Full Path Matching

        you'd have to use pattern like */*.txt instead of *.txt.

        When full path matching is enabled for a pattern, slashes are generally treated special. Slashes will not be matched in [], *, ?, or in extended patterns like *(...). Slashes can be matched by ** if the "globstar (**)"" option -is enabled in Preferences.

        +is enabled in Preferences.

        When full path matching is not enabled, wildcard patterns use base matching. That is to say, the wildcard patterns are -applied to the base filename instead of the full path. If you enable base matching for full paths in Preferences, +applied to the base filename instead of the full path. If you enable base matching for full paths in Preferences, if a pattern has no slashes, it will perform base matching, and if there are slashes, it will perform a full path match. This allows you to have the best of both worlds. For instance, the following pattern would match all Markdown files under the document directory, but would exclude any file in any subdirectory under docs whose name starts with c: docs/**/*.md|-c*. Full path is used for the docs/**/*.md pattern while base matching is used for -c*.

        Full path matching can be enabled for both file the file pattern box and the folder exclude box. Each can be controlled -separately in Preferences.

        +separately in Preferences.

        To learn more about full path matching with regular expression, checkout the regular expression section.

        Pattern Limit

        Glob style patterns, by default, allow expanding a pattern by splitting on | or expanding the pattern with brace expansion: a{b,c}ab ac. This can turn one pattern into many patterns. The underlying expansion code limits -expansion to 1000 patterns. This limit can be configured in Preferences. To raise or lower +expansion to 1000 patterns. This limit can be configured in Preferences. To raise or lower the limit, simply set the value higher or lower. To disable the limit entirely, set it to 0.

        Regular Expression

        Wildcard patterns are the default for file and folder exclude patterns, but regular expression patterns can be used -instead by selecting the Regex checkbox beside the pattern. The regular expression engine set in Preferences -is what will be used for file patterns. It will also respect the case sensitivity setting in Preferences +instead by selecting the Regex checkbox beside the pattern. The regular expression engine set in Preferences +is what will be used for file patterns. It will also respect the case sensitivity setting in Preferences for File/Folder Matching.

        Full Path Matching

        -

        In Preferences, you can enable full path search for either file patterns and/or folder +

        In Preferences, you can enable full path search for either file patterns and/or folder exclude patterns. This will allow for matching against a full path instead of the base file name. While it is referred to as "full path", it is still relative to the provided base path.

        Assuming you Provided a base folder to search of /My/base/path, and as Rummage was crawling directories, it needed to @@ -479,7 +479,7 @@

        Backrefs

        The supported back references actually vary depending on whether it is being applied to Re or Regex. For instance, Backrefs only adds Unicode Properties to Re since Regex already has Unicode properties. To learn more about what Backrefs adds, read the official Backrefs documentation. You can enable extended back references in the -Preferences dialog.

        +Preferences dialog.

        diff --git a/rummage/lib/gui/data/docs/sitemap.html b/rummage/lib/gui/data/docs/sitemap.html deleted file mode 100644 index dbb26b8e..00000000 --- a/rummage/lib/gui/data/docs/sitemap.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - Rummage - - - - - - - - - - - - - - -
        - - - -

        Documentation Navigation

        - - -
        - - - - - \ No newline at end of file diff --git a/rummage/lib/gui/data/docs/usage.html b/rummage/lib/gui/data/docs/usage.html index eeb4b94e..190887af 100644 --- a/rummage/lib/gui/data/docs/usage.html +++ b/rummage/lib/gui/data/docs/usage.html @@ -42,7 +42,7 @@
        -
      • Searching & Replacing
      • +
      • Searching & Replacing
        • Configuring Text Search
        • @@ -95,7 +95,7 @@

          Overview

          Rummage uses the default regular expression library (Re) that comes with Python. It also optionally works with the 3rd party Regex library (if installed).

          As matches are found, general info about the matches will be displayed in the Files and Content tabs. You can -double click files to open them in your favorite editor (see Editor Preferences to configure +double click files to open them in your favorite editor (see Editor Preferences to configure Rummage for your editor).

          Rummage also comes with a simple regular expression tester to test out patterns. It also provides a feature where patterns can be saved for later and/or frequent use. You can even create chains that will apply a series of saved @@ -111,15 +111,15 @@

          Running

          In some environments, it may make sense to run Rummage with pythonw which is mainly for launching GUI scripts (pythonw is not available on Linux). In some environments, it may be required (see -Running in Anaconda).

          +Running in Anaconda).

          pythonw -m rummage
           
          -

          Searching & Replacing

          +

          Searching & Replacing

          Search Tab

          Search and replaces are configured in the Search tab. The search tab can essentially be broken up into two sections: text search configuration and file search configuration.

          -

          Search and Replace Inputs

          +

          Search and Replace Inputs

          The first part of the Search tab contains mostly text search inputs, with the exception of the very first control, which is used to configure where to search. The second text box is used to specify what we are searching for in the content of each file. The last text box specified what we want to replace the found text with. Each text box retains a @@ -130,7 +130,7 @@

          Below the text boxes is a collapsible panel that contains the text search options. The options consist of various checkboxes and controls that enable/disable search and replace features. The available features will vary depending on which regular expression engine you are using. Each feature is documented in -Search Options.

          +Search Options.

          Search and Replace Checkboxes

          Lastly, Rummage provides buttons to launch a regular expression tester, dialogs to save or load frequently used regular expressions, and a dialog to create and @@ -142,7 +142,7 @@

          available that can narrow the actual files that get searched. You can filter out hidden files, symlinks, files of specific sizes, or creation/modification dates.

          You can also restrict which files get searched by providing wild card patterns (or regular expression if preferred). By -default, the patterns are applied to the base file or folder name. See File Patterns to learn +default, the patterns are applied to the base file or folder name. See File Patterns to learn more about accepted wild card pattern syntax and how to configure optional file pattern features.

          Hidden Files

          diff --git a/rummage/lib/gui/util/images.py b/rummage/lib/gui/util/images.py index f61a8ba4..e5081933 100644 --- a/rummage/lib/gui/util/images.py +++ b/rummage/lib/gui/util/images.py @@ -14,7 +14,7 @@ def tint(byte_string, color, transparency=None): """Tint the image and return a byte string.""" # Read the byte string as a `RGBA` image. - width, height, pixels, meta = Reader(bytes=byte_string).asRGBA() + width, height, pixels, _ = Reader(bytes=byte_string).asRGBA() # Tint p = [] @@ -50,7 +50,7 @@ def transparency(byte_string, transparency): """Adjust image transparency.""" # Read the byte string as a `RGBA` image. - width, height, pixels, meta = Reader(bytes=byte_string).asRGBA() + width, height, pixels, _ = Reader(bytes=byte_string).asRGBA() p = [] y = 0 diff --git a/tests/test_rumcore.py b/tests/test_rumcore.py index 85e356f9..d96465f3 100644 --- a/tests/test_rumcore.py +++ b/tests/test_rumcore.py @@ -23,7 +23,7 @@ def mktemp(self, *parts, content=b''): """Make temp directory.""" filename = self.norm(*parts) - base, file = os.path.split(filename) + base, _ = os.path.split(filename) if not os.path.exists(base): retry = 3 while retry: diff --git a/tests/test_text_decode.py b/tests/test_text_decode.py index 48a2636a..6d691911 100644 --- a/tests/test_text_decode.py +++ b/tests/test_text_decode.py @@ -17,7 +17,7 @@ def mktemp(self, *parts, content=b''): """Make temp directory.""" filename = self.norm(*parts) - base, file = os.path.split(filename) + base, _ = os.path.split(filename) if not os.path.exists(base): retry = 3 while retry: diff --git a/tools/gen_docs.py b/tools/gen_docs.py index 5d93a2a1..92321271 100644 --- a/tools/gen_docs.py +++ b/tools/gen_docs.py @@ -2,15 +2,17 @@ import sys import os import subprocess +import shutil from wcmatch import glob import hashlib try: - import mkdocs # noqa + import zensical # noqa + import markdown # noqa import pymdownx # noqa except ImportError: print( '========================================================================================\n' - 'gen_docs requires mkdocs and pymdown-extensions to be installed properly.\n' + 'gen_docs requires zensical, markdown, and pymdown-extensions to be installed properly.\n' 'You can install requirements with the command `pip install -r requirements/docs.txt`.\n' 'Please reslove the issues and try again.\n' '========================================================================================\n' @@ -22,13 +24,13 @@ FLAGS = glob.G | glob.N | glob.B | glob.S FILES_PATTERNS = [ - 'mkdocs-internal.yml', + 'zensical-internal.yml', 'docs/src/markdown/**/*.{md,txt,png,gif,html}', 'docs/internal_theme/**/*.{html,css,js}' ] -MKDOCS_CFG = "mkdocs-internal.yml" -MKDOCS_BUILD = "rummage/lib/gui/data/docs" +ZENSICAL_CFG = "zensical-internal.yml" +ZENSICAL_BUILD = "rummage/lib/gui/data/docs" def console(cmd, input_file=None): @@ -74,16 +76,23 @@ def build_internal_docs(verbose=False, debug=False): """Build internal docs.""" print('Building Docs...') + if os.path.exists(ZENSICAL_BUILD): + shutil.rmtree(ZENSICAL_BUILD) print( console( [ sys.executable, - '-m', 'mkdocs', 'build', '--clean', - '-d', MKDOCS_BUILD, - '-f', MKDOCS_CFG + '-m', 'zensical', 'build', '--clean', + '-f', ZENSICAL_CFG ] ) ) + + # Move to output location + shutil.move('site', ZENSICAL_BUILD) + # Remove unnecessary files + shutil.rmtree(os.path.join(ZENSICAL_BUILD, 'assets')) + os.remove(os.path.join(ZENSICAL_BUILD, 'search.json')) gen_hash(verbose, debug) @@ -113,7 +122,7 @@ def gen_hash(verbose, debug): """Generate hash.""" result = hash_files(verbose, debug) - with open(os.path.join(MKDOCS_BUILD, '.dochash'), 'w') as f: + with open(os.path.join(ZENSICAL_BUILD, '.dochash'), 'w') as f: f.write(result) return 0 @@ -121,7 +130,7 @@ def gen_hash(verbose, debug): def test_hash(verbose=False, debug=False): """Test hash.""" - with open(os.path.join(MKDOCS_BUILD, '.dochash'), 'r') as f: + with open(os.path.join(ZENSICAL_BUILD, '.dochash'), 'r') as f: original = f.read() result = hash_files(verbose, debug) diff --git a/mkdocs-internal.yml b/zensical-internal.yml similarity index 100% rename from mkdocs-internal.yml rename to zensical-internal.yml diff --git a/mkdocs.yml b/zensical.yml similarity index 79% rename from mkdocs.yml rename to zensical.yml index 4c656082..25a11ca5 100644 --- a/mkdocs.yml +++ b/zensical.yml @@ -12,26 +12,47 @@ theme: custom_dir: docs/theme logo: images/logo.svg palette: - scheme: dracula - primary: deep purple - accent: deep purple + # Palette toggle for system + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Switch to light mode + + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + primary: deep purple + accent: deep purple + toggle: + icon: lucide/sun + name: Switch to dark mode + + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: deep purple + accent: deep purple + toggle: + icon: lucide/moon + name: Switch to light mode font: text: Roboto code: Roboto Mono features: + - announce.dismiss - navigation.tabs - navigation.top - navigation.instant - navigation.sections - navigation.indexes + - content.tabs.link + - navigation.footer - toc.follow - content.code.copy - navigation.footer - search.share - search.highlight - search.suggest - pymdownx: - sponsor: "https://github.com/sponsors/facelessuser" nav: - Home: @@ -124,11 +145,7 @@ extra: - icon: fontawesome/brands/github link: https://github.com/facelessuser -plugins: - - search - - git-revision-date-localized: - fallback_to_build_date: true - strict: false - - mkdocs_pymdownx_material_extras - - minify: - minify_html: true +extra_css: + - assets/pymdownx-extras/extra-835c322b67.css +extra_javascript: + - assets/pymdownx-extras/extra-loader-Ccztcqfq.js From ef0d79e71d3bb3d725a22742a13ddc030d012552 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Sun, 21 Dec 2025 13:02:43 -0700 Subject: [PATCH 2/9] Update project dependencies --- requirements/extras.txt | 2 +- requirements/project.txt | 10 +++++----- requirements/test-project.txt | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/requirements/extras.txt b/requirements/extras.txt index ac8540d0..04c1bf86 100644 --- a/requirements/extras.txt +++ b/requirements/extras.txt @@ -1,2 +1,2 @@ -faust-cchardet>=2.1.18 +faust-cchardet>=2.1.19 regex>=2025.7.34 diff --git a/requirements/project.txt b/requirements/project.txt index 0072c855..80ffec08 100644 --- a/requirements/project.txt +++ b/requirements/project.txt @@ -1,11 +1,11 @@ -chardet>=5.1.0 -backrefs>=6.0.1 +chardet>=5.2.0 +backrefs>=6.1 bracex>=2.6 wcmatch>=10.0,<11.0 wxpython>=4.1.0 filelock>=3.16 send2trash>=1.8.3 -markdown>=3.8.2 -pymdown-extensions>=10.16.1 +markdown>=3.10 +pymdown-extensions>=10.19.1 pygments>=2.19.2 -coloraide>=4.7.2 +coloraide>=6.2 diff --git a/requirements/test-project.txt b/requirements/test-project.txt index d1e6fdbf..deb70cfc 100644 --- a/requirements/test-project.txt +++ b/requirements/test-project.txt @@ -1,3 +1,3 @@ -chardet>=5.1.0 -backrefs>=6.0.1 +chardet>=5.2.0 +backrefs>=6.1 wcmatch>=10.0,<11.0 From eff4f56149da3b411081664ea7b3e3023610c8de Mon Sep 17 00:00:00 2001 From: facelessuser Date: Sun, 21 Dec 2025 13:22:45 -0700 Subject: [PATCH 3/9] Update CI --- .github/workflows/deploy.yml | 31 -------------------------- .github/workflows/publish.yml | 41 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 31 deletions(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6761e425..1df7b2b9 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -6,36 +6,6 @@ on: - '*' jobs: - - documents: - strategy: - max-parallel: 4 - matrix: - python-version: [3.13] - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip build wheel - python -m pip install -r requirements/docs.txt - - name: Deploy documents - run: | - git config user.name ${{ secrets.GH_USER }} - git config user.email "${{ secrets.GH_EMAIL }}" - git remote add gh-token "https://${{ secrets.GH_TOKEN }}@github.com/facelessuser/Rummage.git" - git fetch gh-token && git fetch gh-token gh-pages:gh-pages - python -m mkdocs gh-deploy -v --clean --remote-name gh-token - git push gh-token gh-pages - build: runs-on: ubuntu-latest @@ -73,4 +43,3 @@ jobs: uses: pypa/gh-action-pypi-publish@release/v1 with: print-hash: true - diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..b38f4b13 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,41 @@ +name: publish + +on: + push: + tags: + - '*' + workflow_dispatch: + +jobs: + + documents: + strategy: + max-parallel: 4 + matrix: + python-version: ['3.13'] + + runs-on: ubuntu-latest + + permissions: + contents: read + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - uses: actions/configure-pages@v5 + - uses: actions/checkout@v5 + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - run: | + python -m pip install --upgrade pip build + python -m pip install -r requirements/docs.txt + - run: python -m zensical.main build -f zensical.yml --clean + - uses: actions/upload-pages-artifact@v4 + with: + path: site + - uses: actions/deploy-pages@v4 From 97500d7ad6808e31dc59b56babf173b26b3d7bb1 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Sun, 21 Dec 2025 13:35:55 -0700 Subject: [PATCH 4/9] Update changelog --- docs/src/markdown/about/changelog.md | 5 +++++ rummage/lib/__meta__.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/src/markdown/about/changelog.md b/docs/src/markdown/about/changelog.md index d061ee85..f5822cbe 100644 --- a/docs/src/markdown/about/changelog.md +++ b/docs/src/markdown/about/changelog.md @@ -1,5 +1,10 @@ # Changelog +## 4.23 + +- **NEW**: Add support for Python 3.14. +- **NEW**: Upgrade dependencies. + ## 4.22 - **NEW**: Drop Python 3.8 support. diff --git a/rummage/lib/__meta__.py b/rummage/lib/__meta__.py index 707908dd..80509cae 100644 --- a/rummage/lib/__meta__.py +++ b/rummage/lib/__meta__.py @@ -189,7 +189,7 @@ def parse_version(ver): # (major, minor, micro, release type, pre-release build, post-release build, development-release) -__version_info__ = Version(4, 22, 0, 'final') +__version_info__ = Version(4, 23, 0, 'final') __version__ = __version_info__._get_canonical() __app__ = "Rummage" __status__ = __version_info__[3] From 0b50d0cac76d86e23602c6d242b92ec73cc0dc82 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Sun, 21 Dec 2025 13:38:36 -0700 Subject: [PATCH 5/9] Update docs --- rummage/lib/gui/data/docs/.dochash | 2 +- rummage/lib/gui/data/docs/about/changelog.html | 7 ++++++- rummage/lib/gui/data/docs/about/contributing.html | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/rummage/lib/gui/data/docs/.dochash b/rummage/lib/gui/data/docs/.dochash index 87ea1925..0864baa1 100644 --- a/rummage/lib/gui/data/docs/.dochash +++ b/rummage/lib/gui/data/docs/.dochash @@ -1 +1 @@ -6134b8fa5d2a2cb34981261b85d47d04 \ No newline at end of file +fb5706480ccf9ed21e1735e245cfa893 \ No newline at end of file diff --git a/rummage/lib/gui/data/docs/about/changelog.html b/rummage/lib/gui/data/docs/about/changelog.html index 993cb8a1..2d6ce061 100644 --- a/rummage/lib/gui/data/docs/about/changelog.html +++ b/rummage/lib/gui/data/docs/about/changelog.html @@ -25,6 +25,11 @@

          Changelog

          +

          4.23

          +
            +
          • NEW: Add support for Python 3.14.
          • +
          • NEW: Upgrade dependencies.
          • +

          4.22

          • NEW: Drop Python 3.8 support.
          • @@ -319,7 +324,7 @@

            4.2.4

            • FIX: Adjustments to work with wcmatch version 2.0.0.
            -

            4.2.3

            +

            4.2.3

            • FIX: Process preview in regular expression test dialog when replace pattern is empty. If replace plugin is enabled, we must have a plugin specified.
            • diff --git a/rummage/lib/gui/data/docs/about/contributing.html b/rummage/lib/gui/data/docs/about/contributing.html index 4db2f45e..b033cbc9 100644 --- a/rummage/lib/gui/data/docs/about/contributing.html +++ b/rummage/lib/gui/data/docs/about/contributing.html @@ -145,7 +145,7 @@

              Documentation Improvements

              with documentation is always appreciated and can be done via pull requests. There shouldn't be any need to run validation tests if only updating documentation.

              To build the documentation, you will need the necessary requirements. You can get them by running -pip install -r requirements/docs.txt. We currently use [Zensical][zensical] and PyMdown Extensions +pip install -r requirements/docs.txt. We currently use Zensical and PyMdown Extensions to render the docs. You can preview the docs if you install these packages via the requirements file. The command for previewing the docs is zensical serve. It should be run from the root directory. You can then view the documents at localhost:8000.

              From bfdada4ba1aaaf6cb9321522029f32641c67d713 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Fri, 2 Jan 2026 10:40:19 -0700 Subject: [PATCH 6/9] Update doc theme and tweak macOS colors a little --- .gitignore | 3 +++ LICENSE.md | 15 +++++++++++---- docs/src/markdown/about/license.md | 2 +- .../assets/pymdownx-extras/extra-835c322b67.css | 2 -- .../pymdownx-extras/extra-835c322b67.css.map | 1 - .../assets/pymdownx-extras/extra-928cef6c86.css | 2 ++ .../pymdownx-extras/extra-928cef6c86.css.map | 1 + rummage/lib/gui/data/docs/.dochash | 2 +- rummage/lib/gui/data/docs/about/contributing.html | 4 ++-- rummage/lib/gui/data/docs/about/license.html | 2 +- rummage/lib/gui/data/docs/usage.html | 4 ++-- rummage/lib/gui/util/__init__.py | 12 ++++++++---- zensical.yml | 9 +++++++-- 13 files changed, 39 insertions(+), 20 deletions(-) delete mode 100644 docs/theme/assets/pymdownx-extras/extra-835c322b67.css delete mode 100644 docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map create mode 100644 docs/theme/assets/pymdownx-extras/extra-928cef6c86.css create mode 100644 docs/theme/assets/pymdownx-extras/extra-928cef6c86.css.map diff --git a/.gitignore b/.gitignore index e60d9a01..effee0ef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ coverage.xml +manifest-css.json +manifest-js.json + *.py[cod] # C extensions diff --git a/LICENSE.md b/LICENSE.md index 78f94116..a36b3628 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,9 +1,16 @@ MIT license. -Copyright (c) 2013 - 2025 Isaac Muse +Copyright (c) 2013 - 2026 Isaac Muse -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the +Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/docs/src/markdown/about/license.md b/docs/src/markdown/about/license.md index bf8f5b50..f04ee9bf 100644 --- a/docs/src/markdown/about/license.md +++ b/docs/src/markdown/about/license.md @@ -2,7 +2,7 @@ MIT license. -Copyright (c) 2013 - 2025 Isaac Muse +Copyright (c) 2013 - 2026 Isaac Muse Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the diff --git a/docs/theme/assets/pymdownx-extras/extra-835c322b67.css b/docs/theme/assets/pymdownx-extras/extra-835c322b67.css deleted file mode 100644 index 7d1e51c9..00000000 --- a/docs/theme/assets/pymdownx-extras/extra-835c322b67.css +++ /dev/null @@ -1,2 +0,0 @@ -:root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.7);--md-default-bg-color--lighter: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.4);--md-default-bg-color--lightest: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.1);--md-default-bg-color--trans: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1400822885 0.147679243 0.1907286518);--md-default-bg-color--darker: color(srgb 0.1273335013 0.1344339886 0.1746700834);--md-default-bg-color--darkest: color(srgb 0.090174358 0.0958277825 0.1278638548);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(74.4232873346, 59.3464897233%, 65.6529017761%, 0.1);--md-admonition-icon-color--question: hsl(74.4232873346, 59.3464897233%, 65.6529017761%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(331.9938073573, 62.7005462555%, 68.9374611138%, 0.1);--md-admonition-icon-color--bug: hsl(331.9938073573, 62.7005462555%, 68.9374611138%)}:root>*{--md-admonition-bg-color--example: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--example: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.admonition:has(.admonition-title:only-child,.md-typeset details>summary:only-child),.md-typeset details:has(.admonition-title:only-child,.md-typeset details>summary:only-child){padding-bottom:.48em}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,')}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:0 .2941176471em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.1rem;box-shadow:none}.md-typeset pre>code{outline:none}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-typeset>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}} -/*# sourceMappingURL=extra-835c322b67.css.map */ diff --git a/docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map b/docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map deleted file mode 100644 index 8a55a240..00000000 --- a/docs/theme/assets/pymdownx-extras/extra-835c322b67.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["extra.css","palette/_colors.scss","_general.scss","extensions/_admonition.scss","extensions/_arithmatex.scss","extensions/_critic.scss","extensions/_details.scss","extensions/_highlight.scss","extensions/_keys.scss","extensions/_magiclink.scss","extensions/_mark.scss","extensions/_progressbar.scss","palette/_material_color.scss","extensions/_tabbed.scss","extensions/_tasklist.scss","palette/_dracula.scss","extensions/_toc.scss","extensions/_superfences.scss","extensions/_steps.scss","extensions/_tables.scss","_material.scss","utilities/_break.scss"],"names":[],"mappings":"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,+CACA,CADA,uCACA,CAAA,6BACA,CADA,qBACA,CAAA,yBACA,CADA,iBACA,CAAA,UACA,CAAA,2BAIJ,iBACE,CAAA,cACA,CAAA,iBACA,CAAA,+BAEA,YACE,CAAA,eACA,CAAA,iCAGF,YACE,CAAA,8CAEA,UACE,CAAA,QACA,CAAA,4BACA,CAAA,oDAEA,iBACE,CAAA,YACA,CAAA,kBACA,CAAA,gCACA,CAAA,aACA,CAAA,0CACA,CAAA,6BACA,CADA,qBACA,CAAA,yBACA,CADA,iBACA,CAAA,mBACA,CAAA,cACA,CAAA,UACA,CAAA,0DAEA,0CACE,CAAA,4DAGF,iBACE,CAAA,SACA,CAAA,UACA,CAAA,aACA,CAAA,qBACA,CAAA,YACA,CAAA,aACA,CAAA,2CACA,CAAA,sBACA,CAAA,UACA,CAAA,2DAGF,YACE,CAAA,mEAEA,oDACE,CADF,4CACE,CAAA,qEAGJ,sDACE,CADF,8CACE,CAAA,mEAMJ,cACE,CAAA,qEAGF,YACE,CAAA,4DAGF,kBACE,CAAA,eACA,CAAA,sDAGF,iBACE,CAAA,YACA,CAAA,MACA,CAAA,oBACA,CAAA,2BACA,CAAA,6FACA,CAAA,iCAIA,CAAA,gCACA,CAkBA,qCC9NJ,kBACE,CAAA,WANkB,CAAA,2CAKpB,kBACE,CAAA,WANkB,CAAA,QCL1B,8PACE,CAAA,krBACA,CAAA,gUACA,CAAA,orBACA,CAAA,yTACA,CAAA,4iBACA,CAAA,+wBACA,CAAA,6VACA,CAAA,0zBACA,CAAA,8DAIA,8CACE,CADF,sCACE,CAAA,0XAUA,iBACE,CAAA,oBACA,CAAA,kbAEA,iBACE,CAAA,KACA,CAAA,MACA,CAAA,aACA,CAAA,qBACA,CAAA,YACA,CAAA,aACA,CAAA,0CACA,CAAA,sBACA,CAAA,iCACA,CAAA,6BACA,CADA,qBACA,CAAA,yBACA,CADA,iBACA,CAAA,UACA,CAAA,4dAGF,0CACE,CAAA,6DAgBF,+CACE,CADF,uCACE,CAAA,8DADF,gDACE,CADF,wCACE,CAAA,2DADF,6CACE,CADF,qCACE,CAAA,4DADF,8CACE,CADF,sC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","file":"extra-835c322b67.css","sourcesContent":[":root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.7);--md-default-bg-color--lighter: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.4);--md-default-bg-color--lightest: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0.1);--md-default-bg-color--trans: color(srgb 0.090174358 0.0958277825 0.1278638548 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1400822885 0.147679243 0.1907286518);--md-default-bg-color--darker: color(srgb 0.1273335013 0.1344339886 0.1746700834);--md-default-bg-color--darkest: color(srgb 0.090174358 0.0958277825 0.1278638548);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: svg-load(\"@mdi/svg/svg/cog.svg\");--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: svg-load(\"@mdi/svg/svg/alert-decagram.svg\");--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(74.4232873346, 59.3464897233%, 65.6529017761%, 0.1);--md-admonition-icon-color--question: hsl(74.4232873346, 59.3464897233%, 65.6529017761%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(331.9938073573, 62.7005462555%, 68.9374611138%, 0.1);--md-admonition-icon-color--bug: hsl(331.9938073573, 62.7005462555%, 68.9374611138%)}:root>*{--md-admonition-bg-color--example: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--example: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;mask-image:var(--md-admonition-icon--settings);content:\" \"}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;mask-image:var(--md-admonition-icon--new);content:\" \"}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.admonition:has(.admonition-title:only-child,.md-typeset details>summary:only-child),.md-typeset details:has(.admonition-title:only-child,.md-typeset details>summary:only-child){padding-bottom:.48em}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=\"gray\", Positive=\"true\")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:\"Courier New\",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: svg-load(\"@mdi/svg/svg/console.svg\");--highlight-svg-arrow-expand: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");--highlight-svg-arrow-collapse: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\")}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:0 .2941176471em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.1rem;box-shadow:none}.md-typeset pre>code{outline:none}.md-typeset td code{word-break:normal}.md-typeset .highlight{tab-size:8}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);mask-image:var(--highlight-svg-console);mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);mask-repeat:no-repeat;mask-size:contain;border-radius:.1rem;cursor:pointer;content:\"\"}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:\"\"}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}@media screen and (max-width: 44.9375em){.md-typeset>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-typeset>.collapse-code label.collapse{left:.8rem}}.md-typeset .keys .key-power::before{padding-right:.4em;content:\"⏻\"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:\"☝\"}:root>*{--magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");--magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");--magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");--magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");--magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");--magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");--magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");--magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");--magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\")}.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before{mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}@media screen and (max-width: 44.9375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: svg-load(\"@mdi/svg/svg/link.svg\")}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;mask-size:1em;mask-repeat:no-repeat;visibility:visible;mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:\"\"}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}","@use \"sass:color\";\n@use \"../utilities/convert\";\n@use \"../utilities/color_tools\";\n@use \"./material_color\";\n@use \"./dracula\";\n@use \"sass:list\";\n\n:root > * {\n // Custom code colors\n --md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);\n --md-tab-control-bg: var(--md-default-bg-color);\n\n // Code colors\n --md-code-fg-color: #{dracula.$alucard-fg};\n --md-code-bg-color: #{dracula.$alucard-bg};\n --md-code-title-bg-color: #{dracula.$alucard-bg};\n --md-code-inline-bg-color: #{dracula.$alucard-bg};\n --md-code-hl-operator-color: #{dracula.$alucard-pink};\n --md-code-hl-punctuation-color: #{dracula.$alucard-fg};\n --md-code-hl-string-color: #{dracula.$alucard-yellow};\n --md-code-hl-special-color: #{dracula.$alucard-purple};\n --md-code-hl-number-color: #{dracula.$alucard-purple};\n --md-code-hl-keyword-color: #{dracula.$alucard-pink};\n --md-code-hl-name-color: #{dracula.$alucard-fg};\n --md-code-hl-constant-color: #{dracula.$alucard-purple};\n --md-code-hl-function-color: #{dracula.$alucard-green};\n --md-code-hl-comment-color: #{dracula.$alucard-comment};\n --md-code-hl-variable-color: #{dracula.$alucard-orange};\n --md-code-hl-generic-color: #{dracula.$alucard-comment};\n --md-code-hl-color: #{dracula.$alucard-selection};\n --md-code-hl-color--light: #{dracula.$alucard-highlight};\n\n // Custom code colors\n --md-code-hl-entity-color: #{dracula.$alucard-green};\n --md-code-hl-tag-color: #{dracula.$alucard-pink};\n --md-code-hl-namespace-color: #{dracula.$alucard-fg};\n --md-code-hl-builtin-color: #{dracula.$alucard-cyan};\n --md-code-hl-class-color: #{dracula.$alucard-cyan};\n\n --md-code-special-bg-color: #{dracula.$alucard-highlight};\n\n // List steps\n --md-steps-bg-color: var(--md-code-bg-color);\n --md-steps-fg-color: var(--md-code-fg-color);\n --md-steps-border-color: hsla(0, 0%, 75%, 1);\n\n // Various Material related color variables\n --md-typeset-a-color: #{material_color.$clr-cyan-500};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lighter);\n --md-progress-100: #{material_color.$clr-green-a400};\n --md-progress-80: #{material_color.$clr-green-a400};\n --md-progress-60: #{material_color.$clr-yellow-700};\n --md-progress-40: #{material_color.$clr-orange-a400};\n --md-progress-20: #{material_color.$clr-red-a200};\n --md-progress-0: #{material_color.$clr-red-a400};\n\n // Keys colors\n --md-typeset-kbd-color: #{color_tools.shade(hsla(0, 100%, 100%, 1), 8%)};\n --md-typeset-kbd-border-color: #{color_tools.shade(hsla(0, 100%, 100%, 1), 28%)};\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n\n // Dark mode color changes\n &[data-md-color-scheme=\"slate\"] {\n // Default color shades\n --md-default-fg-color: #{color.adjust(dracula.$drac-fg, $alpha: -0.13)};\n --md-default-fg-color--light: #{color.adjust(dracula.$drac-fg, $alpha: -0.46)};\n --md-default-fg-color--lighter: #{color.adjust(dracula.$drac-fg, $alpha: -0.64)};\n --md-default-fg-color--lightest: #{color.adjust(dracula.$drac-fg, $alpha: -0.88)};\n --md-default-autocomplete-fg-color: #{color.adjust(dracula.$drac-fg, $alpha: -0.60)};\n --md-shadow-z2: 0 #{convert.px2rem(4px)} #{convert.px2rem(10px)} hsla(0, 0%, 0%, 0.3),\n 0 0 #{convert.px2rem(1px)} hsla(0, 0%, 0%, 0.2);\n\n --md-footer-fg-color: var(--md-default-fg-color);\n\n --md-default-bg-color: var(--md-default-bg-color--darkest);\n --md-default-bg-color--light: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -0.3)};\n --md-default-bg-color--lighter: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -0.6)};\n --md-default-bg-color--lightest: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -0.9)};\n --md-default-bg-color--trans: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab), $alpha: -1)};\n\n --md-tab-control-bg: var(--md-default-bg-color--dark);\n\n // Dark specific colors\n --md-default-bg-color--dark: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 5%, $method: oklab)};\n --md-default-bg-color--darker: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 10%, $method: oklab)};\n --md-default-bg-color--darkest: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 25%, $method: oklab)};\n\n // General text\n --md-text-color: var(--md-default-fg-color);\n --md-typeset-color: var(--md-default-fg-color);\n\n // Admonition colors\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Code colors\n --md-code-fg-color: #{dracula.$drac-fg};\n --md-code-bg-color: #{dracula.$drac-bg};\n --md-code-title-bg-color: #{dracula.$drac-bg};\n --md-code-inline-bg-color: #{dracula.$drac-bg};\n --md-code-hl-operator-color: #{dracula.$drac-pink};\n --md-code-hl-punctuation-color: #{dracula.$drac-fg};\n --md-code-hl-string-color: #{dracula.$drac-yellow};\n --md-code-hl-special-color: #{dracula.$drac-purple};\n --md-code-hl-number-color: #{dracula.$drac-purple};\n --md-code-hl-keyword-color: #{dracula.$drac-pink};\n --md-code-hl-name-color: #{dracula.$drac-fg};\n --md-code-hl-constant-color: #{dracula.$drac-purple};\n --md-code-hl-function-color: #{dracula.$drac-green};\n --md-code-hl-comment-color: #{dracula.$drac-comment};\n --md-code-hl-variable-color: #{dracula.$drac-orange};\n --md-code-hl-generic-color: #{dracula.$drac-comment};\n --md-code-hl-color: #{dracula.$drac-selection};\n --md-code-hl-color--light: #{dracula.$drac-highlight};\n --md-code-bg-color--light: #{color.change(dracula.$drac-bg, $alpha: 0.9)};\n --md-code-bg-color--lighter: #{color.change(dracula.$drac-bg, $alpha: 0.5)};\n\n // Custom code colors\n --md-code-hl-entity-color: #{dracula.$drac-green};\n --md-code-hl-tag-color: #{dracula.$drac-pink};\n --md-code-hl-namespace-color: #{dracula.$drac-fg};\n --md-code-hl-builtin-color: #{dracula.$drac-cyan};\n --md-code-hl-class-color: #{dracula.$drac-cyan};\n\n --md-code-special-bg-color: #{dracula.$drac-highlight};\n\n // List steps\n --md-steps-border-color: #{color.adjust(dracula.$drac-bg, $lightness: 10%, $space: oklab)};\n\n // Various Material related color variables\n --md-typeset-a-color: #{dracula.$drac-cyan};\n --md-typeset-mark-color: #{color.mix(dracula.$drac-yellow, dracula.$drac-bg, 35%, $method: oklab)};\n --md-typeset-del-color: #{color.mix(dracula.$drac-pink, dracula.$drac-bg, 35%, $method: oklab)};\n --md-typeset-ins-color: #{color.mix(dracula.$drac-green, dracula.$drac-bg, 35%, $method: oklab)};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lightest);\n\n --md-progress-100: #{dracula.$drac-green};\n --md-progress-80: #{color.mix(dracula.$drac-green, dracula.$drac-yellow, $method: oklab)};\n --md-progress-60: #{dracula.$drac-yellow};\n --md-progress-40: #{dracula.$drac-orange};\n --md-progress-20: #{dracula.$drac-pink};\n --md-progress-0: #{dracula.$drac-red};\n\n // Keys colors\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: var(--md-default-bg-color--dark);\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: primary colors\n// ----------------------------------------------------------------------------\n\n@each $name, $colors in (\n \"red\": dracula.$drac-red color.adjust(dracula.$drac-red, $lightness: 5%) color.adjust(dracula.$drac-red, $lightness: -5%),\n \"pink\": dracula.$drac-pink color.adjust(dracula.$drac-pink, $lightness: 5%) color.adjust(dracula.$drac-pink, $lightness: -5%),\n \"purple\": dracula.$drac-purple color.adjust(dracula.$drac-purple, $lightness: 5%) color.adjust(dracula.$drac-purple, $lightness: -5%),\n \"deep-purple\": dracula.$drac-purple color.adjust(dracula.$drac-purple, $lightness: 5%) color.adjust(dracula.$drac-purple, $lightness: -5%),\n \"blue\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"indigo\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"light-blue\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"cyan\": dracula.$drac-cyan color.adjust(dracula.$drac-cyan, $lightness: 5%) color.adjust(dracula.$drac-cyan, $lightness: -5%),\n \"teal\": dracula.$drac-cyan color.adjust(dracula.$drac-cyan, $lightness: 5%) color.adjust(dracula.$drac-cyan, $lightness: -5%),\n \"green\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"light-green\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"lime\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"yellow\": dracula.$drac-yellow color.adjust(dracula.$drac-yellow, $lightness: 5%) color.adjust(dracula.$drac-yellow, $lightness: -5%),\n \"amber\": dracula.$drac-yellow color.adjust(dracula.$drac-yellow, $lightness: 5%) color.adjust(dracula.$drac-yellow, $lightness: -5%),\n \"orange\": dracula.$drac-orange color.adjust(dracula.$drac-orange, $lightness: 5%) color.adjust(dracula.$drac-orange, $lightness: -5%),\n \"deep-orange\": dracula.$drac-orange color.adjust(dracula.$drac-orange, $lightness: 5%) color.adjust(dracula.$drac-orange, $lightness: -5%)\n) {\n\n // Color palette\n [data-md-color-scheme=\"slate\"][data-md-color-primary=\"#{$name}\"],\n [data-md-color-scheme=\"slate\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"]\n {\n\n --md-primary-code-bg-color: #{color.mix(dracula.$drac-bg, list.nth($colors, 1), 85%, $method: oklab)};\n --md-primary-fg-color: hsla(#{convert.hex2hsl(list.nth($colors, 1))}, 1);\n --md-primary-fg-color--transparent: hsla(#{convert.hex2hsl(list.nth($colors, 1))}, 0.2);\n --md-primary-fg-color--light: hsla(#{convert.hex2hsl(list.nth($colors, 2))}, 1);\n --md-primary-fg-color--dark: hsla(#{convert.hex2hsl(list.nth($colors, 3))}, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: accent colors\n// ----------------------------------------------------------------------------\n\n@each $name, $color in (\n \"red\": dracula.$drac-red,\n \"pink\": dracula.$drac-pink,\n \"purple\": dracula.$drac-purple,\n \"deep-purple\": dracula.$drac-purple,\n \"blue\": dracula.$drac-blue,\n \"indigo\": dracula.$drac-blue,\n \"light-blue\": dracula.$drac-blue,\n \"cyan\": dracula.$drac-cyan,\n \"teal\": dracula.$drac-cyan,\n \"green\": dracula.$drac-green,\n \"light-green\": dracula.$drac-green,\n \"lime\": dracula.$drac-green,\n \"yellow\": dracula.$drac-yellow,\n \"amber\": dracula.$drac-yellow,\n \"orange\": dracula.$drac-orange,\n \"deep-orange\": dracula.$drac-orange\n) {\n\n // Color palette\n [data-md-color-scheme=\"slate\"][data-md-color-accent=\"#{$name}\"],\n [data-md-color-scheme=\"slate\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"] {\n --md-code-link-accent-bg-color: #{color.mix($color, dracula.$drac-bg, 15%, $method: oklab)};\n --md-accent-fg-color: hsla(#{convert.hex2hsl($color)}, 1);\n --md-accent-fg-color--transparent: hsla(#{convert.hex2hsl($color)}, 0.2);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n","@use \"palette/material_color\";\n@use \"palette/dracula\";\n@use \"utilities/break\";\n@use \"utilities/convert\";\n\n/* Normal colors */\n:root {\n --md-heart: #{material_color.$clr-red-a200};\n --md-heart-big: #{material_color.$clr-red-a400};\n\n /* Dark mode colors */\n [data-md-color-scheme=\"slate\"] {\n --md-heart: #{dracula.$drac-red};\n --md-heart-big: #{dracula.$drac-pink};\n }\n}\n\n.md-typeset {\n\n a.source-link {\n position: relative;\n top: convert.px2rem(-12px);\n float: right;\n color: var(--md-default-fg-color--lighter);\n transition: color 125ms;\n\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n .twemoji {\n height: convert.px2rem(24px);\n\n svg {\n width: convert.px2rem(24px);\n height: convert.px2rem(24px);\n }\n }\n }\n\n div.highlight.md-max-height pre > code {\n max-height: convert.px2rem(300px);\n }\n}\n\n.twemoji {\n &.heart-throb, &.heart-throb-hover {\n svg {\n position: relative;\n color: var(--md-heart);\n animation: pulse 1.5s ease infinite;\n }\n }\n}\n\n@keyframes pulse {\n 0% { transform: scale(1); }\n 40% { color: var(--md-heart-big); transform: scale(1.3); }\n 50% { transform: scale(1.2); }\n 60% { color: var(--md-heart-big); transform: scale(1.3); }\n 100% { transform: scale(1); }\n}\n\nfooter.sponsorship {\n text-align: center;\n\n .twemoji {\n padding: convert.px2rem(1px);\n }\n\n a {\n text-decoration: none;\n }\n\n hr {\n display: inline-block;\n width: convert.px2rem(32px);\n margin: 0 convert.px2rem(14px);\n vertical-align: middle;\n border-bottom: 2px solid var(--md-default-fg-color--lighter);\n }\n\n &:hover {\n hr {\n border-color: var(--md-accent-fg-color);\n }\n }\n\n &:not(:hover) {\n .twemoji.heart-throb-hover svg{\n color: var(--md-default-fg-color--lighter) !important;\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"../utilities/convert\";\n@use \"../palette/material_color\";\n@use \"../palette/dracula\";\n\n$new-admonitions: (\n settings config: dracula.$drac-pink material_color.$clr-purple-a700 \"@mdi/svg/svg/cog.svg\",\n new: dracula.$drac-yellow material_color.$clr-yellow-a700 \"@mdi/svg/svg/alert-decagram.svg\"\n) !default;\n\n$old-admonitions: (\n note: dracula.$drac-blue material_color.$clr-blue-a200,\n abstract: color.mix(dracula.$drac-blue, dracula.$drac-cyan, $method: oklab) material_color.$clr-light-blue-a400,\n info: dracula.$drac-cyan material_color.$clr-cyan-a700,\n tip: color.mix(dracula.$drac-cyan, dracula.$drac-green, $method: oklab) material_color.$clr-teal-a700,\n success: dracula.$drac-green material_color.$clr-green-a700,\n question: color.mix(dracula.$drac-green, dracula.$drac-orange, $method: oklab) material_color.$clr-light-green-a700,\n warning: dracula.$drac-orange material_color.$clr-orange-a400,\n failure: color.mix(dracula.$drac-orange, dracula.$drac-red, $method: oklab) material_color.$clr-red-a200,\n danger: dracula.$drac-red material_color.$clr-red-a400,\n bug: color.mix(dracula.$drac-red, dracula.$drac-purple, $method: oklab) material_color.$clr-pink-a400,\n example: dracula.$drac-purple material_color.$clr-deep-purple-a200,\n quote: dracula.$drac-grey material_color.$clr-grey\n) !default;\n\n/* Style new admonitions with dark or light colors */\n:root > * {\n --md-admonition-icon-color: #{dracula.$alucard-blue};\n --md-admonition-bg-color: #{color.adjust(dracula.$alucard-blue, $alpha: -0.9)};\n // --md-admonition-bg-color: #{color.mix(dracula.$alucard-blue, dracula.$alucard-bg, $weight: 12%, $method: oklab)};\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-icon-color: #{dracula.$drac-blue};\n --md-admonition-bg-color: #{color.adjust(dracula.$drac-blue, $alpha: -0.9)};\n }\n\n @each $names, $prop in $new-admonitions {\n $tint: list.nth($prop, 1);\n $tint2: list.nth($prop, 2);\n $name: list.nth($names, 1);\n\n & {\n --md-admonition-icon--#{$name}: svg-load(\"#{list.nth($prop, 3)}\");\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint2, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n }\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint};\n }\n }\n\n @each $names, $prop in $old-admonitions {\n $tint: list.nth($prop, 1);\n $tint2: list.nth($prop, 2);\n $name: list.nth($names, 1);\n\n & {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint2, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n }\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint};\n }\n }\n}\n\n/* Dark mode changes */\n.md-typeset .admonition {\n background: var(--md-admonition-bg-color--note);\n border-width: 0;\n border-left-width: 4px;\n\n > .admonition-title {\n &::before {\n background-color: var(--md-admonition-icon-color--note);\n }\n &::after {\n color: var(--md-admonition-icon-color--note);\n }\n }\n}\n\n/* Style existing admonitions with dark mode colors */\n@each $names, $prop in $old-admonitions {\n\n $name: list.nth($names, 1);\n $tint: list.nth($prop, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n background: var(--md-admonition-bg-color--#{$name});\n\n // Define base class\n > .admonition-title {\n\n // Icon\n &::before {\n background-color: var(--md-admonition-icon-color--#{$name});\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n}\n\n@each $names, $prop in $new-admonitions {\n $name: list.nth($names, 1);\n $tint: list.nth($prop, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n background: var(--md-admonition-bg-color--#{$name});\n\n > .admonition-title {\n // Icon\n &::before {\n width: convert.px2rem(20px);\n height: convert.px2rem(20px);\n background-color: var(--md-admonition-icon-color--#{$name});\n background-size: convert.px2rem(20px);\n mask-image: var(--md-admonition-icon--#{$name});\n content: \"\\a0\";\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n}\n\n.admonition:has(.admonition-title:only-child) {\n padding-bottom: convert.px2em(7.68px);\n}\n","mjx-container[display=true] {\n font-size: 120% !important;\n}\n\nmjx-container:not([display]) {\n font-size: 100% !important;\n}\n\n.md-typeset .arithmatex {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n}\n\n// Fix tag overlap in `KaTeX`\n.katex-display {\n .katex-html {\n display: flex !important;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: baseline;\n justify-content: space-between;\n // overflow-x: auto;\n\n .base {\n display: inline !important;\n }\n\n .tag {\n position: relative !important;\n display: inline !important;\n margin-left: var(--margin-small);\n }\n }\n}\n\n/* Instant mode in the Material theme wipes out menu CSS and MathJax has no easy way of reinserting it */\n\n/* stylelint-disable */\n.CtxtMenu_InfoClose { top:.2em; right:.2em;}\n.CtxtMenu_InfoContent { overflow:auto; text-align:left; font-size:80%; padding:.4em .6em; border:1px inset; margin:1em 0px; max-height:20em; max-width:30em; background-color:#EEEEEE; white-space:normal;}\n.CtxtMenu_Info.CtxtMenu_MousePost {outline:none;}\n.CtxtMenu_Info { position:fixed; left:50%; width:auto; text-align:center; border:3px outset; padding:1em 2em; background-color:#DDDDDD; color:black; cursor:default; font-family:message-box; font-size:120%; font-style:normal; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 15px; /* Opera 10.5 and IE9 */ -webkit-border-radius:15px; /* Safari and Chrome */ -moz-border-radius:15px; /* Firefox */ -khtml-border-radius:15px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */ filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=\"gray\", Positive=\"true\"); /* IE */}\n\n.CtxtMenu_MenuClose { position:absolute; cursor:pointer; display:inline-block; border:2px solid #AAA; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ font-family: \"Courier New\", Courier; font-size:24px; color:#F0F0F0}\n.CtxtMenu_MenuClose span { display:block; background-color:#AAA; border:1.5px solid; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ line-height:0; padding:8px 0 6px /* may need to be browser-specific */}\n.CtxtMenu_MenuClose:hover { color:white!important; border:2px solid #CCC!important}\n.CtxtMenu_MenuClose:hover span { background-color:#CCC!important}\n.CtxtMenu_MenuClose:hover:focus { outline:none}\n\n.CtxtMenu_Menu { position:absolute; background-color:white; color:black; width:auto; padding:5px 0px; border:1px solid #CCCCCC; margin:0; cursor:default; font: menu; text-align:left; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 5px; /* Opera 10.5 and IE9 */ -webkit-border-radius: 5px; /* Safari and Chrome */ -moz-border-radius: 5px; /* Firefox */ -khtml-border-radius: 5px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */}\n.CtxtMenu_MenuItem { padding: 1px 2em; background:transparent;}\n.CtxtMenu_MenuArrow { position:absolute; right:.5em; padding-top:.25em; color:#666666; font-family: null; font-size: .75em}\n.CtxtMenu_MenuActive .CtxtMenu_MenuArrow {color:white}\n.CtxtMenu_MenuArrow.CtxtMenu_RTL {left:.5em; right:auto}\n.CtxtMenu_MenuCheck { position:absolute; left:.7em; font-family: null}\n.CtxtMenu_MenuCheck.CtxtMenu_RTL { right:.7em; left:auto }\n.CtxtMenu_MenuRadioCheck { position:absolute; left: .7em;}\n.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL { right: .7em; left:auto}\n.CtxtMenu_MenuInputBox { padding-left: 1em; right:.5em; color:#666666; font-family: null;}\n.CtxtMenu_MenuInputBox.CtxtMenu_RTL { left: .1em;}\n.CtxtMenu_MenuComboBox { left:.1em; padding-bottom:.5em;}\n.CtxtMenu_MenuSlider { left: .1em;}\n.CtxtMenu_SliderValue { position:absolute; right:.1em; padding-top:.25em; color:#333333; font-size: .75em}\n.CtxtMenu_SliderBar { outline: none; background: #d3d3d3}\n.CtxtMenu_MenuLabel { padding: 1px 2em 3px 1.33em; font-style:italic}\n.CtxtMenu_MenuRule { border-top: 1px solid #DDDDDD; margin: 4px 3px;}\n.CtxtMenu_MenuDisabled { color:GrayText}\n.CtxtMenu_MenuActive { background-color: #606872; color: white;}\n.CtxtMenu_MenuDisabled:focus { background-color: #E8E8E8}\n.CtxtMenu_MenuLabel:focus { background-color: #E8E8E8}\n.CtxtMenu_ContextMenu:focus { outline:none}\n.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus { outline:none}\n.CtxtMenu_SelectionMenu { position:relative; float:left; border-bottom: none; -webkit-box-shadow:none; -webkit-border-radius:0px; }\n.CtxtMenu_SelectionItem { padding-right: 1em;}\n.CtxtMenu_Selection { right: 40%; width:50%; }\n.CtxtMenu_SelectionBox { padding: 0em; max-height:20em; max-width: none; background-color:#FFFFFF;}\n.CtxtMenu_SelectionDivider { clear: both; border-top: 2px solid #000000;}\n.CtxtMenu_Menu .CtxtMenu_MenuClose { top:-10px; left:-10px}\n\n[data-md-color-scheme=\"slate\"] {\n .CtxtMenu_InfoSignature input,\n .CtxtMenu_InfoContent pre {\n color: rgb(0, 0, 0);\n }\n .CtxtMenu_Info,\n .CtxtMenu_Menu {\n box-shadow: 0px 10px 20px rgb(0 0 0 / 0.5);\n }\n}\n/* stylelint-enable */\n","@use \"../utilities/convert\";\n\n/* Don't use box shadows */\n.md-typeset {\n del,\n ins,\n mark {\n &.critic {\n padding: 0 convert.px2em(4px, 16px);\n color: unset;\n box-shadow: none;\n }\n }\n\n .critic.break {\n margin: 0;\n }\n}\n","@use \"./admonition\";\n\n/* Inherit admonition style */\n.md-typeset {\n details {\n @extend .admonition;\n\n overflow: hidden;\n\n // Title\n > summary {\n @extend .admonition-title;\n\n // Disable accessibility focus\n &:focus {\n outline-style: none;\n }\n }\n }\n}\n","@use \"../utilities/break\";\n@use \"../utilities/convert\";\n\n:root > * {\n --highlight-svg-console: svg-load(\"@mdi/svg/svg/console.svg\");\n --highlight-svg-arrow-expand: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");\n --highlight-svg-arrow-collapse: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\");\n}\n\n.highlight {\n .kc { // Keyword constant\n color: var(--md-code-hl-constant-color);\n }\n\n .nc, // Name, class\n .ne, // Name, exception\n {\n color: var(--md-code-hl-class-color);\n }\n\n .mb {\n color: var(--md-code-hl-number-color);\n }\n\n .nb, // Name, builtin\n .bp { // Name, builtin pseudo\n color: var(--md-code-hl-builtin-color);\n }\n\n .nn { // Name, namespace Name, namespace Name, namespace Name, namespace\n color: var(--md-code-hl-namespace-color);\n }\n\n .na, // Name, attribute\n .nd, // Name, decorator\n .ni { // Name, entity\n color: var(--md-code-hl-entity-color);\n }\n .nl, // Name, label\n .nt { // Name, tag\n color: var(--md-code-hl-tag-color);\n }\n}\n\n.md-typeset {\n\n /* Allow code to look like code everywhere despite Material's current preference */\n *:not(pre) > code {\n margin: 0;\n padding: 0 convert.px2em( 4px, 13.6px);\n color: var(--md-code-fg-color);\n background-color: var(--md-code-inline-bg-color);\n border-radius: convert.px2rem(2px);\n box-shadow: none;\n }\n\n pre > code {\n outline: none;\n }\n\n /* Don't always like code breaking in table cells */\n td code {\n word-break: normal;\n }\n\n .highlight {\n\n /* Needed for tab preserving mode */\n tab-size: 8;\n\n /* `pymdownx-inline` mode */\n [data-linenos] {\n\n /* Special line mode coloring */\n &.special::before {\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n /* Special line number coloring for tables */\n .highlighttable {\n .linenodiv {\n .special {\n margin-right: convert.px2em(-8px, 13.6px);\n margin-left: convert.px2em(-16px, 13.6px);\n padding-right: convert.px2em(8px, 13.6px);\n padding-left: convert.px2em(16px, 13.6px);\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n // Filename span\n .highlight span.filename {\n\n // Style the filename banner\n position: relative;\n display: block;\n margin-top: 1em;\n padding: convert.px2em(8px) convert.px2em(16px, 13.6px) convert.px2em(8px) convert.px2em(40px, 13.6px);\n font-weight: 700;\n font-size: convert.px2rem(13.6px);\n background-color: var(--md-code-title-bg-color);\n border-top-left-radius: convert.px2rem(9.6px);\n border-top-right-radius: convert.px2rem(9.6px);\n\n // Adjust margins and and general container look of code block\n + pre {\n margin-top: 0;\n\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Add code icon\n &::before {\n position: absolute;\n left: convert.px2em(12px, 13.6px);\n width: convert.px2em(20px, 13.6px);\n height: convert.px2em(20px, 13.6px);\n background-color: var(--md-default-fg-color);\n mask-image: var(--highlight-svg-console);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n\n .collapse-code {\n position: relative;\n margin-top: 1em;\n margin-bottom: 1em;\n\n pre {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n input{\n display: none;\n\n ~ .code-footer {\n width: 100%;\n margin: 0;\n padding: convert.px2em(4px) convert.px2em(8px) convert.px2em(4px) convert.px2em(0px);\n\n label {\n position: relative;\n margin: 0.05em;\n padding: 0.15em 0.8em;\n color: var(--md-primary-bg-color);\n font-size: 90%;\n background-color: var(--md-accent-fg-color);\n mask-repeat: no-repeat;\n mask-size: contain;\n border-radius: convert.px2rem(2px);\n cursor: pointer;\n content: \"\";\n\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n\n &::before {\n position: absolute;\n top: 0.15em;\n left: 0.15em;\n display: block;\n box-sizing: border-box;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-primary-bg-color);\n background-size: 1.25em;\n content: \"\";\n }\n\n &.expand {\n display: none;\n\n &::before {\n mask-image: var(--highlight-svg-arrow-expand);\n }\n }\n &.collapse::before {\n mask-image: var(--highlight-svg-arrow-collapse);\n }\n }\n }\n\n &:checked {\n ~ .code-footer label.expand {\n display: inline;\n }\n\n ~ .code-footer label.collapse {\n display: none;\n }\n\n + div.highlight code {\n max-height: convert.px2em(150px);\n overflow: hidden;\n }\n\n ~ .code-footer {\n position: relative;\n bottom: 4.3em;\n left: 0;\n margin-bottom: -4.3em;\n padding: convert.px2em(32px) convert.px2em(8px) convert.px2em(8px) convert.px2rem(16px);\n background-image: linear-gradient(to bottom,\n transparent,\n var(--md-default-bg-color) 80%\n 100%);\n border-bottom-right-radius: convert.px2rem(9.6px);\n border-bottom-left-radius: convert.px2rem(9.6px);\n }\n }\n }\n }\n\n @include break.break-to-device(mobile) {\n\n > {\n diagram-div {\n margin-right: convert.px2rem(-16px);\n margin-left: convert.px2rem(-16px);\n }\n .collapse-code {\n margin-right: convert.px2rem(-16px);\n margin-left: convert.px2rem(-16px);\n\n label.collapse {\n left: convert.px2rem(16px);\n }\n }\n }\n }\n}\n","@use \"../utilities/convert\";\n\n.md-typeset {\n\n // Keyboard key\n .keys {\n\n // Define keyboard keys with left icon\n @each $name, $code in (\n // Extra Keys\n \"power\": \"\\23FB\",\n \"fingerprint\": \"\\261D\",\n ) {\n .key-#{$name}::before {\n padding-right: convert.px2em(6.4px);\n content: $code;\n }\n }\n\n // Define keyboard keys with right icon\n @each $name, $code in (\n // Extra Keys\n ) {\n .key-#{$name}::after {\n padding-left: convert.px2em(6.4px);\n content: $code;\n }\n }\n }\n}\n","@use \"../utilities/convert\";\n\n// General styling for repository link icons\n:root > * {\n --magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");\n --magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");\n --magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");\n --magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");\n --magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");\n --magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");\n --magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");\n --magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");\n --magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\");\n}\n\n.md-typeset {\n a[href^=\"mailto:\"]:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-email-icon);\n }\n\n .magiclink-repository,\n .magiclink-compare,\n .magiclink-commit,\n .magiclink-pull,\n .magiclink-issue,\n .magiclink-discussion,\n a[href^=\"mailto:\"] {\n &:not(.magiclink-ignore) {\n position: relative;\n padding-left: convert.px2em(22px);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n width: convert.px2em(20px);\n height: convert.px2em(20px);\n background-color: var(--md-typeset-a-color);\n background-size: convert.px2em(20px);\n transition: background-color 125ms;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n &:hover::before {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"commit\": \"commit\",\n \"compare\": \"compare\",\n \"pull\": \"pull\",\n \"issue\": \"issue\",\n \"discussion\": \"discussion\"\n) {\n .md-typeset {\n .magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"github\": \"github\",\n \"gitlab\": \"gitlab\",\n \"bitbucket\": \"bitbucket\"\n) {\n .md-typeset {\n .magiclink-repository.magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n","/* Shadow boxes sometimes give issues, so just pad. */\n.md-typeset mark:not(.critic) {\n box-shadow: none;\n}\n","@use \"../palette/material_color\";\n@use \"../utilities/convert\";\n\n.md-typeset {\n\n /* Progress Bars */\n .progress-label {\n position: absolute;\n width: 100%;\n margin: 0;\n color: var(--md-text-color);\n font-weight: 700;\n line-height: convert.px2rem(28px);\n white-space: nowrap;\n text-align: center;\n text-shadow:\n convert.px2em(-1px) convert.px2em(-1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(1px) convert.px2em(-1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(-1px) convert.px2em(1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(1px) convert.px2em(1px) convert.px2em(6px) var(--md-default-bg-color--light);\n }\n\n .progress-bar {\n float: left;\n height: convert.px2rem(24px);\n background-color: material_color.$clr-blue-a400;\n }\n\n /* Stripe animation */\n .candystripe-animate {\n .progress-bar{\n animation: animate-stripes 3s linear infinite;\n }\n }\n\n .progress {\n position: relative;\n display: block;\n width: 100%;\n height: convert.px2rem(24px);\n margin: convert.px2rem(10px) 0;\n background-color: var(--md-default-fg-color--lightest);\n\n &.thin {\n height: convert.px2rem(8px);\n margin-top: convert.px2rem(18px);\n\n .progress-label {\n margin-top: convert.px2rem(-8px);\n }\n\n .progress-bar {\n height: convert.px2rem(8px);\n }\n }\n\n &.candystripe .progress-bar {\n background-image:\n linear-gradient(\n 135deg,\n var(--md-progress-stripe) 27%,\n transparent 27%,\n transparent 52%,\n var(--md-progress-stripe) 52%,\n var(--md-progress-stripe) 77%,\n transparent 77%,\n transparent\n );\n background-size: convert.px2rem(40px) convert.px2rem(40px);\n }\n }\n\n @each $percent, $color in (\n \"100\": var(--md-progress-100),\n \"80\": var(--md-progress-80),\n \"60\": var(--md-progress-60),\n \"40\": var(--md-progress-40),\n \"20\": var(--md-progress-20),\n \"0\": var(--md-progress-0)\n ) {\n .progress-#{$percent}plus {\n .progress-bar {\n background-color: $color;\n }\n }\n }\n\n @keyframes animate-stripes {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: convert.px2rem(120px) 0;\n }\n }\n}\n","// Material Colors\n// https://materialui.co/colors\n\n$clr-red: #f44336;\n$clr-red-50: #ffebee;\n$clr-red-100: #ffcdd2;\n$clr-red-200: #ef9a9a;\n$clr-red-300: #e57373;\n$clr-red-400: #ef5350;\n$clr-red-500: #f44336;\n$clr-red-600: #e53935;\n$clr-red-700: #d32f2f;\n$clr-red-800: #c62828;\n$clr-red-900: #b71c1c;\n$clr-red-a100: #ff8a80;\n$clr-red-a200: #ff5252;\n$clr-red-a400: #ff1744;\n$clr-red-a700: #d50000;\n\n$clr-pink: #e91e63;\n$clr-pink-50: #fce4ec;\n$clr-pink-100: #f8bbd0;\n$clr-pink-200: #f48fb1;\n$clr-pink-300: #f06292;\n$clr-pink-400: #ec407a;\n$clr-pink-500: #e91e63;\n$clr-pink-600: #d81b60;\n$clr-pink-700: #c2185b;\n$clr-pink-800: #ad1457;\n$clr-pink-900: #880e4f;\n$clr-pink-a100: #ff80ab;\n$clr-pink-a200: #ff4081;\n$clr-pink-a400: #f50057;\n$clr-pink-a700: #c51162;\n\n$clr-purple: #9c27b0;\n$clr-purple-50: #f3e5f5;\n$clr-purple-100: #e1bee7;\n$clr-purple-200: #ce93d8;\n$clr-purple-300: #ba68c8;\n$clr-purple-400: #ab47bc;\n$clr-purple-500: #9c27b0;\n$clr-purple-600: #8e24aa;\n$clr-purple-700: #7b1fa2;\n$clr-purple-800: #6a1b9a;\n$clr-purple-900: #4a148c;\n$clr-purple-a100: #ea80fc;\n$clr-purple-a200: #e040fb;\n$clr-purple-a400: #d500f9;\n$clr-purple-a700: #aa00ff;\n\n$clr-deep-purple: #673ab7;\n$clr-deep-purple-50: #ede7f6;\n$clr-deep-purple-100: #d1c4e9;\n$clr-deep-purple-200: #b39ddb;\n$clr-deep-purple-300: #9575cd;\n$clr-deep-purple-400: #7e57c2;\n$clr-deep-purple-500: #673ab7;\n$clr-deep-purple-600: #5e35b1;\n$clr-deep-purple-700: #512da8;\n$clr-deep-purple-800: #4527a0;\n$clr-deep-purple-900: #311b92;\n$clr-deep-purple-a100: #b388ff;\n$clr-deep-purple-a200: #7c4dff;\n$clr-deep-purple-a400: #651fff;\n$clr-deep-purple-a700: #6200ea;\n\n$clr-indigo: #3f51b5;\n$clr-indigo-50: #e8eaf6;\n$clr-indigo-100: #c5cae9;\n$clr-indigo-200: #9fa8da;\n$clr-indigo-300: #7986cb;\n$clr-indigo-400: #5c6bc0;\n$clr-indigo-500: #3f51b5;\n$clr-indigo-600: #3949ab;\n$clr-indigo-700: #303f9f;\n$clr-indigo-800: #283593;\n$clr-indigo-900: #1a237e;\n$clr-indigo-a100: #8c9eff;\n$clr-indigo-a200: #536dfe;\n$clr-indigo-a400: #3d5afe;\n$clr-indigo-a700: #304ffe;\n\n$clr-blue: #2196f3;\n$clr-blue-50: #e3f2fd;\n$clr-blue-100: #bbdefb;\n$clr-blue-200: #90caf9;\n$clr-blue-300: #64b5f6;\n$clr-blue-400: #42a5f5;\n$clr-blue-500: #2196f3;\n$clr-blue-600: #1e88e5;\n$clr-blue-700: #1976d2;\n$clr-blue-800: #1565c0;\n$clr-blue-900: #0d47a1;\n$clr-blue-a100: #82b1ff;\n$clr-blue-a200: #448aff;\n$clr-blue-a400: #2979ff;\n$clr-blue-a700: #2962ff;\n\n$clr-light-blue: #03a9f4;\n$clr-light-blue-50: #e1f5fe;\n$clr-light-blue-100: #b3e5fc;\n$clr-light-blue-200: #81d4fa;\n$clr-light-blue-300: #4fc3f7;\n$clr-light-blue-400: #29b6f6;\n$clr-light-blue-500: #03a9f4;\n$clr-light-blue-600: #039be5;\n$clr-light-blue-700: #0288d1;\n$clr-light-blue-800: #0277bd;\n$clr-light-blue-900: #01579b;\n$clr-light-blue-a100: #80d8ff;\n$clr-light-blue-a200: #40c4ff;\n$clr-light-blue-a400: #00b0ff;\n$clr-light-blue-a700: #0091ea;\n\n$clr-cyan: #00bcd4;\n$clr-cyan-50: #e0f7fa;\n$clr-cyan-100: #b2ebf2;\n$clr-cyan-200: #80deea;\n$clr-cyan-300: #4dd0e1;\n$clr-cyan-400: #26c6da;\n$clr-cyan-500: #00bcd4;\n$clr-cyan-600: #00acc1;\n$clr-cyan-700: #0097a7;\n$clr-cyan-800: #00838f;\n$clr-cyan-900: #006064;\n$clr-cyan-a100: #84ffff;\n$clr-cyan-a200: #18ffff;\n$clr-cyan-a400: #00e5ff;\n$clr-cyan-a700: #00b8d4;\n\n$clr-teal: #009688;\n$clr-teal-50: #e0f2f1;\n$clr-teal-100: #b2dfdb;\n$clr-teal-200: #80cbc4;\n$clr-teal-300: #4db6ac;\n$clr-teal-400: #26a69a;\n$clr-teal-500: #009688;\n$clr-teal-600: #00897b;\n$clr-teal-700: #00796b;\n$clr-teal-800: #00695c;\n$clr-teal-900: #004d40;\n$clr-teal-a100: #a7ffeb;\n$clr-teal-a200: #64ffda;\n$clr-teal-a400: #1de9b6;\n$clr-teal-a700: #00bfa5;\n\n$clr-green: #4caf50;\n$clr-green-50: #e8f5e9;\n$clr-green-100: #c8e6c9;\n$clr-green-200: #a5d6a7;\n$clr-green-300: #81c784;\n$clr-green-400: #66bb6a;\n$clr-green-500: #4caf50;\n$clr-green-600: #43a047;\n$clr-green-700: #388e3c;\n$clr-green-800: #2e7d32;\n$clr-green-900: #1b5e20;\n$clr-green-a100: #b9f6ca;\n$clr-green-a200: #69f0ae;\n$clr-green-a400: #00e676;\n$clr-green-a700: #00c853;\n\n$clr-light-green: #8bc34a;\n$clr-light-green-50: #f1f8e9;\n$clr-light-green-100: #dcedc8;\n$clr-light-green-200: #c5e1a5;\n$clr-light-green-300: #aed581;\n$clr-light-green-400: #9ccc65;\n$clr-light-green-500: #8bc34a;\n$clr-light-green-600: #7cb342;\n$clr-light-green-700: #689f38;\n$clr-light-green-800: #558b2f;\n$clr-light-green-900: #33691e;\n$clr-light-green-a100: #ccff90;\n$clr-light-green-a200: #b2ff59;\n$clr-light-green-a400: #76ff03;\n$clr-light-green-a700: #64dd17;\n\n$clr-lime: #cddc39;\n$clr-lime-50: #f9fbe7;\n$clr-lime-100: #f0f4c3;\n$clr-lime-200: #e6ee9c;\n$clr-lime-300: #dce775;\n$clr-lime-400: #d4e157;\n$clr-lime-500: #cddc39;\n$clr-lime-600: #c0ca33;\n$clr-lime-700: #afb42b;\n$clr-lime-800: #9e9d24;\n$clr-lime-900: #827717;\n$clr-lime-a100: #f4ff81;\n$clr-lime-a200: #eeff41;\n$clr-lime-a400: #c6ff00;\n$clr-lime-a700: #aeea00;\n\n$clr-yellow: #ffeb3b;\n$clr-yellow-50: #fffde7;\n$clr-yellow-100: #fff9c4;\n$clr-yellow-200: #fff59d;\n$clr-yellow-300: #fff176;\n$clr-yellow-400: #ffee58;\n$clr-yellow-500: #ffeb3b;\n$clr-yellow-600: #fdd835;\n$clr-yellow-700: #fbc02d;\n$clr-yellow-800: #f9a825;\n$clr-yellow-900: #f57f17;\n$clr-yellow-a100: #ffff8d;\n$clr-yellow-a200: #ffff00;\n$clr-yellow-a400: #ffea00;\n$clr-yellow-a700: #ffd600;\n\n$clr-amber: #ffc107;\n$clr-amber-50: #fff8e1;\n$clr-amber-100: #ffecb3;\n$clr-amber-200: #ffe082;\n$clr-amber-300: #ffd54f;\n$clr-amber-400: #ffca28;\n$clr-amber-500: #ffc107;\n$clr-amber-600: #ffb300;\n$clr-amber-700: #ffa000;\n$clr-amber-800: #ff8f00;\n$clr-amber-900: #ff6f00;\n$clr-amber-a100: #ffe57f;\n$clr-amber-a200: #ffd740;\n$clr-amber-a400: #ffc400;\n$clr-amber-a700: #ffab00;\n\n$clr-orange: #ff9800;\n$clr-orange-50: #fff3e0;\n$clr-orange-100: #ffe0b2;\n$clr-orange-200: #ffcc80;\n$clr-orange-300: #ffb74d;\n$clr-orange-400: #ffa726;\n$clr-orange-500: #ff9800;\n$clr-orange-600: #fb8c00;\n$clr-orange-700: #f57c00;\n$clr-orange-800: #ef6c00;\n$clr-orange-900: #e65100;\n$clr-orange-a100: #ffd180;\n$clr-orange-a200: #ffab40;\n$clr-orange-a400: #ff9100;\n$clr-orange-a700: #ff6d00;\n\n$clr-deep-orange: #ff5722;\n$clr-deep-orange-50: #fbe9e7;\n$clr-deep-orange-100: #ffccbc;\n$clr-deep-orange-200: #ffab91;\n$clr-deep-orange-300: #ff8a65;\n$clr-deep-orange-400: #ff7043;\n$clr-deep-orange-500: #ff5722;\n$clr-deep-orange-600: #f4511e;\n$clr-deep-orange-700: #e64a19;\n$clr-deep-orange-800: #d84315;\n$clr-deep-orange-900: #bf360c;\n$clr-deep-orange-a100: #ff9e80;\n$clr-deep-orange-a200: #ff6e40;\n$clr-deep-orange-a400: #ff3d00;\n$clr-deep-orange-a700: #dd2c00;\n\n$clr-brown: #795548;\n$clr-brown-50: #efebe9;\n$clr-brown-100: #d7ccc8;\n$clr-brown-200: #bcaaa4;\n$clr-brown-300: #a1887f;\n$clr-brown-400: #8d6e63;\n$clr-brown-500: #795548;\n$clr-brown-600: #6d4c41;\n$clr-brown-700: #5d4037;\n$clr-brown-800: #4e342e;\n$clr-brown-900: #3e2723;\n\n$clr-grey: #9e9e9e;\n$clr-grey-50: #fafafa;\n$clr-grey-100: #f5f5f5;\n$clr-grey-200: #eeeeee;\n$clr-grey-300: #e0e0e0;\n$clr-grey-400: #bdbdbd;\n$clr-grey-500: #9e9e9e;\n$clr-grey-600: #757575;\n$clr-grey-700: #616161;\n$clr-grey-800: #424242;\n$clr-grey-900: #212121;\n\n$clr-blue-grey: #607d8b;\n$clr-blue-grey-50: #eceff1;\n$clr-blue-grey-100: #cfd8dc;\n$clr-blue-grey-200: #b0bec5;\n$clr-blue-grey-300: #90a4ae;\n$clr-blue-grey-400: #78909c;\n$clr-blue-grey-500: #607d8b;\n$clr-blue-grey-600: #546e7a;\n$clr-blue-grey-700: #455a64;\n$clr-blue-grey-800: #37474f;\n$clr-blue-grey-900: #263238;\n\n$clr-white: #FFFFFF;\n$clr-black: #000000;\n","@use \"../utilities/break\";\n@use \"../utilities/convert\";\n\n.md-typeset .tabbed-control button{\n &:hover {\n color: var(--md-default-bg-color);\n background: var(--md-accent-fg-color);\n }\n}\n\n.md-typeset .tabbed-control--next button {\n &:hover {\n color: var(--md-default-bg-color);\n background: var(--md-accent-fg-color);\n }\n}\n\n.js .md-typeset .tabbed-labels::before {\n background-color: var(--md-accent-fg-color);\n}\n\n/* Style code blocks to fill full tab,\n but otherwise, pad content. */\n.md-typeset {\n .tabbed-alternate {\n &.tabbed-set .tabbed-control {\n width: convert.px2rem(40px);\n\n &[hidden] {\n width: convert.px2rem(24px);\n opacity: 0;\n }\n }\n\n &.tabbed-set > .tabbed-content > .tabbed-block {\n padding: 0 convert.px2rem(12px);\n\n > {\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n\n &:first-child {\n margin-top: convert.px2em(15px);\n\n code {\n border-top-left-radius: convert.px2rem(9.6px);\n border-top-right-radius: convert.px2rem(9.6px);\n }\n }\n\n &:only-child {\n margin-top: 0;\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n span.filename {\n margin-top: 0;\n }\n }\n }\n\n .collapse-code:only-child {\n margin-top: 0;\n\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n }\n\n diagram-div:only-child {\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n }\n }\n }\n }\n}\n\n/* Ignore mobile overflow styling that extends the tab bar */\n@include break.break-to-device(mobile) {\n [dir=ltr] .md-content__inner > .tabbed-set .tabbed-labels {\n padding-left: 0;\n }\n\n .md-content__inner > .tabbed-set .tabbed-labels {\n max-width: 100%;\n margin: 0;\n padding-inline-start: 0;\n scroll-padding-inline-start: 0;\n\n &::after {\n padding-inline-end: 0;\n content: none;\n }\n\n // Tabbed control previous\n ~ .tabbed-control--prev {\n margin-inline-start: 0;\n padding-inline-start: 0;\n }\n\n // Tabbed control next\n ~ .tabbed-control--next {\n margin-inline-end: 0;\n padding-inline-end: 0;\n }\n }\n}\n","@use \"palette/dracula\";\n\n/* Dark mode changes */\n[data-md-color-scheme=\"slate\"] {\n .md-typeset .task-list-control {\n .task-list-indicator::before {\n \tbackground-color: var(--md-default-fg-color--lighter);\n }\n\n [type=checkbox]:checked + .task-list-indicator::before {\n \tbackground-color: dracula.$drac-green;\n }\n }\n}\n","@use \"sass:color\";\n\n$drac-fg: hsl(60 30% 96.078%);\n$drac-bg: hsl(231 15% 18%);\n$drac-comment: hsl(225 27% 51%);\n$drac-highlight: hsl(231 25% 25%) ;\n$drac-selection: hsl(231 15% 30%);\n$drac-blue: hsl(225 100% 75%);\n$drac-cyan: hsl(191 97% 77%);\n$drac-green: hsl(135 94% 65%);\n$drac-orange: hsl(31 100% 71%);\n$drac-pink: hsl(326 100% 74%);\n$drac-purple: hsl(265 89% 78%);\n$drac-red: hsl(0 100% 67%);\n$drac-yellow: hsl(65 92% 76%);\n\n$drac-grey: hsl(225 8% 51%);\n\n// An approximation of the Alucard theme\n$alucard-fg: #1F1F1F;\n$alucard-bg: #F5F5F5;\n$alucard-comment: #635D97;\n$alucard-highlight: #DCDEEF;\n$alucard-selection: #CFCFDE;\n$alucard-blue: #3654c2;\n$alucard-cyan: #036A96;\n$alucard-green: #14720A;\n$alucard-orange: #A34D14;\n$alucard-pink: #A3134D;\n$alucard-purple: #644AC9;\n$alucard-red: #CB3A2A;\n$alucard-yellow: #836E15;\n","@use \"../utilities/convert\";\n\n:root > * {\n --toc-svg-link: svg-load(\"@mdi/svg/svg/link.svg\");\n}\n\n// Header anchors\n.md-typeset {\n .headerlink {\n width: convert.px2em(16px);\n height: convert.px2em(16px);\n vertical-align: middle;\n background-color: var(--md-default-fg-color--lighter);\n background-size: convert.px2em(16px);\n mask-size: convert.px2em(16px);\n mask-repeat: no-repeat;\n visibility: visible;\n mask-image: var(--toc-svg-link);\n }\n\n .headerlink:hover,\n [id]:target .headerlink {\n background-color: var(--md-accent-fg-color);\n }\n}\n","/* Special handling of Mermaid content. */\ndiagram-div {\n overflow: auto;\n}\n",".md-typeset div.steps > ol {\n counter-reset: item;\n\n > li {\n position: relative;\n padding-left: 1em;\n list-style: none;\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n display: block;\n width: 1.75em;\n height: 1.75em;\n margin-left: -1.25em;\n color: var(--md-steps-fg-color);\n font-weight: 600;\n font-size: 0.9em;\n text-align: center;\n background-color: var(--md-steps-bg-color);\n border: 1px solid var(--md-steps-border-color);\n border-radius: 100px;\n content: counter(item);\n counter-increment: item;\n }\n\n &::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: -0.36em;\n display: block;\n width: 1px;\n margin-top: 2em;\n border-left: 1px solid var(--md-steps-border-color);\n content: '';\n }\n }\n}\n","@use \"../utilities/convert\";\n\n.md-typeset table:not([class]) {\n th {\n border-bottom: convert.px2rem(2px) solid var(--md-accent-fg-color);\n }\n}\n","@use \"utilities/break\";\n@use \"utilities/convert\";\n\nhtml {\n background-color: transparent;\n}\n\n[data-md-component=\"announce\"] .twemoji {\n color: var(--md-primary-fg-color);\n}\n\n.md-container .md-tabs {\n .md-tabs__item--active {\n border-bottom: convert.px2rem(2px) solid var(--md-accent-fg-color);\n }\n}\n\n// Navigation\n.md-nav--secondary {\n > ul {\n border-left: convert.px2rem(2px) solid var(--md-default-fg-color--lightest);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-2px);\n padding-left: convert.px2rem(16px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-14px);\n padding-left: convert.px2rem(28px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-26px);\n padding-left: convert.px2rem(40px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-38px);\n padding-left: convert.px2rem(52px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-50px);\n padding-left: convert.px2rem(64px);\n }\n }\n }\n }\n }\n }\n\n .md-nav__item {\n color: var(--md-default-fg-color--light);\n\n .md-nav__link--active {\n color: var(--md-default-fg-color);\n border-left: convert.px2rem(2px) solid var(--md-accent-fg-color);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .md-nav__link {\n &:focus,\n &:hover {\n color: var(--md-default-fg-color);\n }\n }\n }\n}\n\n.md-nav--primary {\n .md-nav__item {\n color: var(--md-default-fg-color--light);\n }\n}\n\n// Navigation\n.md-nav__source {\n color: var(--md-text-color);\n}\n\n.md-nav__link[data-md-state=blur] {\n color: var(--md-default-fg-color--light);\n}\n\n.md-typeset {\n\n /* Don't force capitalization of `H5` elements. */\n h5 {\n color: var(--md-text-color);\n text-transform: none;\n }\n}\n\n.md-typeset__scrollwrap,\n.md-sidebar__scrollwrap,\n.md-search__scrollwrap,\n.md-typeset pre > code,\n.md-typeset div.mermaid,\n.md-typeset div.diagram,\n.md-typeset mermaid-div,\n.md-typeset diagram-div,\n.md-typeset pre.arithmatex,\n.md-typeset div.arithmatex {\n // Firefox scrollbar and thumb\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n scrollbar-width: thin;\n\n // Firefox hovered scrollbar and thumb\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: convert.px2rem(4px);\n height: convert.px2rem(4px);\n }\n\n &::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Variables\n// ----------------------------------------------------------------------------\n\n///\n/// Device-specific breakpoints\n///\n/// @example\n/// $break-devices: (\n/// mobile: (\n/// portrait: 220px 479px,\n/// landscape: 480px 719px\n/// ),\n/// tablet: (\n/// portrait: 720px 959px,\n/// landscape: 960px 1219px\n/// ),\n/// screen: (\n/// small: 1220px 1599px,\n/// medium: 1600px 1999px,\n/// large: 2000px\n/// )\n/// );\n///\n@use \"sass:map\";\n@use \"sass:list\";\n@use \"sass:meta\";\n@use \"./convert\";\n\n$break-devices: (\n mobile: (\n portrait: convert.px2em(220px) convert.px2em(479px),\n landscape: convert.px2em(480px) convert.px2em(719px)\n ),\n tablet: (\n portrait: convert.px2em(720px) convert.px2em(959px),\n landscape: convert.px2em(960px) convert.px2em(1219px)\n ),\n screen: (\n small: convert.px2em(1220px) convert.px2em(1599px),\n medium: convert.px2em(1600px) convert.px2em(1999px),\n large: convert.px2em(2000px)\n )\n) !default;\n\n// ----------------------------------------------------------------------------\n// Helpers\n// ----------------------------------------------------------------------------\n\n///\n/// Choose minimum and maximum device widths\n///\n@function break-select-min-max($devices) {\n $min: 1000000;\n $max: 0;\n @each $key, $value in $devices {\n @while meta.type-of($value) == map {\n $value: break-select-min-max($value);\n }\n @if meta.type-of($value) == list {\n @each $number in $value {\n @if meta.type-of($number) == number {\n $min: min($number, $min);\n @if $max != null {\n $max: max($number, $max);\n }\n } @else {\n @error \"Invalid number: #{$number}\";\n }\n }\n } @else if meta.type-of($value) == number {\n $min: min($value, $min);\n $max: null;\n } @else {\n @error \"Invalid value: #{$value}\";\n }\n }\n @return $min, $max;\n}\n\n///\n/// Select minimum and maximum widths for a device breakpoint\n///\n@function break-select-device($device) {\n $current: $break-devices;\n @for $n from 1 through list.length($device) {\n @if meta.type-of($current) == map {\n $current: map.get($current, list.nth($device, $n));\n } @else {\n @error \"Invalid device map: #{$devices}\";\n }\n }\n @if meta.type-of($current) == list or meta.type-of($current) == number {\n $current: (default: $current);\n }\n @return break-select-min-max($current);\n}\n\n// ----------------------------------------------------------------------------\n// Mixins\n// ----------------------------------------------------------------------------\n\n///\n/// A minimum-maximum media query breakpoint\n///\n@mixin break-at($breakpoint) {\n @if meta.type-of($breakpoint) == number {\n @media screen and (min-width: $breakpoint) {\n @content;\n }\n } @else if meta.type-of($breakpoint) == list {\n $min: list.nth($breakpoint, 1);\n $max: list.nth($breakpoint, 2);\n @if meta.type-of($min) == number and meta.type-of($max) == number {\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// An orientation media query breakpoint\n///\n@mixin break-at-orientation($breakpoint) {\n @if meta.type-of($breakpoint) == string {\n @media screen and (orientation: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A maximum-aspect-ratio media query breakpoint\n///\n@mixin break-at-ratio($breakpoint) {\n @if meta.type-of($breakpoint) == number {\n @media screen and (max-aspect-ratio: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A minimum-maximum media query device breakpoint\n///\n@mixin break-at-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n @if list.nth($breakpoint, 2) != null {\n $min: list.nth($breakpoint, 1);\n $max: list.nth($breakpoint, 2);\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A minimum media query device breakpoint\n///\n@mixin break-from-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n $min: list.nth($breakpoint, 1);\n @media screen and (min-width: $min) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A maximum media query device breakpoint\n///\n@mixin break-to-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n $max: list.nth($breakpoint, 2);\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n"]} \ No newline at end of file diff --git a/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css b/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css new file mode 100644 index 00000000..b1eef8a2 --- /dev/null +++ b/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css @@ -0,0 +1,2 @@ +:root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-typeset-table-color: rgb(0% 0% 0% / 15%);--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.7);--md-default-bg-color--lighter: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.4);--md-default-bg-color--lightest: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.1);--md-default-bg-color--trans: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1147606354 0.1213715063 0.1588331081);--md-default-bg-color--darker: color(srgb 0.0781790415 0.0833653407 0.1127543696);--md-default-bg-color--darkest: color(srgb 0.0327882794 0.0359366892 0.0551574304);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-typeset-table-color: rgb(100% 100% 100% / 15%);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-icon--important: url('data:image/svg+xml;charset=utf-8,');--md-admonition-bg-color--important: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--important: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--important: hsla(300.507916868, 58.3554777078%, 71.0104358913%, 0.1);--md-admonition-icon-color--important: hsl(300.507916868, 58.3554777078%, 71.0104358913%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(96.9286079031, 93.5050765575%, 74.7933068737%, 0.1);--md-admonition-icon-color--question: hsl(96.9286079031, 93.5050765575%, 74.7933068737%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(344.5737278948, 100.1359681762%, 71.0000228672%, 0.1);--md-admonition-icon-color--bug: hsl(344.5737278948, 100.1359681762%, 71.0000228672%)}:root>*{--md-admonition-bg-color--example: rgba(98, 0, 234, 0.1);--md-admonition-icon-color--example: #6200ea}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{font-size:inherit;background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--settings);mask-image:var(--md-admonition-icon--settings);content:" "}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--new);mask-image:var(--md-admonition-icon--new);content:" "}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.important,.md-typeset details.important{background:var(--md-admonition-bg-color--important)}.md-typeset .admonition.important>.admonition-title::before,.md-typeset details.important>.admonition-title::before,.md-typeset details.important>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--important);background-size:1rem;-webkit-mask-image:var(--md-admonition-icon--important);mask-image:var(--md-admonition-icon--important);content:" "}.md-typeset .admonition.important>.admonition-title::after,.md-typeset details.important>.admonition-title::after,.md-typeset details.important>summary::after{color:var(--md-admonition-icon-color--important)}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color="gray", Positive="true")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:"Courier New",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-expand: url('data:image/svg+xml;charset=utf-8,');--highlight-svg-arrow-collapse: url('data:image/svg+xml;charset=utf-8,')}.highlight .hll{box-shadow:2px 0 0 0 var(--md-accent-fg-color) inset}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:.1654411765em .3125em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.2rem;box-shadow:none}.md-typeset pre>code{display:grid}.md-typeset td code{word-break:normal}.md-typeset .highlight{-moz-tab-size:8;-o-tab-size:8;tab-size:8}.md-typeset .highlight [data-linenos]:hover::before{color:var(--md-accent-fg-color);font-weight:700}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlight .hll [data-linenos]::before{box-shadow:-2px 0 var(--md-accent-fg-color) inset}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);-webkit-mask-image:var(--highlight-svg-console);mask-image:var(--highlight-svg-console);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;border-radius:.1rem;cursor:pointer;content:""}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:""}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{-webkit-mask-image:var(--highlight-svg-arrow-expand);mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{-webkit-mask-image:var(--highlight-svg-arrow-collapse);mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}.md-typeset .highlight+.result{border-right-width:.1rem;border-bottom-width:.1rem;border-left-width:.1rem}.md-typeset .keys .key-power::before{padding-right:.4em;content:"⏻"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:"☝"}:root>*{--magiclink-email-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-github-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-bitbucket-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-gitlab-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-commit-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-compare-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-pull-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-issue-icon: url('data:image/svg+xml;charset=utf-8,');--magiclink-discussion-icon: url('data:image/svg+xml;charset=utf-8,')}.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-email-icon);mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^="mailto:"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;content:""}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^="mailto:"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-commit-icon);mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-compare-icon);mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-pull-icon);mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-issue-icon);mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-discussion-icon);mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-github-icon);mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-gitlab-icon);mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{-webkit-mask-image:var(--magiclink-bitbucket-icon);mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: url('data:image/svg+xml;charset=utf-8,')}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;-webkit-mask-size:1em;mask-size:1em;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;visibility:visible;-webkit-mask-image:var(--toc-svg-link);mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:""}.md-typeset table:not([class]){background:none;border-radius:.4rem}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@media screen and (max-width: 44.9375em){.md-content__inner>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.highlight span.filename{border-top-left-radius:0;border-top-right-radius:0}.md-content__inner>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.collapse-code label.collapse{left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}} +/*# sourceMappingURL=extra-928cef6c86.css.map */ diff --git a/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css.map b/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css.map new file mode 100644 index 00000000..1cea78ee --- /dev/null +++ b/docs/theme/assets/pymdownx-extras/extra-928cef6c86.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["extra.css","palette/_colors.scss","_general.scss","extensions/_admonition.scss","extensions/_arithmatex.scss","extensions/_critic.scss","extensions/_details.scss","extensions/_highlight.scss","extensions/_keys.scss","extensions/_magiclink.scss","extensions/_mark.scss","extensions/_progressbar.scss","palette/_material_color.scss","extensions/_tabbed.scss","extensions/_tasklist.scss","palette/_dracula.scss","extensions/_toc.scss","extensions/_superfences.scss","extensions/_steps.scss","extensions/_tables.scss","_material.scss","utilities/_break.scss"],"names":[],"mappings":"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","file":"extra-928cef6c86.css","sourcesContent":[":root>*{--md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);--md-tab-control-bg: var(--md-default-bg-color);--md-code-fg-color: #1F1F1F;--md-code-bg-color: #F5F5F5;--md-code-title-bg-color: #F5F5F5;--md-code-inline-bg-color: #F5F5F5;--md-code-hl-operator-color: #A3134D;--md-code-hl-punctuation-color: #1F1F1F;--md-code-hl-string-color: #836E15;--md-code-hl-special-color: #644AC9;--md-code-hl-number-color: #644AC9;--md-code-hl-keyword-color: #A3134D;--md-code-hl-name-color: #1F1F1F;--md-code-hl-constant-color: #644AC9;--md-code-hl-function-color: #14720A;--md-code-hl-comment-color: #635D97;--md-code-hl-variable-color: #A34D14;--md-code-hl-generic-color: #635D97;--md-code-hl-color: #CFCFDE;--md-code-hl-color--light: #DCDEEF;--md-typeset-table-color: rgb(0% 0% 0% / 15%);--md-code-hl-entity-color: #14720A;--md-code-hl-tag-color: #A3134D;--md-code-hl-namespace-color: #1F1F1F;--md-code-hl-builtin-color: #036A96;--md-code-hl-class-color: #036A96;--md-code-special-bg-color: #DCDEEF;--md-steps-bg-color: var(--md-code-bg-color);--md-steps-fg-color: var(--md-code-fg-color);--md-steps-border-color: hsla(0, 0%, 75%, 1);--md-typeset-a-color: #00bcd4;--md-progress-stripe: var(--md-default-bg-color--lighter);--md-progress-100: #00e676;--md-progress-80: #00e676;--md-progress-60: #fbc02d;--md-progress-40: #ff9100;--md-progress-20: #ff5252;--md-progress-0: #ff1744;--md-typeset-kbd-color: rgb(228.3721025416, 228.3721025416, 228.3721025416);--md-typeset-kbd-border-color: rgb(164.4010497691, 164.4010497691, 164.4010497691);--md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1)}:root>*[data-md-color-scheme=slate]{--md-default-fg-color: hsla(60, 30%, 96.078%, 0.87);--md-default-fg-color--light: hsla(60, 30%, 96.078%, 0.54);--md-default-fg-color--lighter: hsla(60, 30%, 96.078%, 0.36);--md-default-fg-color--lightest: hsla(60, 30%, 96.078%, 0.12);--md-default-autocomplete-fg-color: hsla(60, 30%, 96.078%, 0.4);--md-shadow-z2: 0 0.2rem 0.5rem hsla(0, 0%, 0%, 0.3), 0 0 0.05rem hsla(0, 0%, 0%, 0.2);--md-footer-fg-color: var(--md-default-fg-color);--md-default-bg-color: var(--md-default-bg-color--darkest);--md-default-bg-color--light: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.7);--md-default-bg-color--lighter: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.4);--md-default-bg-color--lightest: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0.1);--md-default-bg-color--trans: color(srgb 0.0327882794 0.0359366892 0.0551574304 / 0);--md-tab-control-bg: var(--md-default-bg-color--dark);--md-default-bg-color--dark: color(srgb 0.1147606354 0.1213715063 0.1588331081);--md-default-bg-color--darker: color(srgb 0.0781790415 0.0833653407 0.1127543696);--md-default-bg-color--darkest: color(srgb 0.0327882794 0.0359366892 0.0551574304);--md-text-color: var(--md-default-fg-color);--md-typeset-color: var(--md-default-fg-color);--md-admonition-fg-color: var(--md-default-fg-color);--md-code-fg-color: hsl(60, 30%, 96.078%);--md-code-bg-color: hsl(231, 15%, 18%);--md-code-title-bg-color: hsl(231, 15%, 18%);--md-code-inline-bg-color: hsl(231, 15%, 18%);--md-code-hl-operator-color: hsl(326, 100%, 74%);--md-code-hl-punctuation-color: hsl(60, 30%, 96.078%);--md-code-hl-string-color: hsl(65, 92%, 76%);--md-code-hl-special-color: hsl(265, 89%, 78%);--md-code-hl-number-color: hsl(265, 89%, 78%);--md-code-hl-keyword-color: hsl(326, 100%, 74%);--md-code-hl-name-color: hsl(60, 30%, 96.078%);--md-code-hl-constant-color: hsl(265, 89%, 78%);--md-code-hl-function-color: hsl(135, 94%, 65%);--md-code-hl-comment-color: hsl(225, 27%, 51%);--md-code-hl-variable-color: hsl(31, 100%, 71%);--md-code-hl-generic-color: hsl(225, 27%, 51%);--md-code-hl-color: hsl(231, 15%, 30%);--md-code-hl-color--light: hsl(231, 25%, 25%);--md-code-bg-color--light: hsla(231, 15%, 18%, 0.9);--md-code-bg-color--lighter: hsla(231, 15%, 18%, 0.5);--md-typeset-table-color: rgb(100% 100% 100% / 15%);--md-code-hl-entity-color: hsl(135, 94%, 65%);--md-code-hl-tag-color: hsl(326, 100%, 74%);--md-code-hl-namespace-color: hsl(60, 30%, 96.078%);--md-code-hl-builtin-color: hsl(191, 97%, 77%);--md-code-hl-class-color: hsl(191, 97%, 77%);--md-code-special-bg-color: hsl(231, 25%, 25%);--md-steps-border-color: hsl(230.6613379686, 10.4241713343%, 28.1575403575%);--md-typeset-a-color: hsl(191, 97%, 77%);--md-typeset-mark-color: hsl(75.3111515854, 11.5600114451%, 37.8888925515%);--md-typeset-del-color: hsl(314.8219481072, 22.0434125534%, 35.1703201111%);--md-typeset-ins-color: hsl(145.2334928709, 27.8121663576%, 33.1574755691%);--md-progress-stripe: var(--md-default-bg-color--lightest);--md-progress-100: hsl(135, 94%, 65%);--md-progress-80: hsl(96.9286079031, 93.5050765575%, 74.7933068737%);--md-progress-60: hsl(65, 92%, 76%);--md-progress-40: hsl(31, 100%, 71%);--md-progress-20: hsl(326, 100%, 74%);--md-progress-0: hsl(0, 100%, 67%);--md-typeset-kbd-color: var(--md-default-fg-color--lightest);--md-typeset-kbd-border-color: var(--md-default-bg-color--dark);--md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate][data-md-color-primary=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-primary-code-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-primary-fg-color: hsla(0deg, 100%, 67%, 1);--md-primary-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-primary-fg-color--light: hsla(0deg, 100%, 72%, 1);--md-primary-fg-color--dark: hsla(0deg, 100%, 62%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-primary-code-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-primary-fg-color: hsla(326deg, 100%, 74%, 1);--md-primary-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-primary-fg-color--light: hsla(326deg, 100%, 79%, 1);--md-primary-fg-color--dark: hsla(326deg, 100%, 69%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-primary-code-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-primary-fg-color: hsla(265deg, 89%, 78%, 1);--md-primary-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-primary-fg-color--light: hsla(265deg, 89%, 83%, 1);--md-primary-fg-color--dark: hsla(265deg, 89%, 73%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-primary-code-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-primary-fg-color: hsla(225deg, 100%, 75%, 1);--md-primary-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-primary-fg-color--light: hsla(225deg, 100%, 80%, 1);--md-primary-fg-color--dark: hsla(225deg, 100%, 70%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-primary-code-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-primary-fg-color: hsla(191deg, 97%, 77%, 1);--md-primary-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-primary-fg-color--light: hsla(191deg, 97%, 82%, 1);--md-primary-fg-color--dark: hsla(191deg, 97%, 72%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-primary-code-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-primary-fg-color: hsla(135deg, 94%, 65%, 1);--md-primary-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-primary-fg-color--light: hsla(135deg, 94%, 70%, 1);--md-primary-fg-color--dark: hsla(135deg, 94%, 60%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-primary-code-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-primary-fg-color: hsla(65deg, 92%, 76%, 1);--md-primary-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-primary-fg-color--light: hsla(65deg, 92%, 81%, 1);--md-primary-fg-color--dark: hsla(65deg, 92%, 71%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-primary=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-primary-code-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-primary-fg-color: hsla(31deg, 100%, 71%, 1);--md-primary-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-primary-fg-color--light: hsla(31deg, 100%, 76%, 1);--md-primary-fg-color--dark: hsla(31deg, 100%, 66%, 1);--md-primary-bg-color: var(--md-default-bg-color);--md-primary-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=red],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=red]{--md-code-link-accent-bg-color: hsl(332.2545890109, 15.8127407999%, 23.5759703429%);--md-accent-fg-color: hsla(0deg, 100%, 67%, 1);--md-accent-fg-color--transparent: hsla(0deg, 100%, 67%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=pink],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=pink]{--md-code-link-accent-bg-color: hsl(288.4757168622, 14.8889902037%, 24.6712834924%);--md-accent-fg-color: hsla(326deg, 100%, 74%, 1);--md-accent-fg-color--transparent: hsla(326deg, 100%, 74%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-purple],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-purple]{--md-code-link-accent-bg-color: hsl(248.4980702, 16.8923581309%, 26.4141657947%);--md-accent-fg-color: hsla(265deg, 89%, 78%, 1);--md-accent-fg-color--transparent: hsla(265deg, 89%, 78%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=indigo],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=indigo]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-blue],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-blue]{--md-code-link-accent-bg-color: hsl(227.2638621359, 21.6677726002%, 25.6465952614%);--md-accent-fg-color: hsla(225deg, 100%, 75%, 1);--md-accent-fg-color--transparent: hsla(225deg, 100%, 75%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=cyan],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=cyan]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=teal],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=teal]{--md-code-link-accent-bg-color: hsl(210.993928831, 19.0177068244%, 26.0788938803%);--md-accent-fg-color: hsla(191deg, 97%, 77%, 1);--md-accent-fg-color--transparent: hsla(191deg, 97%, 77%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=light-green],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=light-green]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=lime],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=lime]{--md-code-link-accent-bg-color: hsl(168.8720935496, 16.518720864%, 23.1930022147%);--md-accent-fg-color: hsla(135deg, 94%, 65%, 1);--md-accent-fg-color--transparent: hsla(135deg, 94%, 65%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=yellow],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=yellow]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=amber],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=amber]{--md-code-link-accent-bg-color: hsl(159.3047128419, 2.986865819%, 26.1419609775%);--md-accent-fg-color: hsla(65deg, 92%, 76%, 1);--md-accent-fg-color--transparent: hsla(65deg, 92%, 76%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}[data-md-color-scheme=slate][data-md-color-accent=deep-orange],[data-md-color-scheme=slate] :not([data-md-color-scheme])[data-md-color-primary=deep-orange]{--md-code-link-accent-bg-color: hsl(338.2103998913, 5.0960419739%, 25.1078079888%);--md-accent-fg-color: hsla(31deg, 100%, 71%, 1);--md-accent-fg-color--transparent: hsla(31deg, 100%, 71%, 0.2);--md-accent-bg-color: var(--md-default-bg-color);--md-accent-bg-color--light: var(--md-default-bg-color--light)}:root{--md-heart: #ff5252;--md-heart-big: #ff1744}:root [data-md-color-scheme=slate]{--md-heart: hsl(0, 100%, 67%);--md-heart-big: hsl(326, 100%, 74%)}.md-typeset a.source-link{position:relative;top:-0.6rem;float:right;color:var(--md-default-fg-color--lighter);transition:color 125ms}.md-typeset a.source-link:hover{color:var(--md-accent-fg-color)}.md-typeset a.source-link .twemoji{height:1.2rem}.md-typeset a.source-link .twemoji svg{width:1.2rem;height:1.2rem}.md-typeset div.highlight.md-max-height pre>code{max-height:15rem}.twemoji.heart-throb svg,.twemoji.heart-throb-hover svg{position:relative;color:var(--md-heart);animation:pulse 1.5s ease infinite}@keyframes pulse{0%{transform:scale(1)}40%{color:var(--md-heart-big);transform:scale(1.3)}50%{transform:scale(1.2)}60%{color:var(--md-heart-big);transform:scale(1.3)}100%{transform:scale(1)}}footer.sponsorship{text-align:center}footer.sponsorship .twemoji{padding:.05rem}footer.sponsorship a{text-decoration:none}footer.sponsorship hr{display:inline-block;width:1.6rem;margin:0 .7rem;vertical-align:middle;border-bottom:2px solid var(--md-default-fg-color--lighter)}footer.sponsorship:hover hr{border-color:var(--md-accent-fg-color)}footer.sponsorship:not(:hover) .twemoji.heart-throb-hover svg{color:var(--md-default-fg-color--lighter) !important}:root>*{--md-admonition-icon-color: #3654c2;--md-admonition-bg-color: rgba(54, 84, 194, 0.1)}:root>*[data-md-color-scheme=slate]{--md-admonition-icon-color: hsl(225, 100%, 75%);--md-admonition-bg-color: hsla(225, 100%, 75%, 0.1)}:root>*{--md-admonition-icon--settings: svg-load(\"@mdi/svg/svg/cog.svg\");--md-admonition-bg-color--settings: rgba(170, 0, 255, 0.1);--md-admonition-icon-color--settings: #aa00ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--settings: hsla(326, 100%, 74%, 0.1);--md-admonition-icon-color--settings: hsl(326, 100%, 74%)}:root>*{--md-admonition-icon--new: svg-load(\"@mdi/svg/svg/alert-decagram.svg\");--md-admonition-bg-color--new: rgba(255, 214, 0, 0.1);--md-admonition-icon-color--new: #ffd600}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--new: hsla(65, 92%, 76%, 0.1);--md-admonition-icon-color--new: hsl(65, 92%, 76%)}:root>*{--md-admonition-icon--important: svg-load(\"@mdi/svg/svg/comment-alert-outline.svg\");--md-admonition-bg-color--important: rgba(124, 77, 255, 0.1);--md-admonition-icon-color--important: #7c4dff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--important: hsla(300.507916868, 58.3554777078%, 71.0104358913%, 0.1);--md-admonition-icon-color--important: hsl(300.507916868, 58.3554777078%, 71.0104358913%)}:root>*{--md-admonition-bg-color--note: rgba(68, 138, 255, 0.1);--md-admonition-icon-color--note: #448aff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--note: hsla(225, 100%, 75%, 0.1);--md-admonition-icon-color--note: hsl(225, 100%, 75%)}:root>*{--md-admonition-bg-color--abstract: rgba(0, 176, 255, 0.1);--md-admonition-icon-color--abstract: #00b0ff}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--abstract: hsla(208.9651589316, 100.1516938638%, 76.1926610237%, 0.1);--md-admonition-icon-color--abstract: hsl(208.9651589316, 100.1516938638%, 76.1926610237%)}:root>*{--md-admonition-bg-color--info: rgba(0, 184, 212, 0.1);--md-admonition-icon-color--info: #00b8d4}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--info: hsla(191, 97%, 77%, 0.1);--md-admonition-icon-color--info: hsl(191, 97%, 77%)}:root>*{--md-admonition-bg-color--tip: rgba(0, 191, 165, 0.1);--md-admonition-icon-color--tip: #00bfa5}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--tip: hsla(157.7363570417, 83.7763520157%, 69.6636999884%, 0.1);--md-admonition-icon-color--tip: hsl(157.7363570417, 83.7763520157%, 69.6636999884%)}:root>*{--md-admonition-bg-color--success: rgba(0, 200, 83, 0.1);--md-admonition-icon-color--success: #00c853}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--success: hsla(135, 94%, 65%, 0.1);--md-admonition-icon-color--success: hsl(135, 94%, 65%)}:root>*{--md-admonition-bg-color--question: rgba(100, 221, 23, 0.1);--md-admonition-icon-color--question: #64dd17}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--question: hsla(96.9286079031, 93.5050765575%, 74.7933068737%, 0.1);--md-admonition-icon-color--question: hsl(96.9286079031, 93.5050765575%, 74.7933068737%)}:root>*{--md-admonition-bg-color--warning: rgba(255, 145, 0, 0.1);--md-admonition-icon-color--warning: #ff9100}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--warning: hsla(31, 100%, 71%, 0.1);--md-admonition-icon-color--warning: hsl(31, 100%, 71%)}:root>*{--md-admonition-bg-color--failure: rgba(255, 82, 82, 0.1);--md-admonition-icon-color--failure: #ff5252}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--failure: hsla(15.759766848, 102.8951066345%, 69.4486457644%, 0.1);--md-admonition-icon-color--failure: hsl(15.759766848, 102.8951066345%, 69.4486457644%)}:root>*{--md-admonition-bg-color--danger: rgba(255, 23, 68, 0.1);--md-admonition-icon-color--danger: #ff1744}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--danger: hsla(0, 100%, 67%, 0.1);--md-admonition-icon-color--danger: hsl(0, 100%, 67%)}:root>*{--md-admonition-bg-color--bug: rgba(245, 0, 87, 0.1);--md-admonition-icon-color--bug: #f50057}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--bug: hsla(344.5737278948, 100.1359681762%, 71.0000228672%, 0.1);--md-admonition-icon-color--bug: hsl(344.5737278948, 100.1359681762%, 71.0000228672%)}:root>*{--md-admonition-bg-color--example: rgba(98, 0, 234, 0.1);--md-admonition-icon-color--example: #6200ea}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--example: hsla(265, 89%, 78%, 0.1);--md-admonition-icon-color--example: hsl(265, 89%, 78%)}:root>*{--md-admonition-bg-color--quote: rgba(158, 158, 158, 0.1);--md-admonition-icon-color--quote: #9e9e9e}:root>*[data-md-color-scheme=slate]{--md-admonition-bg-color--quote: hsla(225, 8%, 51%, 0.1);--md-admonition-icon-color--quote: hsl(225, 8%, 51%)}.md-typeset .admonition,.md-typeset details{font-size:inherit;background:var(--md-admonition-bg-color--note);border-width:0;border-left-width:4px}.md-typeset .admonition>.admonition-title::before,.md-typeset details>.admonition-title::before,.md-typeset details>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition>.admonition-title::after,.md-typeset details>.admonition-title::after,.md-typeset details>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note,.md-typeset details.note{background:var(--md-admonition-bg-color--note)}.md-typeset .admonition.note>.admonition-title::before,.md-typeset details.note>.admonition-title::before,.md-typeset details.note>summary::before{background-color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.note>.admonition-title::after,.md-typeset details.note>.admonition-title::after,.md-typeset details.note>summary::after{color:var(--md-admonition-icon-color--note)}.md-typeset .admonition.abstract,.md-typeset details.abstract{background:var(--md-admonition-bg-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::before,.md-typeset details.abstract>.admonition-title::before,.md-typeset details.abstract>summary::before{background-color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.abstract>.admonition-title::after,.md-typeset details.abstract>.admonition-title::after,.md-typeset details.abstract>summary::after{color:var(--md-admonition-icon-color--abstract)}.md-typeset .admonition.info,.md-typeset details.info{background:var(--md-admonition-bg-color--info)}.md-typeset .admonition.info>.admonition-title::before,.md-typeset details.info>.admonition-title::before,.md-typeset details.info>summary::before{background-color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.info>.admonition-title::after,.md-typeset details.info>.admonition-title::after,.md-typeset details.info>summary::after{color:var(--md-admonition-icon-color--info)}.md-typeset .admonition.tip,.md-typeset details.tip{background:var(--md-admonition-bg-color--tip)}.md-typeset .admonition.tip>.admonition-title::before,.md-typeset details.tip>.admonition-title::before,.md-typeset details.tip>summary::before{background-color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.tip>.admonition-title::after,.md-typeset details.tip>.admonition-title::after,.md-typeset details.tip>summary::after{color:var(--md-admonition-icon-color--tip)}.md-typeset .admonition.success,.md-typeset details.success{background:var(--md-admonition-bg-color--success)}.md-typeset .admonition.success>.admonition-title::before,.md-typeset details.success>.admonition-title::before,.md-typeset details.success>summary::before{background-color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.success>.admonition-title::after,.md-typeset details.success>.admonition-title::after,.md-typeset details.success>summary::after{color:var(--md-admonition-icon-color--success)}.md-typeset .admonition.question,.md-typeset details.question{background:var(--md-admonition-bg-color--question)}.md-typeset .admonition.question>.admonition-title::before,.md-typeset details.question>.admonition-title::before,.md-typeset details.question>summary::before{background-color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.question>.admonition-title::after,.md-typeset details.question>.admonition-title::after,.md-typeset details.question>summary::after{color:var(--md-admonition-icon-color--question)}.md-typeset .admonition.warning,.md-typeset details.warning{background:var(--md-admonition-bg-color--warning)}.md-typeset .admonition.warning>.admonition-title::before,.md-typeset details.warning>.admonition-title::before,.md-typeset details.warning>summary::before{background-color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.warning>.admonition-title::after,.md-typeset details.warning>.admonition-title::after,.md-typeset details.warning>summary::after{color:var(--md-admonition-icon-color--warning)}.md-typeset .admonition.failure,.md-typeset details.failure{background:var(--md-admonition-bg-color--failure)}.md-typeset .admonition.failure>.admonition-title::before,.md-typeset details.failure>.admonition-title::before,.md-typeset details.failure>summary::before{background-color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.failure>.admonition-title::after,.md-typeset details.failure>.admonition-title::after,.md-typeset details.failure>summary::after{color:var(--md-admonition-icon-color--failure)}.md-typeset .admonition.danger,.md-typeset details.danger{background:var(--md-admonition-bg-color--danger)}.md-typeset .admonition.danger>.admonition-title::before,.md-typeset details.danger>.admonition-title::before,.md-typeset details.danger>summary::before{background-color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.danger>.admonition-title::after,.md-typeset details.danger>.admonition-title::after,.md-typeset details.danger>summary::after{color:var(--md-admonition-icon-color--danger)}.md-typeset .admonition.bug,.md-typeset details.bug{background:var(--md-admonition-bg-color--bug)}.md-typeset .admonition.bug>.admonition-title::before,.md-typeset details.bug>.admonition-title::before,.md-typeset details.bug>summary::before{background-color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.bug>.admonition-title::after,.md-typeset details.bug>.admonition-title::after,.md-typeset details.bug>summary::after{color:var(--md-admonition-icon-color--bug)}.md-typeset .admonition.example,.md-typeset details.example{background:var(--md-admonition-bg-color--example)}.md-typeset .admonition.example>.admonition-title::before,.md-typeset details.example>.admonition-title::before,.md-typeset details.example>summary::before{background-color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.example>.admonition-title::after,.md-typeset details.example>.admonition-title::after,.md-typeset details.example>summary::after{color:var(--md-admonition-icon-color--example)}.md-typeset .admonition.quote,.md-typeset details.quote{background:var(--md-admonition-bg-color--quote)}.md-typeset .admonition.quote>.admonition-title::before,.md-typeset details.quote>.admonition-title::before,.md-typeset details.quote>summary::before{background-color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.quote>.admonition-title::after,.md-typeset details.quote>.admonition-title::after,.md-typeset details.quote>summary::after{color:var(--md-admonition-icon-color--quote)}.md-typeset .admonition.settings,.md-typeset details.settings{background:var(--md-admonition-bg-color--settings)}.md-typeset .admonition.settings>.admonition-title::before,.md-typeset details.settings>.admonition-title::before,.md-typeset details.settings>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--settings);background-size:1rem;mask-image:var(--md-admonition-icon--settings);content:\" \"}.md-typeset .admonition.settings>.admonition-title::after,.md-typeset details.settings>.admonition-title::after,.md-typeset details.settings>summary::after{color:var(--md-admonition-icon-color--settings)}.md-typeset .admonition.new,.md-typeset details.new{background:var(--md-admonition-bg-color--new)}.md-typeset .admonition.new>.admonition-title::before,.md-typeset details.new>.admonition-title::before,.md-typeset details.new>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--new);background-size:1rem;mask-image:var(--md-admonition-icon--new);content:\" \"}.md-typeset .admonition.new>.admonition-title::after,.md-typeset details.new>.admonition-title::after,.md-typeset details.new>summary::after{color:var(--md-admonition-icon-color--new)}.md-typeset .admonition.important,.md-typeset details.important{background:var(--md-admonition-bg-color--important)}.md-typeset .admonition.important>.admonition-title::before,.md-typeset details.important>.admonition-title::before,.md-typeset details.important>summary::before{width:1rem;height:1rem;background-color:var(--md-admonition-icon-color--important);background-size:1rem;mask-image:var(--md-admonition-icon--important);content:\" \"}.md-typeset .admonition.important>.admonition-title::after,.md-typeset details.important>.admonition-title::after,.md-typeset details.important>summary::after{color:var(--md-admonition-icon-color--important)}mjx-container[display=true]{font-size:120% !important}mjx-container:not([display]){font-size:100% !important}.md-typeset .arithmatex{overflow-x:auto !important;overflow-y:hidden !important}.katex-display .katex-html{display:flex !important;flex-direction:row;flex-wrap:nowrap;align-items:baseline;justify-content:space-between}.katex-display .katex-html .base{display:inline !important}.katex-display .katex-html .tag{position:relative !important;display:inline !important;margin-left:var(--margin-small)}.CtxtMenu_InfoClose{top:.2em;right:.2em}.CtxtMenu_InfoContent{overflow:auto;text-align:left;font-size:80%;padding:.4em .6em;border:1px inset;margin:1em 0px;max-height:20em;max-width:30em;background-color:#eee;white-space:normal}.CtxtMenu_Info.CtxtMenu_MousePost{outline:none}.CtxtMenu_Info{position:fixed;left:50%;width:auto;text-align:center;border:3px outset;padding:1em 2em;background-color:#ddd;color:#000;cursor:default;font-family:message-box;font-size:120%;font-style:normal;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:15px;-webkit-border-radius:15px;-moz-border-radius:15px;-khtml-border-radius:15px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray;filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=\"gray\", Positive=\"true\")}.CtxtMenu_MenuClose{position:absolute;cursor:pointer;display:inline-block;border:2px solid #aaa;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;font-family:\"Courier New\",Courier;font-size:24px;color:#f0f0f0}.CtxtMenu_MenuClose span{display:block;background-color:#aaa;border:1.5px solid;border-radius:18px;-webkit-border-radius:18px;-moz-border-radius:18px;-khtml-border-radius:18px;line-height:0;padding:8px 0 6px}.CtxtMenu_MenuClose:hover{color:#fff !important;border:2px solid #ccc !important}.CtxtMenu_MenuClose:hover span{background-color:#ccc !important}.CtxtMenu_MenuClose:hover:focus{outline:none}.CtxtMenu_Menu{position:absolute;background-color:#fff;color:#000;width:auto;padding:5px 0px;border:1px solid #ccc;margin:0;cursor:default;font:menu;text-align:left;text-indent:0;text-transform:none;line-height:normal;letter-spacing:normal;word-spacing:normal;word-wrap:normal;white-space:nowrap;float:none;z-index:201;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-khtml-border-radius:5px;box-shadow:0px 10px 20px gray;-webkit-box-shadow:0px 10px 20px gray;-moz-box-shadow:0px 10px 20px gray;-khtml-box-shadow:0px 10px 20px gray}.CtxtMenu_MenuItem{padding:1px 2em;background:rgba(0,0,0,0)}.CtxtMenu_MenuArrow{position:absolute;right:.5em;padding-top:.25em;color:#666;font-size:.75em}.CtxtMenu_MenuActive .CtxtMenu_MenuArrow{color:#fff}.CtxtMenu_MenuArrow.CtxtMenu_RTL{left:.5em;right:auto}.CtxtMenu_MenuCheck{position:absolute;left:.7em}.CtxtMenu_MenuCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuRadioCheck{position:absolute;left:.7em}.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL{right:.7em;left:auto}.CtxtMenu_MenuInputBox{padding-left:1em;right:.5em;color:#666}.CtxtMenu_MenuInputBox.CtxtMenu_RTL{left:.1em}.CtxtMenu_MenuComboBox{left:.1em;padding-bottom:.5em}.CtxtMenu_MenuSlider{left:.1em}.CtxtMenu_SliderValue{position:absolute;right:.1em;padding-top:.25em;color:#333;font-size:.75em}.CtxtMenu_SliderBar{outline:none;background:#d3d3d3}.CtxtMenu_MenuLabel{padding:1px 2em 3px 1.33em;font-style:italic}.CtxtMenu_MenuRule{border-top:1px solid #ddd;margin:4px 3px}.CtxtMenu_MenuDisabled{color:GrayText}.CtxtMenu_MenuActive{background-color:#606872;color:#fff}.CtxtMenu_MenuDisabled:focus{background-color:#e8e8e8}.CtxtMenu_MenuLabel:focus{background-color:#e8e8e8}.CtxtMenu_ContextMenu:focus{outline:none}.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus{outline:none}.CtxtMenu_SelectionMenu{position:relative;float:left;border-bottom:none;-webkit-box-shadow:none;-webkit-border-radius:0px}.CtxtMenu_SelectionItem{padding-right:1em}.CtxtMenu_Selection{right:40%;width:50%}.CtxtMenu_SelectionBox{padding:0em;max-height:20em;max-width:none;background-color:#fff}.CtxtMenu_SelectionDivider{clear:both;border-top:2px solid #000}.CtxtMenu_Menu .CtxtMenu_MenuClose{top:-10px;left:-10px}[data-md-color-scheme=slate] .CtxtMenu_InfoSignature input,[data-md-color-scheme=slate] .CtxtMenu_InfoContent pre{color:#000}[data-md-color-scheme=slate] .CtxtMenu_Info,[data-md-color-scheme=slate] .CtxtMenu_Menu{box-shadow:0px 10px 20px rgba(0,0,0,.5)}.md-typeset del.critic,.md-typeset ins.critic,.md-typeset mark.critic{padding:0 .25em;color:unset;box-shadow:none}.md-typeset .critic.break{margin:0}.md-typeset details{overflow:hidden}.md-typeset details>summary:focus{outline-style:none}:root>*{--highlight-svg-console: svg-load(\"@mdi/svg/svg/console.svg\");--highlight-svg-arrow-expand: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");--highlight-svg-arrow-collapse: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\")}.highlight .hll{box-shadow:2px 0 0 0 var(--md-accent-fg-color) inset}.highlight .kc{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne{color:var(--md-code-hl-class-color)}.highlight .mb{color:var(--md-code-hl-number-color)}.highlight .nb,.highlight .bp{color:var(--md-code-hl-builtin-color)}.highlight .nn{color:var(--md-code-hl-namespace-color)}.highlight .na,.highlight .nd,.highlight .ni{color:var(--md-code-hl-entity-color)}.highlight .nl,.highlight .nt{color:var(--md-code-hl-tag-color)}.md-typeset *:not(pre)>code{margin:0;padding:.1654411765em .3125em;color:var(--md-code-fg-color);background-color:var(--md-code-inline-bg-color);border-radius:.2rem;box-shadow:none}.md-typeset pre>code{display:grid}.md-typeset td code{word-break:normal}.md-typeset .highlight{tab-size:8}.md-typeset .highlight [data-linenos]:hover::before{color:var(--md-accent-fg-color);font-weight:700}.md-typeset .highlight [data-linenos].special::before{background-color:var(--md-code-special-bg-color)}.md-typeset .highlight .hll [data-linenos]::before{box-shadow:-2px 0 var(--md-accent-fg-color) inset}.md-typeset .highlighttable .linenodiv .special{margin-right:-.5882352941em;margin-left:-1.1764705882em;padding-right:.5882352941em;padding-left:1.1764705882em;background-color:var(--md-code-special-bg-color)}.md-typeset .highlight span.filename{position:relative;display:block;margin-top:1em;padding:.5em 1.1764705882em .5em 2.9411764706em;font-weight:700;font-size:.68rem;background-color:var(--md-code-title-bg-color);border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .highlight span.filename+pre{margin-top:0}.md-typeset .highlight span.filename+pre code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .highlight span.filename::before{position:absolute;left:.8823529412em;width:1.4705882353em;height:1.4705882353em;background-color:var(--md-default-fg-color);mask-image:var(--highlight-svg-console);mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset .collapse-code{position:relative;margin-top:1em;margin-bottom:1em}.md-typeset .collapse-code pre{margin-top:0;margin-bottom:0}.md-typeset .collapse-code input{display:none}.md-typeset .collapse-code input~.code-footer{width:100%;margin:0;padding:.25em .5em .25em 0em}.md-typeset .collapse-code input~.code-footer label{position:relative;margin:.05em;padding:.15em .8em;color:var(--md-primary-bg-color);font-size:90%;background-color:var(--md-accent-fg-color);mask-repeat:no-repeat;mask-size:contain;border-radius:.1rem;cursor:pointer;content:\"\"}.md-typeset .collapse-code input~.code-footer label:hover{background-color:var(--md-accent-fg-color)}.md-typeset .collapse-code input~.code-footer label::before{position:absolute;top:.15em;left:.15em;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-primary-bg-color);background-size:1.25em;content:\"\"}.md-typeset .collapse-code input~.code-footer label.expand{display:none}.md-typeset .collapse-code input~.code-footer label.expand::before{mask-image:var(--highlight-svg-arrow-expand)}.md-typeset .collapse-code input~.code-footer label.collapse::before{mask-image:var(--highlight-svg-arrow-collapse)}.md-typeset .collapse-code input:checked~.code-footer label.expand{display:inline}.md-typeset .collapse-code input:checked~.code-footer label.collapse{display:none}.md-typeset .collapse-code input:checked+div.highlight code{max-height:9.375em;overflow:hidden}.md-typeset .collapse-code input:checked~.code-footer{position:relative;bottom:4.3em;left:0;margin-bottom:-4.3em;padding:2em .5em .5em .8rem;background-image:linear-gradient(to bottom, transparent, var(--md-default-bg-color) 80% 100%);border-bottom-right-radius:.48rem;border-bottom-left-radius:.48rem}@media screen and (max-width: 44.9375em){.md-content__inner>diagram-div{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.highlight span.filename{border-top-left-radius:0;border-top-right-radius:0}.md-content__inner>.collapse-code{margin-right:-0.8rem;margin-left:-0.8rem}.md-content__inner>.collapse-code label.collapse{left:.8rem}}.md-typeset .highlight+.result{border-right-width:.1rem;border-bottom-width:.1rem;border-left-width:.1rem}.md-typeset .keys .key-power::before{padding-right:.4em;content:\"⏻\"}.md-typeset .keys .key-fingerprint::before{padding-right:.4em;content:\"☝\"}:root>*{--magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");--magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");--magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");--magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");--magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");--magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");--magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");--magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");--magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\")}.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before{mask-image:var(--magiclink-email-icon)}.md-typeset .magiclink-repository:not(.magiclink-ignore),.md-typeset .magiclink-compare:not(.magiclink-ignore),.md-typeset .magiclink-commit:not(.magiclink-ignore),.md-typeset .magiclink-pull:not(.magiclink-ignore),.md-typeset .magiclink-issue:not(.magiclink-ignore),.md-typeset .magiclink-discussion:not(.magiclink-ignore),.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore){position:relative;padding-left:1.375em}.md-typeset .magiclink-repository:not(.magiclink-ignore)::before,.md-typeset .magiclink-compare:not(.magiclink-ignore)::before,.md-typeset .magiclink-commit:not(.magiclink-ignore)::before,.md-typeset .magiclink-pull:not(.magiclink-ignore)::before,.md-typeset .magiclink-issue:not(.magiclink-ignore)::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before,.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore)::before{position:absolute;top:0;left:0;display:block;box-sizing:border-box;width:1.25em;height:1.25em;background-color:var(--md-typeset-a-color);background-size:1.25em;transition:background-color 125ms;mask-repeat:no-repeat;mask-size:contain;content:\"\"}.md-typeset .magiclink-repository:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-compare:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-commit:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-pull:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-issue:not(.magiclink-ignore):hover::before,.md-typeset .magiclink-discussion:not(.magiclink-ignore):hover::before,.md-typeset a[href^=\"mailto:\"]:not(.magiclink-ignore):hover::before{background-color:var(--md-accent-fg-color)}.md-typeset .magiclink-commit:not(.magiclink-ignore)::before{mask-image:var(--magiclink-commit-icon)}.md-typeset .magiclink-compare:not(.magiclink-ignore)::before{mask-image:var(--magiclink-compare-icon)}.md-typeset .magiclink-pull:not(.magiclink-ignore)::before{mask-image:var(--magiclink-pull-icon)}.md-typeset .magiclink-issue:not(.magiclink-ignore)::before{mask-image:var(--magiclink-issue-icon)}.md-typeset .magiclink-discussion:not(.magiclink-ignore)::before{mask-image:var(--magiclink-discussion-icon)}.md-typeset .magiclink-repository.magiclink-github:not(.magiclink-ignore)::before{mask-image:var(--magiclink-github-icon)}.md-typeset .magiclink-repository.magiclink-gitlab:not(.magiclink-ignore)::before{mask-image:var(--magiclink-gitlab-icon)}.md-typeset .magiclink-repository.magiclink-bitbucket:not(.magiclink-ignore)::before{mask-image:var(--magiclink-bitbucket-icon)}.md-typeset mark:not(.critic){box-shadow:none}.md-typeset .progress-label{position:absolute;width:100%;margin:0;color:var(--md-text-color);font-weight:700;line-height:1.4rem;white-space:nowrap;text-align:center;text-shadow:-0.0625em -0.0625em .375em var(--md-default-bg-color--light),.0625em -0.0625em .375em var(--md-default-bg-color--light),-0.0625em .0625em .375em var(--md-default-bg-color--light),.0625em .0625em .375em var(--md-default-bg-color--light)}.md-typeset .progress-bar{float:left;height:1.2rem;background-color:#2979ff}.md-typeset .candystripe-animate .progress-bar{animation:animate-stripes 3s linear infinite}.md-typeset .progress{position:relative;display:block;width:100%;height:1.2rem;margin:.5rem 0;background-color:var(--md-default-fg-color--lightest)}.md-typeset .progress.thin{height:.4rem;margin-top:.9rem}.md-typeset .progress.thin .progress-label{margin-top:-0.4rem}.md-typeset .progress.thin .progress-bar{height:.4rem}.md-typeset .progress.candystripe .progress-bar{background-image:linear-gradient(135deg, var(--md-progress-stripe) 27%, transparent 27%, transparent 52%, var(--md-progress-stripe) 52%, var(--md-progress-stripe) 77%, transparent 77%, transparent);background-size:2rem 2rem}.md-typeset .progress-100plus .progress-bar{background-color:var(--md-progress-100)}.md-typeset .progress-80plus .progress-bar{background-color:var(--md-progress-80)}.md-typeset .progress-60plus .progress-bar{background-color:var(--md-progress-60)}.md-typeset .progress-40plus .progress-bar{background-color:var(--md-progress-40)}.md-typeset .progress-20plus .progress-bar{background-color:var(--md-progress-20)}.md-typeset .progress-0plus .progress-bar{background-color:var(--md-progress-0)}@keyframes animate-stripes{0%{background-position:0 0}100%{background-position:6rem 0}}.md-typeset .tabbed-control button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.md-typeset .tabbed-control--next button:hover{color:var(--md-default-bg-color);background:var(--md-accent-fg-color)}.js .md-typeset .tabbed-labels::before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control{width:2rem}.md-typeset .tabbed-alternate.tabbed-set .tabbed-control[hidden]{width:1.2rem;opacity:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block{padding:0 .6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child{margin-top:.9375em}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:first-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:first-child code{border-top-left-radius:.48rem;border-top-right-radius:.48rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>pre:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilite:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.codehilitetable:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlight:only-child span.filename,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.highlighttable:only-child span.filename{margin-top:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child{margin-top:0;margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child pre code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilite code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .codehilitetable code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlight code,.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>.collapse-code:only-child .highlighttable code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-alternate.tabbed-set>.tabbed-content>.tabbed-block>diagram-div:only-child{margin-right:-1.2rem;margin-left:-1.2rem;padding-right:.6rem;padding-left:.6rem}@media screen and (max-width: 44.9375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:0}.md-content__inner>.tabbed-set .tabbed-labels{max-width:100%;margin:0;padding-inline-start:0;scroll-padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels::after{padding-inline-end:0;content:none}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-inline-start:0;padding-inline-start:0}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-inline-end:0;padding-inline-end:0}}[data-md-color-scheme=slate] .md-typeset .task-list-control .task-list-indicator::before{background-color:var(--md-default-fg-color--lighter)}[data-md-color-scheme=slate] .md-typeset .task-list-control [type=checkbox]:checked+.task-list-indicator::before{background-color:hsl(135,94%,65%)}:root>*{--toc-svg-link: svg-load(\"@mdi/svg/svg/link.svg\")}.md-typeset .headerlink{width:1em;height:1em;vertical-align:middle;background-color:var(--md-default-fg-color--lighter);background-size:1em;mask-size:1em;mask-repeat:no-repeat;visibility:visible;mask-image:var(--toc-svg-link)}.md-typeset .headerlink:hover,.md-typeset [id]:target .headerlink{background-color:var(--md-accent-fg-color)}diagram-div{overflow:auto}.md-typeset div.steps>ol{counter-reset:item}.md-typeset div.steps>ol>li{position:relative;padding-left:1em;list-style:none}.md-typeset div.steps>ol>li::before{position:absolute;top:0;left:0;z-index:-1;display:block;width:1.75em;height:1.75em;margin-left:-1.25em;color:var(--md-steps-fg-color);font-weight:600;font-size:.9em;text-align:center;background-color:var(--md-steps-bg-color);border:1px solid var(--md-steps-border-color);border-radius:100px;content:counter(item);counter-increment:item}.md-typeset div.steps>ol>li::after{position:absolute;top:0;bottom:0;left:-0.36em;display:block;width:1px;margin-top:2em;border-left:1px solid var(--md-steps-border-color);content:\"\"}.md-typeset table:not([class]){background:none;border-radius:.4rem}.md-typeset table:not([class]) th{border-bottom:.1rem solid var(--md-accent-fg-color)}html{background-color:rgba(0,0,0,0)}[data-md-component=announce] .twemoji{color:var(--md-primary-fg-color)}.md-container .md-tabs .md-tabs__item--active{border-bottom:.1rem solid var(--md-accent-fg-color)}.md-nav--secondary>ul{border-left:.1rem solid var(--md-default-fg-color--lightest)}.md-nav--secondary ul .md-nav__item .md-nav__link--active{margin-left:-0.1rem;padding-left:.8rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-0.7rem;padding-left:1.4rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.3rem;padding-left:2rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-1.9rem;padding-left:2.6rem}.md-nav--secondary ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item ul .md-nav__item .md-nav__link--active{margin-left:-2.5rem;padding-left:3.2rem}.md-nav--secondary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav--secondary .md-nav__item .md-nav__link--active{color:var(--md-default-fg-color);border-left:.1rem solid var(--md-accent-fg-color);border-top-left-radius:0;border-bottom-left-radius:0}.md-nav--secondary .md-nav__item .md-nav__link:focus,.md-nav--secondary .md-nav__item .md-nav__link:hover{color:var(--md-default-fg-color)}.md-nav--primary .md-nav__item{color:var(--md-default-fg-color--light)}.md-nav__source{color:var(--md-text-color)}.md-nav__link[data-md-state=blur]{color:var(--md-default-fg-color--light)}.md-typeset h5{color:var(--md-text-color);text-transform:none}.md-typeset__scrollwrap,.md-sidebar__scrollwrap,.md-search__scrollwrap,.md-typeset pre>code,.md-typeset div.mermaid,.md-typeset div.diagram,.md-typeset mermaid-div,.md-typeset diagram-div,.md-typeset pre.arithmatex,.md-typeset div.arithmatex{scrollbar-color:var(--md-default-fg-color--lighter) rgba(0,0,0,0);scrollbar-width:thin}.md-typeset__scrollwrap:hover,.md-sidebar__scrollwrap:hover,.md-search__scrollwrap:hover,.md-typeset pre>code:hover,.md-typeset div.mermaid:hover,.md-typeset div.diagram:hover,.md-typeset mermaid-div:hover,.md-typeset diagram-div:hover,.md-typeset pre.arithmatex:hover,.md-typeset div.arithmatex:hover{scrollbar-color:var(--md-accent-fg-color) rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar,.md-sidebar__scrollwrap::-webkit-scrollbar,.md-search__scrollwrap::-webkit-scrollbar,.md-typeset pre>code::-webkit-scrollbar,.md-typeset div.mermaid::-webkit-scrollbar,.md-typeset div.diagram::-webkit-scrollbar,.md-typeset mermaid-div::-webkit-scrollbar,.md-typeset diagram-div::-webkit-scrollbar,.md-typeset pre.arithmatex::-webkit-scrollbar,.md-typeset div.arithmatex::-webkit-scrollbar{width:.2rem;height:.2rem}.md-typeset__scrollwrap::-webkit-scrollbar-corner,.md-sidebar__scrollwrap::-webkit-scrollbar-corner,.md-search__scrollwrap::-webkit-scrollbar-corner,.md-typeset pre>code::-webkit-scrollbar-corner,.md-typeset div.mermaid::-webkit-scrollbar-corner,.md-typeset div.diagram::-webkit-scrollbar-corner,.md-typeset mermaid-div::-webkit-scrollbar-corner,.md-typeset diagram-div::-webkit-scrollbar-corner,.md-typeset pre.arithmatex::-webkit-scrollbar-corner,.md-typeset div.arithmatex::-webkit-scrollbar-corner{background-color:rgba(0,0,0,0)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb,.md-search__scrollwrap::-webkit-scrollbar-thumb,.md-typeset pre>code::-webkit-scrollbar-thumb,.md-typeset div.mermaid::-webkit-scrollbar-thumb,.md-typeset div.diagram::-webkit-scrollbar-thumb,.md-typeset mermaid-div::-webkit-scrollbar-thumb,.md-typeset diagram-div::-webkit-scrollbar-thumb,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb,.md-typeset div.arithmatex::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset__scrollwrap::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap::-webkit-scrollbar-thumb:hover,.md-search__scrollwrap::-webkit-scrollbar-thumb:hover,.md-typeset pre>code::-webkit-scrollbar-thumb:hover,.md-typeset div.mermaid::-webkit-scrollbar-thumb:hover,.md-typeset div.diagram::-webkit-scrollbar-thumb:hover,.md-typeset mermaid-div::-webkit-scrollbar-thumb:hover,.md-typeset diagram-div::-webkit-scrollbar-thumb:hover,.md-typeset pre.arithmatex::-webkit-scrollbar-thumb:hover,.md-typeset div.arithmatex::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}","@use \"sass:color\";\n@use \"../utilities/convert\";\n@use \"../utilities/color_tools\";\n@use \"./material_color\";\n@use \"./dracula\";\n@use \"sass:list\";\n\n:root > * {\n // Custom code colors\n --md-default-bg-color--trans: rgb(100%, 100%, 100%, 0);\n --md-tab-control-bg: var(--md-default-bg-color);\n\n // Code colors\n --md-code-fg-color: #{dracula.$alucard-fg};\n --md-code-bg-color: #{dracula.$alucard-bg};\n --md-code-title-bg-color: #{dracula.$alucard-bg};\n --md-code-inline-bg-color: #{dracula.$alucard-bg};\n --md-code-hl-operator-color: #{dracula.$alucard-pink};\n --md-code-hl-punctuation-color: #{dracula.$alucard-fg};\n --md-code-hl-string-color: #{dracula.$alucard-yellow};\n --md-code-hl-special-color: #{dracula.$alucard-purple};\n --md-code-hl-number-color: #{dracula.$alucard-purple};\n --md-code-hl-keyword-color: #{dracula.$alucard-pink};\n --md-code-hl-name-color: #{dracula.$alucard-fg};\n --md-code-hl-constant-color: #{dracula.$alucard-purple};\n --md-code-hl-function-color: #{dracula.$alucard-green};\n --md-code-hl-comment-color: #{dracula.$alucard-comment};\n --md-code-hl-variable-color: #{dracula.$alucard-orange};\n --md-code-hl-generic-color: #{dracula.$alucard-comment};\n --md-code-hl-color: #{dracula.$alucard-selection};\n --md-code-hl-color--light: #{dracula.$alucard-highlight};\n\n // Table colors\n --md-typeset-table-color: rgb(0% 0% 0% / 15%);\n\n // Custom code colors\n --md-code-hl-entity-color: #{dracula.$alucard-green};\n --md-code-hl-tag-color: #{dracula.$alucard-pink};\n --md-code-hl-namespace-color: #{dracula.$alucard-fg};\n --md-code-hl-builtin-color: #{dracula.$alucard-cyan};\n --md-code-hl-class-color: #{dracula.$alucard-cyan};\n\n --md-code-special-bg-color: #{dracula.$alucard-highlight};\n\n // List steps\n --md-steps-bg-color: var(--md-code-bg-color);\n --md-steps-fg-color: var(--md-code-fg-color);\n --md-steps-border-color: hsla(0, 0%, 75%, 1);\n\n // Various Material related color variables\n --md-typeset-a-color: #{material_color.$clr-cyan-500};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lighter);\n --md-progress-100: #{material_color.$clr-green-a400};\n --md-progress-80: #{material_color.$clr-green-a400};\n --md-progress-60: #{material_color.$clr-yellow-700};\n --md-progress-40: #{material_color.$clr-orange-a400};\n --md-progress-20: #{material_color.$clr-red-a200};\n --md-progress-0: #{material_color.$clr-red-a400};\n\n // Keys colors\n --md-typeset-kbd-color: #{color_tools.shade(hsla(0, 100%, 100%, 1), 8%)};\n --md-typeset-kbd-border-color: #{color_tools.shade(hsla(0, 100%, 100%, 1), 28%)};\n --md-typeset-kbd-accent-color: hsla(0, 100%, 100%, 1);\n\n // Dark mode color changes\n &[data-md-color-scheme=\"slate\"] {\n // Default color shades\n --md-default-fg-color: #{color.adjust(dracula.$drac-fg, $alpha: -0.13)};\n --md-default-fg-color--light: #{color.adjust(dracula.$drac-fg, $alpha: -0.46)};\n --md-default-fg-color--lighter: #{color.adjust(dracula.$drac-fg, $alpha: -0.64)};\n --md-default-fg-color--lightest: #{color.adjust(dracula.$drac-fg, $alpha: -0.88)};\n --md-default-autocomplete-fg-color: #{color.adjust(dracula.$drac-fg, $alpha: -0.60)};\n --md-shadow-z2: 0 #{convert.px2rem(4px)} #{convert.px2rem(10px)} hsla(0, 0%, 0%, 0.3),\n 0 0 #{convert.px2rem(1px)} hsla(0, 0%, 0%, 0.2);\n\n --md-footer-fg-color: var(--md-default-fg-color);\n\n --md-default-bg-color: var(--md-default-bg-color--darkest);\n --md-default-bg-color--light: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 50%, $method: oklab), $alpha: -0.3)};\n --md-default-bg-color--lighter: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 50%, $method: oklab), $alpha: -0.6)};\n --md-default-bg-color--lightest: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 50%, $method: oklab), $alpha: -0.9)};\n --md-default-bg-color--trans: #{color.adjust(color.mix(color(srgb 0 0 0), dracula.$drac-bg, 50%, $method: oklab), $alpha: -1)};\n\n --md-tab-control-bg: var(--md-default-bg-color--dark);\n\n // Dark specific colors\n --md-default-bg-color--dark: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 15%, $method: oklab)};\n --md-default-bg-color--darker: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 30%, $method: oklab)};\n --md-default-bg-color--darkest: #{color.mix(color(srgb 0 0 0), dracula.$drac-bg, 50%, $method: oklab)};\n\n // General text\n --md-text-color: var(--md-default-fg-color);\n --md-typeset-color: var(--md-default-fg-color);\n\n // Admonition colors\n --md-admonition-fg-color: var(--md-default-fg-color);\n\n // Code colors\n --md-code-fg-color: #{dracula.$drac-fg};\n --md-code-bg-color: #{dracula.$drac-bg};\n --md-code-title-bg-color: #{dracula.$drac-bg};\n --md-code-inline-bg-color: #{dracula.$drac-bg};\n --md-code-hl-operator-color: #{dracula.$drac-pink};\n --md-code-hl-punctuation-color: #{dracula.$drac-fg};\n --md-code-hl-string-color: #{dracula.$drac-yellow};\n --md-code-hl-special-color: #{dracula.$drac-purple};\n --md-code-hl-number-color: #{dracula.$drac-purple};\n --md-code-hl-keyword-color: #{dracula.$drac-pink};\n --md-code-hl-name-color: #{dracula.$drac-fg};\n --md-code-hl-constant-color: #{dracula.$drac-purple};\n --md-code-hl-function-color: #{dracula.$drac-green};\n --md-code-hl-comment-color: #{dracula.$drac-comment};\n --md-code-hl-variable-color: #{dracula.$drac-orange};\n --md-code-hl-generic-color: #{dracula.$drac-comment};\n --md-code-hl-color: #{dracula.$drac-selection};\n --md-code-hl-color--light: #{dracula.$drac-highlight};\n --md-code-bg-color--light: #{color.change(dracula.$drac-bg, $alpha: 0.9)};\n --md-code-bg-color--lighter: #{color.change(dracula.$drac-bg, $alpha: 0.5)};\n\n // Table colors\n --md-typeset-table-color: rgb(100% 100% 100% / 15%);\n\n // Custom code colors\n --md-code-hl-entity-color: #{dracula.$drac-green};\n --md-code-hl-tag-color: #{dracula.$drac-pink};\n --md-code-hl-namespace-color: #{dracula.$drac-fg};\n --md-code-hl-builtin-color: #{dracula.$drac-cyan};\n --md-code-hl-class-color: #{dracula.$drac-cyan};\n\n --md-code-special-bg-color: #{dracula.$drac-highlight};\n\n // List steps\n --md-steps-border-color: #{color.adjust(dracula.$drac-bg, $lightness: 10%, $space: oklab)};\n\n // Various Material related color variables\n --md-typeset-a-color: #{dracula.$drac-cyan};\n --md-typeset-mark-color: #{color.mix(dracula.$drac-yellow, dracula.$drac-bg, 35%, $method: oklab)};\n --md-typeset-del-color: #{color.mix(dracula.$drac-pink, dracula.$drac-bg, 35%, $method: oklab)};\n --md-typeset-ins-color: #{color.mix(dracula.$drac-green, dracula.$drac-bg, 35%, $method: oklab)};\n\n // Progressbar colors\n --md-progress-stripe: var(--md-default-bg-color--lightest);\n\n --md-progress-100: #{dracula.$drac-green};\n --md-progress-80: #{color.mix(dracula.$drac-green, dracula.$drac-yellow, $method: oklab)};\n --md-progress-60: #{dracula.$drac-yellow};\n --md-progress-40: #{dracula.$drac-orange};\n --md-progress-20: #{dracula.$drac-pink};\n --md-progress-0: #{dracula.$drac-red};\n\n // Keys colors\n --md-typeset-kbd-color: var(--md-default-fg-color--lightest);\n --md-typeset-kbd-border-color: var(--md-default-bg-color--dark);\n --md-typeset-kbd-accent-color: var(--md-default-fg-color--lighter);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: primary colors\n// ----------------------------------------------------------------------------\n\n@each $name, $colors in (\n \"red\": dracula.$drac-red color.adjust(dracula.$drac-red, $lightness: 5%) color.adjust(dracula.$drac-red, $lightness: -5%),\n \"pink\": dracula.$drac-pink color.adjust(dracula.$drac-pink, $lightness: 5%) color.adjust(dracula.$drac-pink, $lightness: -5%),\n \"purple\": dracula.$drac-purple color.adjust(dracula.$drac-purple, $lightness: 5%) color.adjust(dracula.$drac-purple, $lightness: -5%),\n \"deep-purple\": dracula.$drac-purple color.adjust(dracula.$drac-purple, $lightness: 5%) color.adjust(dracula.$drac-purple, $lightness: -5%),\n \"blue\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"indigo\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"light-blue\": dracula.$drac-blue color.adjust(dracula.$drac-blue, $lightness: 5%) color.adjust(dracula.$drac-blue, $lightness: -5%),\n \"cyan\": dracula.$drac-cyan color.adjust(dracula.$drac-cyan, $lightness: 5%) color.adjust(dracula.$drac-cyan, $lightness: -5%),\n \"teal\": dracula.$drac-cyan color.adjust(dracula.$drac-cyan, $lightness: 5%) color.adjust(dracula.$drac-cyan, $lightness: -5%),\n \"green\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"light-green\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"lime\": dracula.$drac-green color.adjust(dracula.$drac-green, $lightness: 5%) color.adjust(dracula.$drac-green, $lightness: -5%),\n \"yellow\": dracula.$drac-yellow color.adjust(dracula.$drac-yellow, $lightness: 5%) color.adjust(dracula.$drac-yellow, $lightness: -5%),\n \"amber\": dracula.$drac-yellow color.adjust(dracula.$drac-yellow, $lightness: 5%) color.adjust(dracula.$drac-yellow, $lightness: -5%),\n \"orange\": dracula.$drac-orange color.adjust(dracula.$drac-orange, $lightness: 5%) color.adjust(dracula.$drac-orange, $lightness: -5%),\n \"deep-orange\": dracula.$drac-orange color.adjust(dracula.$drac-orange, $lightness: 5%) color.adjust(dracula.$drac-orange, $lightness: -5%)\n) {\n\n // Color palette\n [data-md-color-scheme=\"slate\"][data-md-color-primary=\"#{$name}\"],\n [data-md-color-scheme=\"slate\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"]\n {\n\n --md-primary-code-bg-color: #{color.mix(dracula.$drac-bg, list.nth($colors, 1), 85%, $method: oklab)};\n --md-primary-fg-color: hsla(#{convert.hex2hsl(list.nth($colors, 1))}, 1);\n --md-primary-fg-color--transparent: hsla(#{convert.hex2hsl(list.nth($colors, 1))}, 0.2);\n --md-primary-fg-color--light: hsla(#{convert.hex2hsl(list.nth($colors, 2))}, 1);\n --md-primary-fg-color--dark: hsla(#{convert.hex2hsl(list.nth($colors, 3))}, 1);\n --md-primary-bg-color: var(--md-default-bg-color);\n --md-primary-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n\n// ----------------------------------------------------------------------------\n// Rules: accent colors\n// ----------------------------------------------------------------------------\n\n@each $name, $color in (\n \"red\": dracula.$drac-red,\n \"pink\": dracula.$drac-pink,\n \"purple\": dracula.$drac-purple,\n \"deep-purple\": dracula.$drac-purple,\n \"blue\": dracula.$drac-blue,\n \"indigo\": dracula.$drac-blue,\n \"light-blue\": dracula.$drac-blue,\n \"cyan\": dracula.$drac-cyan,\n \"teal\": dracula.$drac-cyan,\n \"green\": dracula.$drac-green,\n \"light-green\": dracula.$drac-green,\n \"lime\": dracula.$drac-green,\n \"yellow\": dracula.$drac-yellow,\n \"amber\": dracula.$drac-yellow,\n \"orange\": dracula.$drac-orange,\n \"deep-orange\": dracula.$drac-orange\n) {\n\n // Color palette\n [data-md-color-scheme=\"slate\"][data-md-color-accent=\"#{$name}\"],\n [data-md-color-scheme=\"slate\"] :not([data-md-color-scheme])[data-md-color-primary=\"#{$name}\"] {\n --md-code-link-accent-bg-color: #{color.mix($color, dracula.$drac-bg, 15%, $method: oklab)};\n --md-accent-fg-color: hsla(#{convert.hex2hsl($color)}, 1);\n --md-accent-fg-color--transparent: hsla(#{convert.hex2hsl($color)}, 0.2);\n --md-accent-bg-color: var(--md-default-bg-color);\n --md-accent-bg-color--light: var(--md-default-bg-color--light);\n }\n}\n","@use \"palette/material_color\";\n@use \"palette/dracula\";\n@use \"utilities/break\";\n@use \"utilities/convert\";\n\n/* Normal colors */\n:root {\n --md-heart: #{material_color.$clr-red-a200};\n --md-heart-big: #{material_color.$clr-red-a400};\n\n /* Dark mode colors */\n [data-md-color-scheme=\"slate\"] {\n --md-heart: #{dracula.$drac-red};\n --md-heart-big: #{dracula.$drac-pink};\n }\n}\n\n.md-typeset {\n\n a.source-link {\n position: relative;\n top: convert.px2rem(-12px);\n float: right;\n color: var(--md-default-fg-color--lighter);\n transition: color 125ms;\n\n &:hover {\n color: var(--md-accent-fg-color);\n }\n\n .twemoji {\n height: convert.px2rem(24px);\n\n svg {\n width: convert.px2rem(24px);\n height: convert.px2rem(24px);\n }\n }\n }\n\n div.highlight.md-max-height pre > code {\n max-height: convert.px2rem(300px);\n }\n}\n\n.twemoji {\n &.heart-throb, &.heart-throb-hover {\n svg {\n position: relative;\n color: var(--md-heart);\n animation: pulse 1.5s ease infinite;\n }\n }\n}\n\n@keyframes pulse {\n 0% { transform: scale(1); }\n 40% { color: var(--md-heart-big); transform: scale(1.3); }\n 50% { transform: scale(1.2); }\n 60% { color: var(--md-heart-big); transform: scale(1.3); }\n 100% { transform: scale(1); }\n}\n\nfooter.sponsorship {\n text-align: center;\n\n .twemoji {\n padding: convert.px2rem(1px);\n }\n\n a {\n text-decoration: none;\n }\n\n hr {\n display: inline-block;\n width: convert.px2rem(32px);\n margin: 0 convert.px2rem(14px);\n vertical-align: middle;\n border-bottom: 2px solid var(--md-default-fg-color--lighter);\n }\n\n &:hover {\n hr {\n border-color: var(--md-accent-fg-color);\n }\n }\n\n &:not(:hover) {\n .twemoji.heart-throb-hover svg{\n color: var(--md-default-fg-color--lighter) !important;\n }\n }\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"../utilities/convert\";\n@use \"../palette/material_color\";\n@use \"../palette/dracula\";\n\n$new-admonitions: (\n settings: dracula.$drac-pink material_color.$clr-purple-a700 \"@mdi/svg/svg/cog.svg\",\n new: dracula.$drac-yellow material_color.$clr-yellow-a700 \"@mdi/svg/svg/alert-decagram.svg\",\n important: color.mix(dracula.$drac-pink, dracula.$drac-purple, $method: oklab) material_color.$clr-deep-purple-a200 \"@mdi/svg/svg/comment-alert-outline.svg\"\n) !default;\n\n$old-admonitions: (\n note: dracula.$drac-blue material_color.$clr-blue-a200,\n abstract: color.mix(dracula.$drac-blue, dracula.$drac-cyan, $method: oklab) material_color.$clr-light-blue-a400,\n info: dracula.$drac-cyan material_color.$clr-cyan-a700,\n tip: color.mix(dracula.$drac-cyan, dracula.$drac-green, $method: oklab) material_color.$clr-teal-a700,\n success: dracula.$drac-green material_color.$clr-green-a700,\n question: color.mix(dracula.$drac-green, dracula.$drac-yellow, $method: oklab) material_color.$clr-light-green-a700,\n warning: dracula.$drac-orange material_color.$clr-orange-a400,\n failure: color.mix(dracula.$drac-orange, dracula.$drac-red, $method: oklab) material_color.$clr-red-a200,\n danger: dracula.$drac-red material_color.$clr-red-a400,\n bug: color.mix(dracula.$drac-red, dracula.$drac-pink, $method: oklab) material_color.$clr-pink-a400,\n example: dracula.$drac-purple material_color.$clr-deep-purple-a700,\n quote: dracula.$drac-grey material_color.$clr-grey\n) !default;\n\n/* Style new admonitions with dark or light colors */\n:root > * {\n --md-admonition-icon-color: #{dracula.$alucard-blue};\n --md-admonition-bg-color: #{color.adjust(dracula.$alucard-blue, $alpha: -0.9)};\n // --md-admonition-bg-color: #{color.mix(dracula.$alucard-blue, dracula.$alucard-bg, $weight: 12%, $method: oklab)};\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-icon-color: #{dracula.$drac-blue};\n --md-admonition-bg-color: #{color.adjust(dracula.$drac-blue, $alpha: -0.9)};\n }\n\n @each $names, $prop in $new-admonitions {\n $tint: list.nth($prop, 1);\n $tint2: list.nth($prop, 2);\n $name: list.nth($names, 1);\n\n & {\n --md-admonition-icon--#{$name}: svg-load(\"#{list.nth($prop, 3)}\");\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint2, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n }\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint};\n }\n }\n\n @each $names, $prop in $old-admonitions {\n $tint: list.nth($prop, 1);\n $tint2: list.nth($prop, 2);\n $name: list.nth($names, 1);\n\n & {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint2, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint2};\n }\n\n &[data-md-color-scheme=\"slate\"] {\n --md-admonition-bg-color--#{$name}: #{color.adjust($tint, $alpha: -0.9)};\n --md-admonition-icon-color--#{$name}: #{$tint};\n }\n }\n}\n\n/* Dark mode changes */\n.md-typeset .admonition {\n font-size: inherit;\n background: var(--md-admonition-bg-color--note);\n border-width: 0;\n border-left-width: 4px;\n\n > .admonition-title {\n &::before {\n background-color: var(--md-admonition-icon-color--note);\n }\n &::after {\n color: var(--md-admonition-icon-color--note);\n }\n }\n}\n\n/* Style existing admonitions with dark mode colors */\n@each $names, $prop in $old-admonitions {\n\n $name: list.nth($names, 1);\n $tint: list.nth($prop, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n background: var(--md-admonition-bg-color--#{$name});\n\n // Define base class\n > .admonition-title {\n\n // Icon\n &::before {\n background-color: var(--md-admonition-icon-color--#{$name});\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n}\n\n@each $names, $prop in $new-admonitions {\n $name: list.nth($names, 1);\n $tint: list.nth($prop, 1);\n\n // Define base class\n .md-typeset .admonition.#{$name} {\n background: var(--md-admonition-bg-color--#{$name});\n\n > .admonition-title {\n // Icon\n &::before {\n width: convert.px2rem(20px);\n height: convert.px2rem(20px);\n background-color: var(--md-admonition-icon-color--#{$name});\n background-size: convert.px2rem(20px);\n mask-image: var(--md-admonition-icon--#{$name});\n content: \"\\a0\";\n }\n &::after {\n color: var(--md-admonition-icon-color--#{$name});\n }\n }\n }\n}\n","mjx-container[display=true] {\n font-size: 120% !important;\n}\n\nmjx-container:not([display]) {\n font-size: 100% !important;\n}\n\n.md-typeset .arithmatex {\n overflow-x: auto !important;\n overflow-y: hidden !important;\n}\n\n// Fix tag overlap in `KaTeX`\n.katex-display {\n .katex-html {\n display: flex !important;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: baseline;\n justify-content: space-between;\n // overflow-x: auto;\n\n .base {\n display: inline !important;\n }\n\n .tag {\n position: relative !important;\n display: inline !important;\n margin-left: var(--margin-small);\n }\n }\n}\n\n/* Instant mode in the Material theme wipes out menu CSS and MathJax has no easy way of reinserting it */\n\n/* stylelint-disable */\n.CtxtMenu_InfoClose { top:.2em; right:.2em;}\n.CtxtMenu_InfoContent { overflow:auto; text-align:left; font-size:80%; padding:.4em .6em; border:1px inset; margin:1em 0px; max-height:20em; max-width:30em; background-color:#EEEEEE; white-space:normal;}\n.CtxtMenu_Info.CtxtMenu_MousePost {outline:none;}\n.CtxtMenu_Info { position:fixed; left:50%; width:auto; text-align:center; border:3px outset; padding:1em 2em; background-color:#DDDDDD; color:black; cursor:default; font-family:message-box; font-size:120%; font-style:normal; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 15px; /* Opera 10.5 and IE9 */ -webkit-border-radius:15px; /* Safari and Chrome */ -moz-border-radius:15px; /* Firefox */ -khtml-border-radius:15px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */ filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color=\"gray\", Positive=\"true\"); /* IE */}\n\n.CtxtMenu_MenuClose { position:absolute; cursor:pointer; display:inline-block; border:2px solid #AAA; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ font-family: \"Courier New\", Courier; font-size:24px; color:#F0F0F0}\n.CtxtMenu_MenuClose span { display:block; background-color:#AAA; border:1.5px solid; border-radius:18px; -webkit-border-radius: 18px; /* Safari and Chrome */ -moz-border-radius: 18px; /* Firefox */ -khtml-border-radius: 18px; /* Konqueror */ line-height:0; padding:8px 0 6px /* may need to be browser-specific */}\n.CtxtMenu_MenuClose:hover { color:white!important; border:2px solid #CCC!important}\n.CtxtMenu_MenuClose:hover span { background-color:#CCC!important}\n.CtxtMenu_MenuClose:hover:focus { outline:none}\n\n.CtxtMenu_Menu { position:absolute; background-color:white; color:black; width:auto; padding:5px 0px; border:1px solid #CCCCCC; margin:0; cursor:default; font: menu; text-align:left; text-indent:0; text-transform:none; line-height:normal; letter-spacing:normal; word-spacing:normal; word-wrap:normal; white-space:nowrap; float:none; z-index:201; border-radius: 5px; /* Opera 10.5 and IE9 */ -webkit-border-radius: 5px; /* Safari and Chrome */ -moz-border-radius: 5px; /* Firefox */ -khtml-border-radius: 5px; /* Konqueror */ box-shadow:0px 10px 20px #808080; /* Opera 10.5 and IE9 */ -webkit-box-shadow:0px 10px 20px #808080; /* Safari 3 & Chrome */ -moz-box-shadow:0px 10px 20px #808080; /* Forefox 3.5 */ -khtml-box-shadow:0px 10px 20px #808080; /* Konqueror */}\n.CtxtMenu_MenuItem { padding: 1px 2em; background:transparent;}\n.CtxtMenu_MenuArrow { position:absolute; right:.5em; padding-top:.25em; color:#666666; font-family: null; font-size: .75em}\n.CtxtMenu_MenuActive .CtxtMenu_MenuArrow {color:white}\n.CtxtMenu_MenuArrow.CtxtMenu_RTL {left:.5em; right:auto}\n.CtxtMenu_MenuCheck { position:absolute; left:.7em; font-family: null}\n.CtxtMenu_MenuCheck.CtxtMenu_RTL { right:.7em; left:auto }\n.CtxtMenu_MenuRadioCheck { position:absolute; left: .7em;}\n.CtxtMenu_MenuRadioCheck.CtxtMenu_RTL { right: .7em; left:auto}\n.CtxtMenu_MenuInputBox { padding-left: 1em; right:.5em; color:#666666; font-family: null;}\n.CtxtMenu_MenuInputBox.CtxtMenu_RTL { left: .1em;}\n.CtxtMenu_MenuComboBox { left:.1em; padding-bottom:.5em;}\n.CtxtMenu_MenuSlider { left: .1em;}\n.CtxtMenu_SliderValue { position:absolute; right:.1em; padding-top:.25em; color:#333333; font-size: .75em}\n.CtxtMenu_SliderBar { outline: none; background: #d3d3d3}\n.CtxtMenu_MenuLabel { padding: 1px 2em 3px 1.33em; font-style:italic}\n.CtxtMenu_MenuRule { border-top: 1px solid #DDDDDD; margin: 4px 3px;}\n.CtxtMenu_MenuDisabled { color:GrayText}\n.CtxtMenu_MenuActive { background-color: #606872; color: white;}\n.CtxtMenu_MenuDisabled:focus { background-color: #E8E8E8}\n.CtxtMenu_MenuLabel:focus { background-color: #E8E8E8}\n.CtxtMenu_ContextMenu:focus { outline:none}\n.CtxtMenu_ContextMenu .CtxtMenu_MenuItem:focus { outline:none}\n.CtxtMenu_SelectionMenu { position:relative; float:left; border-bottom: none; -webkit-box-shadow:none; -webkit-border-radius:0px; }\n.CtxtMenu_SelectionItem { padding-right: 1em;}\n.CtxtMenu_Selection { right: 40%; width:50%; }\n.CtxtMenu_SelectionBox { padding: 0em; max-height:20em; max-width: none; background-color:#FFFFFF;}\n.CtxtMenu_SelectionDivider { clear: both; border-top: 2px solid #000000;}\n.CtxtMenu_Menu .CtxtMenu_MenuClose { top:-10px; left:-10px}\n\n[data-md-color-scheme=\"slate\"] {\n .CtxtMenu_InfoSignature input,\n .CtxtMenu_InfoContent pre {\n color: rgb(0, 0, 0);\n }\n .CtxtMenu_Info,\n .CtxtMenu_Menu {\n box-shadow: 0px 10px 20px rgb(0 0 0 / 0.5);\n }\n}\n/* stylelint-enable */\n","@use \"../utilities/convert\";\n\n/* Don't use box shadows */\n.md-typeset {\n del,\n ins,\n mark {\n &.critic {\n padding: 0 convert.px2em(4px, 16px);\n color: unset;\n box-shadow: none;\n }\n }\n\n .critic.break {\n margin: 0;\n }\n}\n","@use \"./admonition\";\n\n/* Inherit admonition style */\n.md-typeset {\n details {\n @extend .admonition;\n\n overflow: hidden;\n\n // Title\n > summary {\n @extend .admonition-title;\n\n // Disable accessibility focus\n &:focus {\n outline-style: none;\n }\n }\n }\n}\n","@use \"../utilities/break\";\n@use \"../utilities/convert\";\n\n:root > * {\n --highlight-svg-console: svg-load(\"@mdi/svg/svg/console.svg\");\n --highlight-svg-arrow-expand: svg-load(\"@mdi/svg/svg/arrow-expand.svg\");\n --highlight-svg-arrow-collapse: svg-load(\"@mdi/svg/svg/arrow-collapse.svg\");\n}\n\n.highlight {\n .hll {\n box-shadow: 2px 0 0 0 var(--md-accent-fg-color) inset;\n }\n\n .kc { // Keyword constant\n color: var(--md-code-hl-constant-color);\n }\n\n .nc, // Name, class\n .ne, // Name, exception\n {\n color: var(--md-code-hl-class-color);\n }\n\n .mb {\n color: var(--md-code-hl-number-color);\n }\n\n .nb, // Name, builtin\n .bp { // Name, builtin pseudo\n color: var(--md-code-hl-builtin-color);\n }\n\n .nn { // Name, namespace Name, namespace Name, namespace Name, namespace\n color: var(--md-code-hl-namespace-color);\n }\n\n .na, // Name, attribute\n .nd, // Name, decorator\n .ni { // Name, entity\n color: var(--md-code-hl-entity-color);\n }\n .nl, // Name, label\n .nt { // Name, tag\n color: var(--md-code-hl-tag-color);\n }\n}\n\n.md-typeset {\n\n /* Allow code to look like code everywhere despite Material's current preference */\n *:not(pre) > code {\n margin: 0;\n padding: convert.px2em( 2.25px, 13.6px) convert.px2em( 4.25px, 13.6px);\n color: var(--md-code-fg-color);\n background-color: var(--md-code-inline-bg-color);\n border-radius: convert.px2rem(4px);\n box-shadow: none;\n }\n\n pre > code {\n display: grid;\n }\n\n /* Don't always like code breaking in table cells */\n td code {\n word-break: normal;\n }\n\n .highlight {\n\n /* Needed for tab preserving mode */\n tab-size: 8;\n\n /* `pymdownx-inline` mode */\n [data-linenos] {\n\n &:hover::before {\n color: var(--md-accent-fg-color);\n font-weight: 700;\n }\n\n /* Special line mode coloring */\n &.special::before {\n background-color: var(--md-code-special-bg-color);\n }\n }\n\n .hll [data-linenos]::before {\n box-shadow: -2px 0 var(--md-accent-fg-color) inset;\n }\n }\n\n /* Special line number coloring for tables */\n .highlighttable {\n .linenodiv {\n .special {\n margin-right: convert.px2em(-8px, 13.6px);\n margin-left: convert.px2em(-16px, 13.6px);\n padding-right: convert.px2em(8px, 13.6px);\n padding-left: convert.px2em(16px, 13.6px);\n background-color: var(--md-code-special-bg-color);\n }\n }\n }\n\n // Filename span\n .highlight span.filename {\n\n // Style the filename banner\n position: relative;\n display: block;\n margin-top: 1em;\n padding: convert.px2em(8px) convert.px2em(16px, 13.6px) convert.px2em(8px) convert.px2em(40px, 13.6px);\n font-weight: 700;\n font-size: convert.px2rem(13.6px);\n background-color: var(--md-code-title-bg-color);\n border-top-left-radius: convert.px2rem(9.6px);\n border-top-right-radius: convert.px2rem(9.6px);\n\n // Adjust margins and and general container look of code block\n + pre {\n margin-top: 0;\n\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n\n // Add code icon\n &::before {\n position: absolute;\n left: convert.px2em(12px, 13.6px);\n width: convert.px2em(20px, 13.6px);\n height: convert.px2em(20px, 13.6px);\n background-color: var(--md-default-fg-color);\n mask-image: var(--highlight-svg-console);\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n }\n\n .collapse-code {\n position: relative;\n margin-top: 1em;\n margin-bottom: 1em;\n\n pre {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n input{\n display: none;\n\n ~ .code-footer {\n width: 100%;\n margin: 0;\n padding: convert.px2em(4px) convert.px2em(8px) convert.px2em(4px) convert.px2em(0px);\n\n label {\n position: relative;\n margin: 0.05em;\n padding: 0.15em 0.8em;\n color: var(--md-primary-bg-color);\n font-size: 90%;\n background-color: var(--md-accent-fg-color);\n mask-repeat: no-repeat;\n mask-size: contain;\n border-radius: convert.px2rem(2px);\n cursor: pointer;\n content: \"\";\n\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n\n &::before {\n position: absolute;\n top: 0.15em;\n left: 0.15em;\n display: block;\n box-sizing: border-box;\n width: 1.25em;\n height: 1.25em;\n background-color: var(--md-primary-bg-color);\n background-size: 1.25em;\n content: \"\";\n }\n\n &.expand {\n display: none;\n\n &::before {\n mask-image: var(--highlight-svg-arrow-expand);\n }\n }\n &.collapse::before {\n mask-image: var(--highlight-svg-arrow-collapse);\n }\n }\n }\n\n &:checked {\n ~ .code-footer label.expand {\n display: inline;\n }\n\n ~ .code-footer label.collapse {\n display: none;\n }\n\n + div.highlight code {\n max-height: convert.px2em(150px);\n overflow: hidden;\n }\n\n ~ .code-footer {\n position: relative;\n bottom: 4.3em;\n left: 0;\n margin-bottom: -4.3em;\n padding: convert.px2em(32px) convert.px2em(8px) convert.px2em(8px) convert.px2rem(16px);\n background-image: linear-gradient(to bottom,\n transparent,\n var(--md-default-bg-color) 80%\n 100%);\n border-bottom-right-radius: convert.px2rem(9.6px);\n border-bottom-left-radius: convert.px2rem(9.6px);\n }\n }\n }\n }\n}\n\n@include break.break-to-device(mobile) {\n .md-content__inner > {\n diagram-div {\n margin-right: convert.px2rem(-16px);\n margin-left: convert.px2rem(-16px);\n }\n .highlight span.filename {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .collapse-code {\n margin-right: convert.px2rem(-16px);\n margin-left: convert.px2rem(-16px);\n\n label.collapse {\n left: convert.px2rem(16px);\n }\n }\n }\n}\n\n.md-typeset .highlight+.result {\n border-right-width: convert.px2rem(2px);\n border-bottom-width: convert.px2rem(2px);\n border-left-width: convert.px2rem(2px);\n}\n","@use \"../utilities/convert\";\n\n.md-typeset {\n\n // Keyboard key\n .keys {\n\n // Define keyboard keys with left icon\n @each $name, $code in (\n // Extra Keys\n \"power\": \"\\23FB\",\n \"fingerprint\": \"\\261D\",\n ) {\n .key-#{$name}::before {\n padding-right: convert.px2em(6.4px);\n content: $code;\n }\n }\n\n // Define keyboard keys with right icon\n @each $name, $code in (\n // Extra Keys\n ) {\n .key-#{$name}::after {\n padding-left: convert.px2em(6.4px);\n content: $code;\n }\n }\n }\n}\n","@use \"../utilities/convert\";\n\n// General styling for repository link icons\n:root > * {\n --magiclink-email-icon: svg-load(\"@mdi/svg/svg/mail.svg\");\n --magiclink-github-icon: svg-load(\"@mdi/svg/svg/github.svg\");\n --magiclink-bitbucket-icon: svg-load(\"@mdi/svg/svg/bitbucket.svg\");\n --magiclink-gitlab-icon: svg-load(\"@mdi/svg/svg/gitlab.svg\");\n --magiclink-commit-icon: svg-load(\"@primer/octicons/build/svg/git-commit-24.svg\");\n --magiclink-compare-icon: svg-load(\"@primer/octicons/build/svg/file-diff-24.svg\");\n --magiclink-pull-icon: svg-load(\"@primer/octicons/build/svg/git-pull-request-24.svg\");\n --magiclink-issue-icon: svg-load(\"@primer/octicons/build/svg/issue-opened-24.svg\");\n --magiclink-discussion-icon: svg-load(\"@primer/octicons/build/svg/comment-discussion-24.svg\");\n}\n\n.md-typeset {\n a[href^=\"mailto:\"]:not(.magiclink-ignore)::before {\n mask-image: var(--magiclink-email-icon);\n }\n\n .magiclink-repository,\n .magiclink-compare,\n .magiclink-commit,\n .magiclink-pull,\n .magiclink-issue,\n .magiclink-discussion,\n a[href^=\"mailto:\"] {\n &:not(.magiclink-ignore) {\n position: relative;\n padding-left: convert.px2em(22px);\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n box-sizing: border-box;\n width: convert.px2em(20px);\n height: convert.px2em(20px);\n background-color: var(--md-typeset-a-color);\n background-size: convert.px2em(20px);\n transition: background-color 125ms;\n mask-repeat: no-repeat;\n mask-size: contain;\n content: \"\";\n }\n\n &:hover::before {\n background-color: var(--md-accent-fg-color);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"commit\": \"commit\",\n \"compare\": \"compare\",\n \"pull\": \"pull\",\n \"issue\": \"issue\",\n \"discussion\": \"discussion\"\n) {\n .md-typeset {\n .magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n\n// Assign icons to repository links\n@each $name, $icon in (\n \"github\": \"github\",\n \"gitlab\": \"gitlab\",\n \"bitbucket\": \"bitbucket\"\n) {\n .md-typeset {\n .magiclink-repository.magiclink-#{$name}:not(.magiclink-ignore) {\n &::before {\n mask-image: var(--magiclink-#{$icon}-icon);\n }\n }\n }\n}\n","/* Shadow boxes sometimes give issues, so just pad. */\n.md-typeset mark:not(.critic) {\n box-shadow: none;\n}\n","@use \"../palette/material_color\";\n@use \"../utilities/convert\";\n\n.md-typeset {\n\n /* Progress Bars */\n .progress-label {\n position: absolute;\n width: 100%;\n margin: 0;\n color: var(--md-text-color);\n font-weight: 700;\n line-height: convert.px2rem(28px);\n white-space: nowrap;\n text-align: center;\n text-shadow:\n convert.px2em(-1px) convert.px2em(-1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(1px) convert.px2em(-1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(-1px) convert.px2em(1px) convert.px2em(6px) var(--md-default-bg-color--light),\n convert.px2em(1px) convert.px2em(1px) convert.px2em(6px) var(--md-default-bg-color--light);\n }\n\n .progress-bar {\n float: left;\n height: convert.px2rem(24px);\n background-color: material_color.$clr-blue-a400;\n }\n\n /* Stripe animation */\n .candystripe-animate {\n .progress-bar{\n animation: animate-stripes 3s linear infinite;\n }\n }\n\n .progress {\n position: relative;\n display: block;\n width: 100%;\n height: convert.px2rem(24px);\n margin: convert.px2rem(10px) 0;\n background-color: var(--md-default-fg-color--lightest);\n\n &.thin {\n height: convert.px2rem(8px);\n margin-top: convert.px2rem(18px);\n\n .progress-label {\n margin-top: convert.px2rem(-8px);\n }\n\n .progress-bar {\n height: convert.px2rem(8px);\n }\n }\n\n &.candystripe .progress-bar {\n background-image:\n linear-gradient(\n 135deg,\n var(--md-progress-stripe) 27%,\n transparent 27%,\n transparent 52%,\n var(--md-progress-stripe) 52%,\n var(--md-progress-stripe) 77%,\n transparent 77%,\n transparent\n );\n background-size: convert.px2rem(40px) convert.px2rem(40px);\n }\n }\n\n @each $percent, $color in (\n \"100\": var(--md-progress-100),\n \"80\": var(--md-progress-80),\n \"60\": var(--md-progress-60),\n \"40\": var(--md-progress-40),\n \"20\": var(--md-progress-20),\n \"0\": var(--md-progress-0)\n ) {\n .progress-#{$percent}plus {\n .progress-bar {\n background-color: $color;\n }\n }\n }\n\n @keyframes animate-stripes {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: convert.px2rem(120px) 0;\n }\n }\n}\n","// Material Colors\n// https://materialui.co/colors\n\n$clr-red: #f44336;\n$clr-red-50: #ffebee;\n$clr-red-100: #ffcdd2;\n$clr-red-200: #ef9a9a;\n$clr-red-300: #e57373;\n$clr-red-400: #ef5350;\n$clr-red-500: #f44336;\n$clr-red-600: #e53935;\n$clr-red-700: #d32f2f;\n$clr-red-800: #c62828;\n$clr-red-900: #b71c1c;\n$clr-red-a100: #ff8a80;\n$clr-red-a200: #ff5252;\n$clr-red-a400: #ff1744;\n$clr-red-a700: #d50000;\n\n$clr-pink: #e91e63;\n$clr-pink-50: #fce4ec;\n$clr-pink-100: #f8bbd0;\n$clr-pink-200: #f48fb1;\n$clr-pink-300: #f06292;\n$clr-pink-400: #ec407a;\n$clr-pink-500: #e91e63;\n$clr-pink-600: #d81b60;\n$clr-pink-700: #c2185b;\n$clr-pink-800: #ad1457;\n$clr-pink-900: #880e4f;\n$clr-pink-a100: #ff80ab;\n$clr-pink-a200: #ff4081;\n$clr-pink-a400: #f50057;\n$clr-pink-a700: #c51162;\n\n$clr-purple: #9c27b0;\n$clr-purple-50: #f3e5f5;\n$clr-purple-100: #e1bee7;\n$clr-purple-200: #ce93d8;\n$clr-purple-300: #ba68c8;\n$clr-purple-400: #ab47bc;\n$clr-purple-500: #9c27b0;\n$clr-purple-600: #8e24aa;\n$clr-purple-700: #7b1fa2;\n$clr-purple-800: #6a1b9a;\n$clr-purple-900: #4a148c;\n$clr-purple-a100: #ea80fc;\n$clr-purple-a200: #e040fb;\n$clr-purple-a400: #d500f9;\n$clr-purple-a700: #aa00ff;\n\n$clr-deep-purple: #673ab7;\n$clr-deep-purple-50: #ede7f6;\n$clr-deep-purple-100: #d1c4e9;\n$clr-deep-purple-200: #b39ddb;\n$clr-deep-purple-300: #9575cd;\n$clr-deep-purple-400: #7e57c2;\n$clr-deep-purple-500: #673ab7;\n$clr-deep-purple-600: #5e35b1;\n$clr-deep-purple-700: #512da8;\n$clr-deep-purple-800: #4527a0;\n$clr-deep-purple-900: #311b92;\n$clr-deep-purple-a100: #b388ff;\n$clr-deep-purple-a200: #7c4dff;\n$clr-deep-purple-a400: #651fff;\n$clr-deep-purple-a700: #6200ea;\n\n$clr-indigo: #3f51b5;\n$clr-indigo-50: #e8eaf6;\n$clr-indigo-100: #c5cae9;\n$clr-indigo-200: #9fa8da;\n$clr-indigo-300: #7986cb;\n$clr-indigo-400: #5c6bc0;\n$clr-indigo-500: #3f51b5;\n$clr-indigo-600: #3949ab;\n$clr-indigo-700: #303f9f;\n$clr-indigo-800: #283593;\n$clr-indigo-900: #1a237e;\n$clr-indigo-a100: #8c9eff;\n$clr-indigo-a200: #536dfe;\n$clr-indigo-a400: #3d5afe;\n$clr-indigo-a700: #304ffe;\n\n$clr-blue: #2196f3;\n$clr-blue-50: #e3f2fd;\n$clr-blue-100: #bbdefb;\n$clr-blue-200: #90caf9;\n$clr-blue-300: #64b5f6;\n$clr-blue-400: #42a5f5;\n$clr-blue-500: #2196f3;\n$clr-blue-600: #1e88e5;\n$clr-blue-700: #1976d2;\n$clr-blue-800: #1565c0;\n$clr-blue-900: #0d47a1;\n$clr-blue-a100: #82b1ff;\n$clr-blue-a200: #448aff;\n$clr-blue-a400: #2979ff;\n$clr-blue-a700: #2962ff;\n\n$clr-light-blue: #03a9f4;\n$clr-light-blue-50: #e1f5fe;\n$clr-light-blue-100: #b3e5fc;\n$clr-light-blue-200: #81d4fa;\n$clr-light-blue-300: #4fc3f7;\n$clr-light-blue-400: #29b6f6;\n$clr-light-blue-500: #03a9f4;\n$clr-light-blue-600: #039be5;\n$clr-light-blue-700: #0288d1;\n$clr-light-blue-800: #0277bd;\n$clr-light-blue-900: #01579b;\n$clr-light-blue-a100: #80d8ff;\n$clr-light-blue-a200: #40c4ff;\n$clr-light-blue-a400: #00b0ff;\n$clr-light-blue-a700: #0091ea;\n\n$clr-cyan: #00bcd4;\n$clr-cyan-50: #e0f7fa;\n$clr-cyan-100: #b2ebf2;\n$clr-cyan-200: #80deea;\n$clr-cyan-300: #4dd0e1;\n$clr-cyan-400: #26c6da;\n$clr-cyan-500: #00bcd4;\n$clr-cyan-600: #00acc1;\n$clr-cyan-700: #0097a7;\n$clr-cyan-800: #00838f;\n$clr-cyan-900: #006064;\n$clr-cyan-a100: #84ffff;\n$clr-cyan-a200: #18ffff;\n$clr-cyan-a400: #00e5ff;\n$clr-cyan-a700: #00b8d4;\n\n$clr-teal: #009688;\n$clr-teal-50: #e0f2f1;\n$clr-teal-100: #b2dfdb;\n$clr-teal-200: #80cbc4;\n$clr-teal-300: #4db6ac;\n$clr-teal-400: #26a69a;\n$clr-teal-500: #009688;\n$clr-teal-600: #00897b;\n$clr-teal-700: #00796b;\n$clr-teal-800: #00695c;\n$clr-teal-900: #004d40;\n$clr-teal-a100: #a7ffeb;\n$clr-teal-a200: #64ffda;\n$clr-teal-a400: #1de9b6;\n$clr-teal-a700: #00bfa5;\n\n$clr-green: #4caf50;\n$clr-green-50: #e8f5e9;\n$clr-green-100: #c8e6c9;\n$clr-green-200: #a5d6a7;\n$clr-green-300: #81c784;\n$clr-green-400: #66bb6a;\n$clr-green-500: #4caf50;\n$clr-green-600: #43a047;\n$clr-green-700: #388e3c;\n$clr-green-800: #2e7d32;\n$clr-green-900: #1b5e20;\n$clr-green-a100: #b9f6ca;\n$clr-green-a200: #69f0ae;\n$clr-green-a400: #00e676;\n$clr-green-a700: #00c853;\n\n$clr-light-green: #8bc34a;\n$clr-light-green-50: #f1f8e9;\n$clr-light-green-100: #dcedc8;\n$clr-light-green-200: #c5e1a5;\n$clr-light-green-300: #aed581;\n$clr-light-green-400: #9ccc65;\n$clr-light-green-500: #8bc34a;\n$clr-light-green-600: #7cb342;\n$clr-light-green-700: #689f38;\n$clr-light-green-800: #558b2f;\n$clr-light-green-900: #33691e;\n$clr-light-green-a100: #ccff90;\n$clr-light-green-a200: #b2ff59;\n$clr-light-green-a400: #76ff03;\n$clr-light-green-a700: #64dd17;\n\n$clr-lime: #cddc39;\n$clr-lime-50: #f9fbe7;\n$clr-lime-100: #f0f4c3;\n$clr-lime-200: #e6ee9c;\n$clr-lime-300: #dce775;\n$clr-lime-400: #d4e157;\n$clr-lime-500: #cddc39;\n$clr-lime-600: #c0ca33;\n$clr-lime-700: #afb42b;\n$clr-lime-800: #9e9d24;\n$clr-lime-900: #827717;\n$clr-lime-a100: #f4ff81;\n$clr-lime-a200: #eeff41;\n$clr-lime-a400: #c6ff00;\n$clr-lime-a700: #aeea00;\n\n$clr-yellow: #ffeb3b;\n$clr-yellow-50: #fffde7;\n$clr-yellow-100: #fff9c4;\n$clr-yellow-200: #fff59d;\n$clr-yellow-300: #fff176;\n$clr-yellow-400: #ffee58;\n$clr-yellow-500: #ffeb3b;\n$clr-yellow-600: #fdd835;\n$clr-yellow-700: #fbc02d;\n$clr-yellow-800: #f9a825;\n$clr-yellow-900: #f57f17;\n$clr-yellow-a100: #ffff8d;\n$clr-yellow-a200: #ffff00;\n$clr-yellow-a400: #ffea00;\n$clr-yellow-a700: #ffd600;\n\n$clr-amber: #ffc107;\n$clr-amber-50: #fff8e1;\n$clr-amber-100: #ffecb3;\n$clr-amber-200: #ffe082;\n$clr-amber-300: #ffd54f;\n$clr-amber-400: #ffca28;\n$clr-amber-500: #ffc107;\n$clr-amber-600: #ffb300;\n$clr-amber-700: #ffa000;\n$clr-amber-800: #ff8f00;\n$clr-amber-900: #ff6f00;\n$clr-amber-a100: #ffe57f;\n$clr-amber-a200: #ffd740;\n$clr-amber-a400: #ffc400;\n$clr-amber-a700: #ffab00;\n\n$clr-orange: #ff9800;\n$clr-orange-50: #fff3e0;\n$clr-orange-100: #ffe0b2;\n$clr-orange-200: #ffcc80;\n$clr-orange-300: #ffb74d;\n$clr-orange-400: #ffa726;\n$clr-orange-500: #ff9800;\n$clr-orange-600: #fb8c00;\n$clr-orange-700: #f57c00;\n$clr-orange-800: #ef6c00;\n$clr-orange-900: #e65100;\n$clr-orange-a100: #ffd180;\n$clr-orange-a200: #ffab40;\n$clr-orange-a400: #ff9100;\n$clr-orange-a700: #ff6d00;\n\n$clr-deep-orange: #ff5722;\n$clr-deep-orange-50: #fbe9e7;\n$clr-deep-orange-100: #ffccbc;\n$clr-deep-orange-200: #ffab91;\n$clr-deep-orange-300: #ff8a65;\n$clr-deep-orange-400: #ff7043;\n$clr-deep-orange-500: #ff5722;\n$clr-deep-orange-600: #f4511e;\n$clr-deep-orange-700: #e64a19;\n$clr-deep-orange-800: #d84315;\n$clr-deep-orange-900: #bf360c;\n$clr-deep-orange-a100: #ff9e80;\n$clr-deep-orange-a200: #ff6e40;\n$clr-deep-orange-a400: #ff3d00;\n$clr-deep-orange-a700: #dd2c00;\n\n$clr-brown: #795548;\n$clr-brown-50: #efebe9;\n$clr-brown-100: #d7ccc8;\n$clr-brown-200: #bcaaa4;\n$clr-brown-300: #a1887f;\n$clr-brown-400: #8d6e63;\n$clr-brown-500: #795548;\n$clr-brown-600: #6d4c41;\n$clr-brown-700: #5d4037;\n$clr-brown-800: #4e342e;\n$clr-brown-900: #3e2723;\n\n$clr-grey: #9e9e9e;\n$clr-grey-50: #fafafa;\n$clr-grey-100: #f5f5f5;\n$clr-grey-200: #eeeeee;\n$clr-grey-300: #e0e0e0;\n$clr-grey-400: #bdbdbd;\n$clr-grey-500: #9e9e9e;\n$clr-grey-600: #757575;\n$clr-grey-700: #616161;\n$clr-grey-800: #424242;\n$clr-grey-900: #212121;\n\n$clr-blue-grey: #607d8b;\n$clr-blue-grey-50: #eceff1;\n$clr-blue-grey-100: #cfd8dc;\n$clr-blue-grey-200: #b0bec5;\n$clr-blue-grey-300: #90a4ae;\n$clr-blue-grey-400: #78909c;\n$clr-blue-grey-500: #607d8b;\n$clr-blue-grey-600: #546e7a;\n$clr-blue-grey-700: #455a64;\n$clr-blue-grey-800: #37474f;\n$clr-blue-grey-900: #263238;\n\n$clr-white: #FFFFFF;\n$clr-black: #000000;\n","@use \"../utilities/break\";\n@use \"../utilities/convert\";\n\n.md-typeset .tabbed-control button{\n &:hover {\n color: var(--md-default-bg-color);\n background: var(--md-accent-fg-color);\n }\n}\n\n.md-typeset .tabbed-control--next button {\n &:hover {\n color: var(--md-default-bg-color);\n background: var(--md-accent-fg-color);\n }\n}\n\n.js .md-typeset .tabbed-labels::before {\n background-color: var(--md-accent-fg-color);\n}\n\n/* Style code blocks to fill full tab,\n but otherwise, pad content. */\n.md-typeset {\n .tabbed-alternate {\n &.tabbed-set .tabbed-control {\n width: convert.px2rem(40px);\n\n &[hidden] {\n width: convert.px2rem(24px);\n opacity: 0;\n }\n }\n\n &.tabbed-set > .tabbed-content > .tabbed-block {\n padding: 0 convert.px2rem(12px);\n\n > {\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n\n &:first-child {\n margin-top: convert.px2em(15px);\n\n code {\n border-top-left-radius: convert.px2rem(9.6px);\n border-top-right-radius: convert.px2rem(9.6px);\n }\n }\n\n &:only-child {\n margin-top: 0;\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n\n span.filename {\n margin-top: 0;\n }\n }\n }\n\n .collapse-code:only-child {\n margin-top: 0;\n\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n\n pre,\n .codehilite,\n .codehilitetable,\n .highlight,\n .highlighttable {\n code {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n }\n\n diagram-div:only-child {\n margin-right: convert.px2rem(-24px);\n margin-left: convert.px2rem(-24px);\n padding-right: convert.px2rem(12px);\n padding-left: convert.px2rem(12px);\n }\n }\n }\n }\n}\n\n/* Ignore mobile overflow styling that extends the tab bar */\n@include break.break-to-device(mobile) {\n [dir=ltr] .md-content__inner > .tabbed-set .tabbed-labels {\n padding-left: 0;\n }\n\n .md-content__inner > .tabbed-set .tabbed-labels {\n max-width: 100%;\n margin: 0;\n padding-inline-start: 0;\n scroll-padding-inline-start: 0;\n\n &::after {\n padding-inline-end: 0;\n content: none;\n }\n\n // Tabbed control previous\n ~ .tabbed-control--prev {\n margin-inline-start: 0;\n padding-inline-start: 0;\n }\n\n // Tabbed control next\n ~ .tabbed-control--next {\n margin-inline-end: 0;\n padding-inline-end: 0;\n }\n }\n}\n","@use \"palette/dracula\";\n\n/* Dark mode changes */\n[data-md-color-scheme=\"slate\"] {\n .md-typeset .task-list-control {\n .task-list-indicator::before {\n \tbackground-color: var(--md-default-fg-color--lighter);\n }\n\n [type=checkbox]:checked + .task-list-indicator::before {\n \tbackground-color: dracula.$drac-green;\n }\n }\n}\n","@use \"sass:color\";\n\n$drac-fg: hsl(60 30% 96.078%);\n$drac-bg: hsl(231 15% 18%);\n$drac-comment: hsl(225 27% 51%);\n$drac-highlight: hsl(231 25% 25%) ;\n$drac-selection: hsl(231 15% 30%);\n$drac-blue: hsl(225 100% 75%);\n$drac-cyan: hsl(191 97% 77%);\n$drac-green: hsl(135 94% 65%);\n$drac-orange: hsl(31 100% 71%);\n$drac-pink: hsl(326 100% 74%);\n$drac-purple: hsl(265 89% 78%);\n$drac-red: hsl(0 100% 67%);\n$drac-yellow: hsl(65 92% 76%);\n\n$drac-grey: hsl(225 8% 51%);\n\n// An approximation of the Alucard theme\n$alucard-fg: #1F1F1F;\n$alucard-bg: #F5F5F5;\n$alucard-comment: #635D97;\n$alucard-highlight: #DCDEEF;\n$alucard-selection: #CFCFDE;\n$alucard-blue: #3654c2;\n$alucard-cyan: #036A96;\n$alucard-green: #14720A;\n$alucard-orange: #A34D14;\n$alucard-pink: #A3134D;\n$alucard-purple: #644AC9;\n$alucard-red: #CB3A2A;\n$alucard-yellow: #836E15;\n","@use \"../utilities/convert\";\n\n:root > * {\n --toc-svg-link: svg-load(\"@mdi/svg/svg/link.svg\");\n}\n\n// Header anchors\n.md-typeset {\n .headerlink {\n width: convert.px2em(16px);\n height: convert.px2em(16px);\n vertical-align: middle;\n background-color: var(--md-default-fg-color--lighter);\n background-size: convert.px2em(16px);\n mask-size: convert.px2em(16px);\n mask-repeat: no-repeat;\n visibility: visible;\n mask-image: var(--toc-svg-link);\n }\n\n .headerlink:hover,\n [id]:target .headerlink {\n background-color: var(--md-accent-fg-color);\n }\n}\n","/* Special handling of Mermaid content. */\ndiagram-div {\n overflow: auto;\n}\n",".md-typeset div.steps > ol {\n counter-reset: item;\n\n > li {\n position: relative;\n padding-left: 1em;\n list-style: none;\n\n &::before {\n position: absolute;\n top: 0;\n left: 0;\n z-index: -1;\n display: block;\n width: 1.75em;\n height: 1.75em;\n margin-left: -1.25em;\n color: var(--md-steps-fg-color);\n font-weight: 600;\n font-size: 0.9em;\n text-align: center;\n background-color: var(--md-steps-bg-color);\n border: 1px solid var(--md-steps-border-color);\n border-radius: 100px;\n content: counter(item);\n counter-increment: item;\n }\n\n &::after {\n position: absolute;\n top: 0;\n bottom: 0;\n left: -0.36em;\n display: block;\n width: 1px;\n margin-top: 2em;\n border-left: 1px solid var(--md-steps-border-color);\n content: '';\n }\n }\n}\n","@use \"../utilities/convert\";\n\n.md-typeset table:not([class]) {\n background: none;\n border-radius: convert.px2rem(8px);\n\n th {\n border-bottom: convert.px2rem(2px) solid var(--md-accent-fg-color);\n }\n}\n","@use \"utilities/break\";\n@use \"utilities/convert\";\n\nhtml {\n background-color: transparent;\n}\n\n[data-md-component=\"announce\"] .twemoji {\n color: var(--md-primary-fg-color);\n}\n\n.md-container .md-tabs {\n .md-tabs__item--active {\n border-bottom: convert.px2rem(2px) solid var(--md-accent-fg-color);\n }\n}\n\n// Navigation\n.md-nav--secondary {\n > ul {\n border-left: convert.px2rem(2px) solid var(--md-default-fg-color--lightest);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-2px);\n padding-left: convert.px2rem(16px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-14px);\n padding-left: convert.px2rem(28px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-26px);\n padding-left: convert.px2rem(40px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-38px);\n padding-left: convert.px2rem(52px);\n }\n\n ul .md-nav__item {\n .md-nav__link--active {\n margin-left: convert.px2rem(-50px);\n padding-left: convert.px2rem(64px);\n }\n }\n }\n }\n }\n }\n\n .md-nav__item {\n color: var(--md-default-fg-color--light);\n\n .md-nav__link--active {\n color: var(--md-default-fg-color);\n border-left: convert.px2rem(2px) solid var(--md-accent-fg-color);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n .md-nav__link {\n &:focus,\n &:hover {\n color: var(--md-default-fg-color);\n }\n }\n }\n}\n\n.md-nav--primary {\n .md-nav__item {\n color: var(--md-default-fg-color--light);\n }\n}\n\n// Navigation\n.md-nav__source {\n color: var(--md-text-color);\n}\n\n.md-nav__link[data-md-state=blur] {\n color: var(--md-default-fg-color--light);\n}\n\n.md-typeset {\n\n /* Don't force capitalization of `H5` elements. */\n h5 {\n color: var(--md-text-color);\n text-transform: none;\n }\n}\n\n.md-typeset__scrollwrap,\n.md-sidebar__scrollwrap,\n.md-search__scrollwrap,\n.md-typeset pre > code,\n.md-typeset div.mermaid,\n.md-typeset div.diagram,\n.md-typeset mermaid-div,\n.md-typeset diagram-div,\n.md-typeset pre.arithmatex,\n.md-typeset div.arithmatex {\n // Firefox scrollbar and thumb\n scrollbar-color: var(--md-default-fg-color--lighter) transparent;\n scrollbar-width: thin;\n\n // Firefox hovered scrollbar and thumb\n &:hover {\n scrollbar-color: var(--md-accent-fg-color) transparent;\n }\n\n // Override native scrollbar styles\n &::-webkit-scrollbar {\n width: convert.px2rem(4px);\n height: convert.px2rem(4px);\n }\n\n &::-webkit-scrollbar-corner {\n background-color: transparent;\n }\n\n // Scrollbar thumb\n &::-webkit-scrollbar-thumb {\n background-color: var(--md-default-fg-color--lighter);\n\n // Hovered scrollbar thumb\n &:hover {\n background-color: var(--md-accent-fg-color);\n }\n }\n}\n","////\n/// Copyright (c) 2016-2020 Martin Donath \n///\n/// Permission is hereby granted, free of charge, to any person obtaining a\n/// copy of this software and associated documentation files (the \"Software\"),\n/// to deal in the Software without restriction, including without limitation\n/// the rights to use, copy, modify, merge, publish, distribute, sublicense,\n/// and/or sell copies of the Software, and to permit persons to whom the\n/// Software is furnished to do so, subject to the following conditions:\n///\n/// The above copyright notice and this permission notice shall be included in\n/// all copies or substantial portions of the Software.\n///\n/// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n/// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL\n/// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n/// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n/// DEALINGS\n////\n\n// ----------------------------------------------------------------------------\n// Variables\n// ----------------------------------------------------------------------------\n\n///\n/// Device-specific breakpoints\n///\n/// @example\n/// $break-devices: (\n/// mobile: (\n/// portrait: 220px 479px,\n/// landscape: 480px 719px\n/// ),\n/// tablet: (\n/// portrait: 720px 959px,\n/// landscape: 960px 1219px\n/// ),\n/// screen: (\n/// small: 1220px 1599px,\n/// medium: 1600px 1999px,\n/// large: 2000px\n/// )\n/// );\n///\n@use \"sass:map\";\n@use \"sass:list\";\n@use \"sass:meta\";\n@use \"./convert\";\n\n$break-devices: (\n mobile: (\n portrait: convert.px2em(220px) convert.px2em(479px),\n landscape: convert.px2em(480px) convert.px2em(719px)\n ),\n tablet: (\n portrait: convert.px2em(720px) convert.px2em(959px),\n landscape: convert.px2em(960px) convert.px2em(1219px)\n ),\n screen: (\n small: convert.px2em(1220px) convert.px2em(1599px),\n medium: convert.px2em(1600px) convert.px2em(1999px),\n large: convert.px2em(2000px)\n )\n) !default;\n\n// ----------------------------------------------------------------------------\n// Helpers\n// ----------------------------------------------------------------------------\n\n///\n/// Choose minimum and maximum device widths\n///\n@function break-select-min-max($devices) {\n $min: 1000000;\n $max: 0;\n @each $key, $value in $devices {\n @while meta.type-of($value) == map {\n $value: break-select-min-max($value);\n }\n @if meta.type-of($value) == list {\n @each $number in $value {\n @if meta.type-of($number) == number {\n $min: min($number, $min);\n @if $max != null {\n $max: max($number, $max);\n }\n } @else {\n @error \"Invalid number: #{$number}\";\n }\n }\n } @else if meta.type-of($value) == number {\n $min: min($value, $min);\n $max: null;\n } @else {\n @error \"Invalid value: #{$value}\";\n }\n }\n @return $min, $max;\n}\n\n///\n/// Select minimum and maximum widths for a device breakpoint\n///\n@function break-select-device($device) {\n $current: $break-devices;\n @for $n from 1 through list.length($device) {\n @if meta.type-of($current) == map {\n $current: map.get($current, list.nth($device, $n));\n } @else {\n @error \"Invalid device map: #{$devices}\";\n }\n }\n @if meta.type-of($current) == list or meta.type-of($current) == number {\n $current: (default: $current);\n }\n @return break-select-min-max($current);\n}\n\n// ----------------------------------------------------------------------------\n// Mixins\n// ----------------------------------------------------------------------------\n\n///\n/// A minimum-maximum media query breakpoint\n///\n@mixin break-at($breakpoint) {\n @if meta.type-of($breakpoint) == number {\n @media screen and (min-width: $breakpoint) {\n @content;\n }\n } @else if meta.type-of($breakpoint) == list {\n $min: list.nth($breakpoint, 1);\n $max: list.nth($breakpoint, 2);\n @if meta.type-of($min) == number and meta.type-of($max) == number {\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// An orientation media query breakpoint\n///\n@mixin break-at-orientation($breakpoint) {\n @if meta.type-of($breakpoint) == string {\n @media screen and (orientation: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A maximum-aspect-ratio media query breakpoint\n///\n@mixin break-at-ratio($breakpoint) {\n @if meta.type-of($breakpoint) == number {\n @media screen and (max-aspect-ratio: $breakpoint) {\n @content;\n }\n } @else {\n @error \"Invalid breakpoint: #{$breakpoint}\";\n }\n}\n\n///\n/// A minimum-maximum media query device breakpoint\n///\n@mixin break-at-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n @if list.nth($breakpoint, 2) != null {\n $min: list.nth($breakpoint, 1);\n $max: list.nth($breakpoint, 2);\n @media screen and (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A minimum media query device breakpoint\n///\n@mixin break-from-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n $min: list.nth($breakpoint, 1);\n @media screen and (min-width: $min) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n\n///\n/// A maximum media query device breakpoint\n///\n@mixin break-to-device($device) {\n @if meta.type-of($device) == string {\n $device: $device,;\n }\n @if meta.type-of($device) == list {\n $breakpoint: break-select-device($device);\n $max: list.nth($breakpoint, 2);\n @media screen and (max-width: $max) {\n @content;\n }\n } @else {\n @error \"Invalid device: #{$device}\";\n }\n}\n"]} \ No newline at end of file diff --git a/rummage/lib/gui/data/docs/.dochash b/rummage/lib/gui/data/docs/.dochash index 0864baa1..95cde7a6 100644 --- a/rummage/lib/gui/data/docs/.dochash +++ b/rummage/lib/gui/data/docs/.dochash @@ -1 +1 @@ -fb5706480ccf9ed21e1735e245cfa893 \ No newline at end of file +cb1732f123e18d6c121e08ad97182053 \ No newline at end of file diff --git a/rummage/lib/gui/data/docs/about/contributing.html b/rummage/lib/gui/data/docs/about/contributing.html index b033cbc9..7aa54078 100644 --- a/rummage/lib/gui/data/docs/about/contributing.html +++ b/rummage/lib/gui/data/docs/about/contributing.html @@ -31,7 +31,7 @@ -

              Contributing & Support

              +

              Contributing & Support

              Overview

              Contribution from the community is encouraged and can be done in a variety of ways:

                diff --git a/rummage/lib/gui/data/docs/about/license.html b/rummage/lib/gui/data/docs/about/license.html index 8d8ff24f..6124fb87 100644 --- a/rummage/lib/gui/data/docs/about/license.html +++ b/rummage/lib/gui/data/docs/about/license.html @@ -26,7 +26,7 @@

                License

                MIT license.

                -

                Copyright © 2013 - 2025 Isaac Muse isaacmuse@gmail.com

                +

                Copyright © 2013 - 2026 Isaac Muse isaacmuse@gmail.com

                Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit diff --git a/rummage/lib/gui/data/docs/usage.html b/rummage/lib/gui/data/docs/usage.html index 190887af..be442d02 100644 --- a/rummage/lib/gui/data/docs/usage.html +++ b/rummage/lib/gui/data/docs/usage.html @@ -42,7 +42,7 @@

                -
              • Searching & Replacing
              • +
              • Searching & Replacing
                • Configuring Text Search
                • @@ -114,7 +114,7 @@

                  Running

                  Running in Anaconda).

                  pythonw -m rummage
                   
                  -

                  Searching & Replacing

                  +

                  Searching & Replacing

                  Search Tab

                  Search and replaces are configured in the Search tab. The search tab can essentially be broken up into two sections: text search configuration and file search configuration.

                  diff --git a/rummage/lib/gui/util/__init__.py b/rummage/lib/gui/util/__init__.py index b72031eb..ec22f966 100644 --- a/rummage/lib/gui/util/__init__.py +++ b/rummage/lib/gui/util/__init__.py @@ -20,16 +20,20 @@ WX_420 = wx.__version__ >= '4.2.0' -if WX_420: +# High Sierra and below +MAC_OLD = _MAC_VER < (10, 14) +MAC_TAHOE = _MAC_VER >= (26, 0) + +if MAC_TAHOE: + MAC_LIGHT = 0.98 + MAC_DARK = 1.09 +elif WX_420: MAC_LIGHT = 1.023 MAC_DARK = 1.043 else: MAC_LIGHT = 0.99 MAC_DARK = 1.085 -# High Sierra and below -MAC_OLD = _MAC_VER < (10, 14) - def mac_ver(): """Get macOS version.""" diff --git a/zensical.yml b/zensical.yml index 25a11ca5..15381330 100644 --- a/zensical.yml +++ b/zensical.yml @@ -4,7 +4,7 @@ repo_url: https://github.com/facelessuser/Rummage edit_uri: tree/master/docs/src/markdown site_description: A search and replace tool written in Python. copyright: | - Copyright © 2013 - 2025 Isaac Muse + Copyright © 2013 - 2026 Isaac Muse docs_dir: docs/src/markdown theme: @@ -86,6 +86,9 @@ markdown_extensions: class: uml-flowchart format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.highlight: + line_spans: __codeline + line_anchors: __codelineno + anchor_linenums: True extend_pygments_lang: - name: pycon3 lang: pycon @@ -139,6 +142,8 @@ markdown_extensions: - pymdownx.blocks.definition: - pymdownx.fancylists: inject_style: true + - pymdownx.quotes: + callouts: true extra: social: @@ -146,6 +151,6 @@ extra: link: https://github.com/facelessuser extra_css: - - assets/pymdownx-extras/extra-835c322b67.css + - assets/pymdownx-extras/extra-928cef6c86.css extra_javascript: - assets/pymdownx-extras/extra-loader-Ccztcqfq.js From d9bb649f101f7b7330a7b0c08235dc1274de4524 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Fri, 2 Jan 2026 10:44:01 -0700 Subject: [PATCH 7/9] Update dependencies and update codecov CI action --- .github/workflows/build.yml | 4 ++-- requirements/project.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6aea54da..fe75ec51 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,9 +52,9 @@ jobs: python -m tox - name: Upload Results if: success() - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: - file: ./coverage.xml + files: ./coverage.xml flags: unittests name: ${{ matrix.platform }}-${{ matrix.tox-env }} token: ${{ secrets.CODECOV_TOKEN }} # required diff --git a/requirements/project.txt b/requirements/project.txt index 80ffec08..2075321b 100644 --- a/requirements/project.txt +++ b/requirements/project.txt @@ -6,6 +6,6 @@ wxpython>=4.1.0 filelock>=3.16 send2trash>=1.8.3 markdown>=3.10 -pymdown-extensions>=10.19.1 +pymdown-extensions>=10.20 pygments>=2.19.2 coloraide>=6.2 From 1d7e440d90e8444a81b28dc644c5f175304a49a4 Mon Sep 17 00:00:00 2001 From: facelessuser Date: Fri, 2 Jan 2026 12:32:54 -0700 Subject: [PATCH 8/9] Fix sitemap within built-in docs --- docs/internal_theme/sitemap.html | 7 +- docs/src/markdown/sitemap.md | 3 + docs/theme/nav.html | 14 ++++ docs/theme/sitemap.html | 14 ++++ rummage/lib/gui/controls/webview.py | 8 +- rummage/lib/gui/data/docs/.dochash | 2 +- .../lib/gui/data/docs/about/contributing.html | 4 +- rummage/lib/gui/data/docs/sitemap.html | 74 +++++++++++++++++++ rummage/lib/gui/data/docs/usage.html | 4 +- 9 files changed, 119 insertions(+), 11 deletions(-) create mode 100644 docs/src/markdown/sitemap.md create mode 100644 docs/theme/nav.html create mode 100644 docs/theme/sitemap.html create mode 100644 rummage/lib/gui/data/docs/sitemap.html diff --git a/docs/internal_theme/sitemap.html b/docs/internal_theme/sitemap.html index 5193f930..7d86902a 100644 --- a/docs/internal_theme/sitemap.html +++ b/docs/internal_theme/sitemap.html @@ -4,10 +4,11 @@

                  Documentation Navigation

                  +
                    - {%- for nav_item in nav %} - {% include "nav.html" %} - {%- endfor %} + {% for nav_item in nav.items %} + {% include "nav.html" %} + {% endfor %}
                  {%- endblock %} diff --git a/docs/src/markdown/sitemap.md b/docs/src/markdown/sitemap.md new file mode 100644 index 00000000..8e0c08e2 --- /dev/null +++ b/docs/src/markdown/sitemap.md @@ -0,0 +1,3 @@ +--- +template: "sitemap.html" +--- diff --git a/docs/theme/nav.html b/docs/theme/nav.html new file mode 100644 index 00000000..929d811b --- /dev/null +++ b/docs/theme/nav.html @@ -0,0 +1,14 @@ +{%- if not nav_item.children %} +
                • + {{ nav_item.title }} +
                • +{%- else %} +
                • + {{ nav_item.title }} +
                    + {%- for nav_item in nav_item.children %} + {% include "nav.html" %} + {%- endfor %} +
                  +
                • +{%- endif %} diff --git a/docs/theme/sitemap.html b/docs/theme/sitemap.html new file mode 100644 index 00000000..7d86902a --- /dev/null +++ b/docs/theme/sitemap.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{%- block content %} + +

                  Documentation Navigation

                  + + +
                    + {% for nav_item in nav.items %} + {% include "nav.html" %} + {% endfor %} +
                  + +{%- endblock %} diff --git a/rummage/lib/gui/controls/webview.py b/rummage/lib/gui/controls/webview.py index c05cf4a9..8445becb 100644 --- a/rummage/lib/gui/controls/webview.py +++ b/rummage/lib/gui/controls/webview.py @@ -173,7 +173,9 @@ def parse_url(url): Try to determine if the following is a file path or (as we will call anything else) a URL. + We return it slightly modified and combine the path parts. + We also assume if we see something like c:/ it is a Windows path. We don't bother checking if this **is** a Windows system, but 'nix users really shouldn't be creating weird names like c: for their folder. @@ -207,7 +209,7 @@ def parse_url(url): is_absolute = True elif RE_WIN_DRIVE_LETTER.match(scheme): # c:/path - path = '/%s:%s' % (scheme, path.replace('\\', '/')) + path = '/{}:{}'.format(scheme, path.replace('\\', '/')) scheme = 'file' netloc = '' is_absolute = True @@ -218,7 +220,7 @@ def parse_url(url): netloc = '' is_absolute = True elif scheme != '' and netloc != '': - # A non file path or strange URL + # A non-file path or strange URL is_url = True elif path.startswith(('/', '\\')): # /root path @@ -311,7 +313,7 @@ def on_navigate(self, event, obj=None): event.Veto() # 'Nix systems treat "blank" (HTML string) pages as root paths most of the time. # So if we get `file:///` that is not empty and not linking to a target, we are - # Linking outside or page, but not to an external site. + # Linking outside our page, but not to an external site. elif obj.content_type == HTML_STRING and not (url == 'file:///' or url.startswith('file:///#')): obj.busy = False event.Veto() diff --git a/rummage/lib/gui/data/docs/.dochash b/rummage/lib/gui/data/docs/.dochash index 95cde7a6..c67a8516 100644 --- a/rummage/lib/gui/data/docs/.dochash +++ b/rummage/lib/gui/data/docs/.dochash @@ -1 +1 @@ -cb1732f123e18d6c121e08ad97182053 \ No newline at end of file +2e6db8cd343c0b8582959ee0c10ed9ae \ No newline at end of file diff --git a/rummage/lib/gui/data/docs/about/contributing.html b/rummage/lib/gui/data/docs/about/contributing.html index 7aa54078..b033cbc9 100644 --- a/rummage/lib/gui/data/docs/about/contributing.html +++ b/rummage/lib/gui/data/docs/about/contributing.html @@ -31,7 +31,7 @@ -

                  Contributing & Support

                  +

                  Contributing & Support

                  Overview

                  Contribution from the community is encouraged and can be done in a variety of ways:

                    diff --git a/rummage/lib/gui/data/docs/sitemap.html b/rummage/lib/gui/data/docs/sitemap.html new file mode 100644 index 00000000..3d4c0720 --- /dev/null +++ b/rummage/lib/gui/data/docs/sitemap.html @@ -0,0 +1,74 @@ + + + + + + + + + Sitemap - Rummage + + + + + + + + + + + + + + +
                    + + + +

                    Documentation Navigation

                    + + + +
                    + + + + + \ No newline at end of file diff --git a/rummage/lib/gui/data/docs/usage.html b/rummage/lib/gui/data/docs/usage.html index be442d02..190887af 100644 --- a/rummage/lib/gui/data/docs/usage.html +++ b/rummage/lib/gui/data/docs/usage.html @@ -42,7 +42,7 @@
                    -
                  • Searching & Replacing
                  • +
                  • Searching & Replacing
                    • Configuring Text Search
                    • @@ -114,7 +114,7 @@

                      Running

                      Running in Anaconda).

                      pythonw -m rummage
                       
                      -

                      Searching & Replacing

                      +

                      Searching & Replacing

                      Search Tab

                      Search and replaces are configured in the Search tab. The search tab can essentially be broken up into two sections: text search configuration and file search configuration.

                      From 27f9a01f94eeaff18247aaa2725438761152236e Mon Sep 17 00:00:00 2001 From: facelessuser Date: Fri, 2 Jan 2026 13:46:05 -0700 Subject: [PATCH 9/9] Fix dialog coloring --- rummage/lib/gui/dialogs/rummage_dialog.py | 4 +++- rummage/lib/gui/dialogs/settings_dialog.py | 4 +++- rummage/lib/gui/util/__init__.py | 14 ++------------ 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/rummage/lib/gui/dialogs/rummage_dialog.py b/rummage/lib/gui/dialogs/rummage_dialog.py index ed8570a4..660f592e 100644 --- a/rummage/lib/gui/dialogs/rummage_dialog.py +++ b/rummage/lib/gui/dialogs/rummage_dialog.py @@ -478,7 +478,9 @@ def update_tab_page_colors(self): if util.platform() == "macos" and not util.MAC_OLD: color = Color.from_wxbgr(bg.GetRGB()) factor = util.MAC_LIGHT if color.luminance() > 0.5 else util.MAC_DARK - color.set('lab-d65.lightness', lambda l, f=factor: l + (100.0 * f) - 100.0) + color.set('alpha', 1.0).mix( + 'black' if color.luminance() > 0.5 else 'white', factor, space='srgb', in_place=True + ).set('alpha', 1.0) bg.SetRGB(color.to_wxbgr()) page.SetBackgroundColour(bg) if x == 0: diff --git a/rummage/lib/gui/dialogs/settings_dialog.py b/rummage/lib/gui/dialogs/settings_dialog.py index c4d73428..abbf16fc 100644 --- a/rummage/lib/gui/dialogs/settings_dialog.py +++ b/rummage/lib/gui/dialogs/settings_dialog.py @@ -200,7 +200,9 @@ def update_tab_page_colors(self): if util.platform() == "macos" and not util.MAC_OLD: color = Color.from_wxbgr(bg.GetRGB()) factor = util.MAC_LIGHT if color.luminance() > 0.5 else util.MAC_DARK - color.set('lab-d65.lightness', lambda l, f=factor: l + (100.0 * f) - 100.0) + color.set('alpha', 1.0).mix( + 'black' if color.luminance() > 0.5 else 'white', factor, space='srgb', in_place=True + ).set('alpha', 1.0) bg.SetRGB(color.to_wxbgr()) page.SetBackgroundColour(bg) if x == 0 and util.platform() != "linux": diff --git a/rummage/lib/gui/util/__init__.py b/rummage/lib/gui/util/__init__.py index ec22f966..a033dbb0 100644 --- a/rummage/lib/gui/util/__init__.py +++ b/rummage/lib/gui/util/__init__.py @@ -22,18 +22,8 @@ # High Sierra and below MAC_OLD = _MAC_VER < (10, 14) -MAC_TAHOE = _MAC_VER >= (26, 0) - -if MAC_TAHOE: - MAC_LIGHT = 0.98 - MAC_DARK = 1.09 -elif WX_420: - MAC_LIGHT = 1.023 - MAC_DARK = 1.043 -else: - MAC_LIGHT = 0.99 - MAC_DARK = 1.085 - +MAC_LIGHT = 0.025 +MAC_DARK = 0.075 def mac_ver(): """Get macOS version."""